1.计算机历史博物馆与谷歌合作,正式开源了2012年AlexNet的原版代码,包括注释。
2.AlexNet在2012年ImageNet竞赛中一举成名,将Top-5错误率降低到15.3%。
3.由于大数据和GPU计算能力的提升,AlexNet的成功成为深度学习浪潮的引爆点。
4.此次开源的代码并非PyTorch或TensorFlow版本,而是2012年Geoffrey Hinton团队使用的原始版本。
5.开发者可通过GitHub地址查看AlexNet源代码,更好地理解现代深度学习的起点。
以上内容由腾讯混元大模型生成,仅供参考
如果你是一名 AI 开发者或深度学习爱好者,那么你一定听说过 AlexNet——这个在 2012 年凭借 ImageNet 竞赛一战成名、直接把计算机视觉能力拔高了一个量级的深度卷积神经网络模型。
而就在最近,计算机历史博物馆(CHM)与谷歌合作,终于正式开源了 AlexNet 的源代码!更令人惊喜的是,这次公开的版本是 2012 年 Hinton 团队亲手编写的原版代码,甚至还保留了当年的注释!
AlexNet 的传奇时刻:改变计算机视觉的 2012 年
时间回到 2012 年,当时 ImageNet 大规模视觉识别挑战赛(ILSVRC)已经举办了两年,业界顶级研究团队都在尝试提升计算机识别图片的能力。然而,之前最好的方法,在 Top-5 错误率上也只能勉强降到 26.2%。
就在大家以为 ImageNet 比赛不会有突破时,多伦多大学的三人小队——Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton,带着他们的 AlexNet 横空出世。这是一个由 5 层卷积层(部分卷积层后跟池化层)和 3 层全连接层组成的深度神经网络,总共有 6000 万个参数、65 万个神经元,并且采用了 GPU 来加速训练。
于是,那年 ImageNet 的比赛结果众所周知:AlexNet 一战成名,直接把 Top-5 错误率降低到了 15.3%,远远甩开第二名的 26.2%,震惊整个学术界。
这一突破,直接引爆了这些年来 AI 领域的深度学习浪潮:要知道在此之前,几乎没有人相信神经网络能在图像识别任务中取得如此惊人的成绩——AlexNet 的成功不仅证明了深度学习的潜力,也彻底改变了计算机视觉领域的研究方向。
在 AlexNet 出现之前,神经网络一度被“打入冷宫”
事实上,虽然 AlexNet 在 2012 年才崭露头角,但深度学习的历史可以追溯到更早的时期。
早在 1950 年代末,研究人员就开始尝试构建简单的神经网络,但由于计算能力和数据量的限制,这些早期模型并没有取得太大的成功。
到了 1970 年代,神经网络甚至一度被 AI 研究者们“打入冷宫”。
直到 1980 年代,Geoffrey Hinton 及其同事 David Rumelhart、Ronald Williams 重新发现了反向传播算法,才让神经网络研究重新焕发生机。反向传播是深度学习的核心算法之一,它通过调整神经网络中每一层的权重,使得模型能够逐步优化自己的表现。
可尽管如此,神经网络还是在很长一段时间内仍无法超越其他机器学习算法——直到两个关键因素的出现:大数据和 GPU。
总体而言,AlexNet 的成功离不开两个重要的外部条件:ImageNet 数据集和 GPU 计算能力。
ImageNet 是由斯坦福大学教授李飞飞发起的一个项目,目标是构建一个涵盖英语所有名词的大规模图像数据集,并利用 WordNet 词汇数据库进行分类。由于任务量巨大,他们最终通过亚马逊的 Mechanical Turk 平台将标注任务众包给了零工工人。到了 2009 年,ImageNet 数据集正式建成,规模远超以往的任何图像数据集。李飞飞随后发起 ImageNet 竞赛,希望借此推动计算机视觉研究。
与此同时,GPU 计算能力的飞速提升也为神经网络训练创造了条件。NVIDIA 早在 2000 年代便致力于将 GPU 泛用化,特别是 2007 年发布的 CUDA 编程系统,更是让 GPU 能被广泛应用于科学计算和机器学习领域。
外部条件已具备,于是 2011 年,Ilya Sutskever 说服了擅长 GPU 编程的 Alex Krizhevsky,让他尝试用卷积神经网络来完成 ImageNet 的挑战(此前,Alex Krizhevsky 已为 CIFAR-10 数据集编写了一个名为 cuda-convnet 的 CUDA 代码,将其扩展为支持多 GPU 的版本,并在 ImageNet 上进行了训练)。
据悉,Alex Krizhevsky 在开发 AlexNet 时,甚至还是在自己的卧室里用两台 NVIDIA 显卡完成了模型训练——经过一年的不断调整和优化,AlexNet 终于在 2012 年的 ImageNet 竞赛中一鸣惊人。
随后,Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 发表了论文《使用深度卷积神经网络进行 ImageNet 分类》,详细介绍了他们的方法。后来,这篇论文也成为了深度学习领域的经典之作:根据 Google Scholar 数据显示,AlexNet 相关论文的被引次数已超过 17 万。
五年努力,原版 AlexNet 代码终于开源
AlexNet 不仅在学术界掀起了风暴,也吸引了科技巨头的关注。
2013 年,Geoffrey Hinton 带着 Alex Krizhevsky 和 Ilya Sutskever 创立了一家名为 DNNresearch 的公司,结果很快就被谷歌收购,三人也随即加入 Google Brain,继续推动深度学习的发展。而 AlexNet 的代码,也从此成为谷歌的资产。
2017 年,计算机历史博物馆的软件历史中心策展人 Hansen Hsu 开始试图联系 Alex Krizhevsky,希望让 AlexNet 代码开源。然而,由于 DNNresearch 早已归属谷歌,AlexNet 代码的开源许可问题十分复杂。Hansen Hsu 经过多方联系,最终找到了当时还在谷歌工作的 Geoffrey Hinton,而 Hinton 也很支持这个想法,并直接把 Hsu 介绍给谷歌的相关负责人 David Beiber。
这场谈判和准备工作一共持续了五年,期间 CHM 与谷歌共同筛选了 AlexNet 的多个版本,最终确认并发布 2012 版的原始代码,并且上传到了 CHM 官方 GitHub 仓库。此前,GitHub 上已有多个 AlexNet 相关代码库,但大多是基于论文重现的版本,而非原始代码。
值得一提的是,这次 AlexNet 开源的代码,并不是后来人们熟悉的 PyTorch 或 TensorFlow 版本,而是 2012 年 Geoffrey Hinton 团队在 ImageNet 竞赛中使用的原始版本,采用了早期的 CUDA 和 C++ 代码,并带有大量开发者注释,完整保留了当年团队的开发思路。
换句话说:这段代码的开源,让研究者、开发者甚至 AI 历史爱好者,亲自体验当年 AlexNet 是如何训练和推理的,能让人们更好地理解现代深度学习的起点。
最后,感兴趣的开发者可通过以下地址前往查看 AlexNet 源码:
GitHub 地址:https://github.com/computerhistory/AlexNet-Source-Code
GitCode 地址:https://gitcode.com/gh_mirrors/al/AlexNet-Source-Code
参考链接:
https://computerhistory.org/blog/chm-releases-alexnet-source-code/
https://www.i-programmer.info/news/105-artificial-intelligence/17914-alexnet-source-code-now-open-source.html