特斯拉AI主管Karpathy新作:用当前深度学习技术复现Lecun33年前手写数字识别论文

作者: Andrej Karpathy

来源: 学术头条

发布日期: 2022-03-16 13:20:00

特斯拉AI主管Andrej Karpathy尝试用当前深度学习技术复现Yann LeCun于1989年发表的手写数字识别论文,探讨了深度学习技术的进展本质。通过使用现代工具如PyTorch,Karpathy在保持数据集和模型测试时间不变的情况下,成功将错误率降低了60%。

Andrej Karpathy,斯坦福大学博士(师从李飞飞)、前OpenAI研究科学家,现为特斯拉人工智能和自动驾驶视觉总监。他认为Yann LeCun等人于1989年发表的论文“反向传播应用于手写邮政编码识别”具有相当重要的历史意义。这篇论文展示了最早用反向传播机制端到端训练的神经网络在现实生活中的应用。

除了其使用的微型数据集和微型神经网络显得落伍之外,在33年后的今天,这篇论文读来仍然十分新颖。因此,Karpathy此次复现这篇论文,一是为了好玩,二是将这次练习作为一个案例来研究深度学习进展的本质。

Karpathy试着尽可能与这篇论文保持一致,并用PyTorch复现了GitHub repo上karpathy/lecun1989-repro中的所有内容。

最初的网络部署在Lisp上,使用Bottou和LeCun 1988年发表的“backpropagation simulator SN(后来命名为Lush)”。这篇论文是用法语写的,所以Karpathy没有更好地理解它,但从结构上来看,你可以使用更高级的API来构造神经网络,就像你今天在PyTorch上搭建各式各样的项目那样。

在训练过程中,Karpathy必须在有7291个示例的训练集上训练23个周期,总共向神经网络传送了167693次数据。最初的网络在SUN-4/260工作站上训练了3天。Karpathy在他的MacBook Air(M1)CPU上运行了他的实现,并在大约90秒的时间内完成了运行(约3000倍的显著提速)。

如果Pytorch支持M1(包括GPU和NPU)的全部功能,加速可能会更显著,但这似乎仍在开发中。

Karpathy只能粗略地再现这些结果,却不能做到完全一样。他怀疑原始数据集已经被遗弃在了时间的长河中。相反,他不得不使用更大的MNIST数据集来模拟它,取其28x28位,通过双线性插值将其缩小到16x16像素,并随机地从中提取合理数量的训练集和测试集样本。

Karpathy尝试了更多的方法(例如权重标准化),但没有得到更好的结果。他还尝试将Visual Transformer(ViT)小型化为“micro-ViT”,大致在参数量和计算量上与之前相符,但无法仿真convnet的性能。当然,在过去的33年里,我们还研究出了许多其他创新,但其中许多创新只适用于更大的模型,并且大多有助于稳定大规模优化。

Karpathy总结了他在2022年时,作为一名时间旅行者考察1989年最先进的深度学习技术时所学到的:33年来宏观层面上没有太大变化。我们仍在建立由神经元层组成的可微神经网络结构,并通过反向传播和随机梯度下降对其进行端到端优化。所有的东西读起来都非常熟悉,只是1989时它们的体量比较小。

按照今天的标准,1989年的数据集就是一个“婴儿”:训练集只有7291个16x16的灰度图像。今天的视觉数据集通常包含数亿张来自网络的高分辨率彩色图像,但仍会增长到几十亿。那时的神经网络也是一个“婴儿”:这个1989年的网络有大约9760个参数、64 K个位址和1 K个激活值。现代(视觉)神经网络的规模通常有几十亿个小参数和O(~1e12)个位址数,而自然语言模型甚至可以达到数万亿级别的参数量。

最先进的分类器花了3天时间在工作站上训练,而现在在Karpathy的无风扇笔记本电脑上训练只需90秒(3000倍原始提速),通过切换到全批量优化并使用GPU,很可能能进一步获得100倍的提升。事实上,Karpathy能够根据现代的技术创新调整模型,比如使用数据增强,更好的损失函数和优化器,以将错误率降低60%,同时保持数据集和模型的测试时间不变。仅通过增大数据集就可以获得适度的收益。

进一步的显著收益可能来自更大的模型,这将需要更多的计算成本和额外的研发,以帮助在不断扩大的规模上稳定训练。

UUID: 02647615-097d-4e3d-9a8a-0bb64c673204

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/学术头条公众号-pdf2txt/学术头条2022年/学术头条_2022-03-16_特斯拉AI主管Karpathy新作:用当前深度学习技术复现Lecun33年前手写数字识别论文.txt

是否为广告: 否

处理费用: 0.0076 元