Open ZHAIXINGZHAIYUE opened 3 years ago
您好,非常感谢您的回复。我有一些另外的疑问。 如果我训练的时候,随机选取不把训练集分成M部分。只是组Batch 的时候,要求每一类必须包含K个样本,去迭代训练。分类层的权重也用Batch中每类的平均特征更新。这和您论文中的方法是一样的吧?
我想是可以的。不过可能您需要注意意见事情。就是假设第N个人,第t个iteration的时候label 是N,然后把N列(anchor)的权重更新成了第N个人的特征质心。在第t+1个iteration的时候,把第N个人的label是M,然后把第M列(anchor)的权重也更新成了N人的质心。这样M和N就会冲突。这个是需要避免的。在我们的文章中,我们是通过分组+re-grouping的具体策略来解决呢~
能否提供一份训练日志以做参考?
当然可以。不过我这边并没有注意训练log的管理,所以我能确定的是提供给你的是resnet101, virutan-fc的neurons是1000的版本。但具体他是用centroid作参数,还是MLP之后的加权平均值作参数的log了。 不过日志也就仅供参考吧。因为我自己觉得在人脸识别中,learning curve可以很好的告诉我们训练是否收敛。但收敛后性能好或者不好,无论是loss或者所谓的accuracy的参考意义都非常有限呢。
我在这里没有找到可以提供附件的方法,所以就直接给你一个下载链接吧。如果有什么问题,欢迎一起讨论 https://jinzhiyong.oss-cn-hangzhou.aliyuncs.com/pengyuli/tmp/resnet101_1604901611.700994.log?OSSAccessKeyId=LTAIYI4WjiAgqyrx&Expires=1662917816&Signature=XPrUjxgTrZ6tMqBYw4UidgHUDQU%3D
您好,该方法不使用预训练模型是否可以?我按照论文中的描述进行了实现,不使用预训练模型,发现模型收敛到一定程度,就无法继续收敛了,并且在测试集上的表现很差。
我们的正文中有写过呢。如果不用multi-task的方法,直接scratch开始训练性能下降的还是比较多的,这个也称为了我们的future work撒。不过如果是用multi-task的方法是可以从scratch开始训练,且收敛的。我们用了标准的FC训练CASIA-WebFace,用了virtual-FC训练了MS,都是收敛的来着。 我刨出来一份log,供您参考哈。下载链接如下: https://jinzhiyong.oss-cn-hangzhou.aliyuncs.com/pengyuli/tmp/resnet101_1600324782.704288.log?OSSAccessKeyId=LTAIYI4WjiAgqyrx&Expires=1627646591&Signature=oOZQ%2BBAoUPV6xjJAbNx8SneMmyg%3D
非常感性您对本工作的兴趣,以及问题。其实我们原文中有说到没有对比的原因,概括来讲主要有两点: