文章目录
torch.manual seed(3407) is all you need
作者尝试探究不同的随机种子对CV领域模型效果的影响。在CIFAR 10数据集尝试了将近一万个随机种子,包括在大型数据集ImageNet数据集上的一些随机种子后,最后得出结论:尽管不同随机种子之间的效果标准差很小,但是仍然能够发现一些“异常点”,也就是使得模型表现相较于平均值特别好或者特别差的随机种子。
深度学习模型随机种子seed推荐:42、3407、114514
下面是作者在论文中所提及并验证的三个问题:
1.随机种子的不同导致的模型效果分布是怎样的?
模型在25个epoch后准确率就不增加了,说明训练收敛了。然而,准确率的标准差并没有收敛(红色区域并没有变小),说明训练更久不会减少随机种子带来的差异。
模型准确率大多集中在90.5%至90.1%左右,也就是说,如果不去刻意选取特别好或者特别差的随机种子的话,不同随机种子带来的准确率差异普遍为0.5%。
随机种子的不同导致的模型效果分布是怎样的?
不同随机种子的运行效果分布是相当集中的,除非刻意去“调”随机种子,不然最后的结果是能够比较反应模型效果的。
2.是否存在黑天鹅,即产生截然不同结果的种子?
模型训练长比训练时间短效果更好。
10000个随机种子的结果发现,准确率主要位于89.5%至90.5%的区间中。如果不扫描大量的种子,就不可能获得更高或更低的极端值。话虽如此,仅通过扫描前10000个随机种子得到的极值并不能代表该模型正常的结果。
是否存在黑天鹅事件?
存在。确实有种子表现得比较好或者比较差,这是一个比较令人担忧的结果,因为当前深度学习社区内,大多文章都是追求模型效果的,而这种较好的效果可能仅仅是由于随机种子引起的。
3.在更大的数据集上进行预训练是否可以减轻由种子选择引起的变异性?
大数据集的上的结果标准差是比CIFA 10小得多的,根据上表还是能够观察到大约0.5%的结果提升——这仅仅是由于随机种子引起的。
在更大的数据集上进行预训练是否可以减轻由种子选择引起的变异性?
在某些场景下,使用预训练模型和大数据集可能可以降低随机种子带来的影响,然而这个差异对于CV领域里仍然还是很显著。这是个很令人担忧的结果,因为目前预训练模型在CV领域里是广泛使用的,哪怕是用的同一个预训练模型,只要你扫描50个随机种子进行测试,你还是能够得到比较好的结果。
参考
- 随机种子对深度学习影响研究:torch.manual_seed(3407) is all you need?
- torch.manual seed(3407) is all you need: On the influence of random seeds in deep learning architectures for computer vision
😃😃😃