Torch.manual_seed(3407) Is All You Need
三个要点
✔️ 模型的准确性和用于初始化模型的MANUAL SEED的选择
✔️ 调查是否有任何种子能产生明显更好的结果
✔️ 使用预训练模型与选择种子引起的变异性之间的关系
Torch.manual_seed(3407) is all you need: On the influence of random seeds in deep learning architectures for computer vision
written by David Picard
(Submitted on 16 Sep 2021)
Comments: Published on arxiv.
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的 。
简介
深度学习模型对模型的初始状态很敏感。在相同的数据和相同的训练程序上训练的相同架构,但初始状态不同,将产生两个不同的最终模型,这可能在性能上有可衡量的差异。但是,与另一个初始状态(人工种子)相比,一个 "幸运的 "初始状态(人工种子)能产生多大的改进,是否有一些因素可以减轻人工种子的选择所造成的变异性?在本文中,我们将尝试回答这些问题。
意义和方法
你们从定期出版物中知道,我们在建筑设计和学习方面正在逐步取得进展。如果一个特定的种子确实比另一个种子产生了明显更好的结果,那么研究人员应该用多个种子进行实验来验证他们的工作。该方法就像在精度测试中改变种子并评估结果一样简单。该表总结了所进行的实验。
结果
收敛的不稳定性
首先,我们研究了CIFAR-10中500个不同种子的验证准确性分布。
左图显示了准确度随历时数的变化:验证准确度在大约25个历时后达到饱和,但用各种种子训练的模型不再收敛于一条曲线,即使它已经训练到40个历时。右图是最终验证准确性的直方图/密度图。曲线的尖锐中心表明,只要付出一些努力,在尝试了几个不同的SEED之后,选择一个最终的模型就有可能代表该模型的能力。然而,90.5%和91%之间的密度仍然相当高,所以在这种情况下,随机选择种子很容易导致性能下降(或增加)约0.5%。
黑天鹅调查
接下来,我们检查10000个CIFAR-10实验的结果,看看是否有一个MANUAL SEED能导致快速更好(或更差)的结果。结果显示,最小和最大精度值分别为89.01和90.83,差值为1.82%。这样的差异在今天被认为是很重要的,因为准确性是如此重要,以至于在许多情况下,有必要发表一篇新的论文。
当然,如果不考虑相当部分的播种,就不可能获得极高或极低的数值。另一方面,从10000多个样本中得到的两个极端之间的差异可能要大得多。
大型数据集
我们研究了是否可以通过使用预先训练好的模型来减少由种子的选择引起的随机性。结果显示,标准偏差约为0.1%,最小和最大精度之差约为0.5%。最小和最大精度之间的差异约为0.5%。这比CIFAR-10的情况要小得多,但我们必须考虑到这样一个事实,即除了最后一个线性层之外,所有其他层在所有模型中都有相同的权重。
然而,由于样本量很小,只有50个,这一结果的有效性值得怀疑。另外,50个样本的分布并不意味着更大的样本就不会导致超过1%的差异。尽管如此,这个0.5%的差异也表明,深度学习在深度学习的世界里仍然被认为是重要的。
摘要
很明显,手册种子的选择是很重要的。深度学习的研究正在迅速发展,研究人员正在急于发表他们的工作。每年向主要计算机视觉会议提交的文件超过10000份。当然,提交的模型是不一样的,但有可能大多数模型都没有做很多努力来确保他们的结果不是由于幸运的设置。
为了解决这些问题,研究界必须通过改变播种(可能还包括分割数据集)和报告结果,纳入某种形式的标准随机性研究。 在未来,通过增加样本量和使用其他数据集和模型架构对模型进行更长时间的训练,可以获得进一步的见解。
与本文相关的类别