AdCo
AdCo copied to clipboard
关于memory bank大小的一个问题
在你们的talk里,07:00 展示了一张MOCO在batchsize=2048时的比较图。这张图你们是在什么seeting下做出来的?在MOCO V1的原文中,大memory bank是有性能增益的
您好,感谢您对我们工作的兴趣!我们直接用的moco原文的代码moco-v2 setting下跑的:https://github.com/facebookresearch/moco。您直接调整memory bank size跑就可以。这个我和鑫磊也聊过,他说他那边也是相似的发现,训练时间越长所需的memory bank size实际上就越不需要那么大。
您好,感谢您对我们工作的兴趣!我们直接用的moco原文的代码moco-v2 setting下跑的:https://github.com/facebookresearch/moco。您直接调整memory bank size跑就可以。这个我和鑫磊也聊过,他说他那边也是相似的发现,训练时间越长所需的memory bank size实际上就越不需要那么大。
感谢解答,非常有insight的一个结论!以前我还真没有思考过这种可能性。 在infoNCE的理论里,大batch意味着对互信息的估计更加准确。2048的memory bank大小肯定是不足以准确估计128维的连续数据的互信息的。个人认为这也是对比学习的理论基石(互信息)不那么可靠的一个证据。
大batch确实是更好,但是这里BN的作用很关键,不是sync BN几乎很难有这个结论,可以参考我们的工作caco: https://github.com/maple-research-lab/CaCo