wang3702/EnAET

AdCo training

Closed this issue · 1 comments

您好,我在复现您另一篇文章AdCo时发现训练不收敛。目前的操作是:
1、组建batch时,每个id选两张图片;
2、同一batch分两次前向输入backbone,获得特征;
3、batch特征和neg feats算负样本间相似度,同一个id内的两张样本算正样本相似度,然后concat在一起,label为0,用logit softmax算loss;
4、backbone的loss用对应的t计算,且只更新backbone参数,neg feats只更新neg feats,因为neg feat是maxmize,所以loss乘以了-1;
5、上述optimizer是交替优化。
还请帮忙看看我的理解是不是对的哈。

首先,感谢你对我工作的兴趣。但是希望不要在我的这个工作的repo下给另一个工作的comment,我很反感这种行为。我们的代码最近就会放出,欢迎到时候复现:https://github.com/maple-research-lab/AdCo.
1 针对你的2,我需要指出有两个backbone,一个是momentum target encoder,另一个是query encoder。
2 对于你的4,需要指出,这两个loss不是简单地正负关系,他们的temperature是不同的,所以两个loss不存在loss2=-loss1的关系。
后续任何问题欢迎直接发我邮件,我将关闭这个issue。