没想到,自 2012 年 AlexNet 开启的深度学习革命已经过去了 12 年。近日,知名 AI 研究科学家 Andrej Karpathy 的一条帖子,让参与这波深度学习变革的许多大佬们陷入了回忆杀。从图灵奖得主 Yann LeCun 到 GAN 之父 Ian Goodfellow,纷纷忆往昔。到目前为止,该帖子已经有 63 万 + 的浏览量。![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106331633853.png)
在帖子中,Karpathy 提到:有一个有趣的事实是,很多人可能听说过 2012 年 ImageNet/AlexNet 的时刻,以及它开启的深度学习革命。不过,可能很少有人知道,支持这次竞赛获胜作品的代码是由 Alex Krizhevsky 从头开始,用 CUDA/C++ 手工编写的。这个代码仓库叫做 cuda-convnet, 当时托管在 Google Code 上:![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106332046079.png)
https://code.google.com/archive/p/cuda-convnet/Karpathy 想着 Google Code 是不是已经关闭了 (?),但他在 GitHub 上找到了一些其他开发者基于原始代码创建的新版本,比如:![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106332499707.png)
https://github.com/ulrichstern/cuda-convnet“AlexNet 是最早将 CUDA 用于深度学习的著名例子之一。”Karpathy 回忆说,正是因为使用了 CUDA 和 GPU,AlexNet 才能处理如此大规模的数据 (ImageNet),并在图像识别任务上取得如此出色的表现。“AlexNet 不仅仅是简单地用了 GPU,还是一个多 GPU 系统。比如 AlexNet 使用了一种叫做模型并行的技术,将卷积运算分成两部分,分别运行在两个 GPU 上。”Karpathy 提醒大家,你要知道那可是 2012 年啊!“在 2012 年 (大约 12 年前),大多数深度学习研究都是在 Matlab 中进行,跑在 CPU 上,在玩具级别的数据集上不断迭代各种学习算法、网络架构和优化思路。” 他写道。但 AlexNet 的作者 Alex、Ilya 和 Geoff 却做了一件与当时的主流研究风格完全不同的事情 ——“不再纠结于算法细节,只需要拿一个相对标准的卷积神经网络 (ConvNet),把它做得非常大,在一个大规模的数据集 (ImageNet) 上训练它,然后用 CUDA/C++ 把整个东西实现出来。”Alex Krizhevsky 直接使用 CUDA 和 C++ 编写了所有的代码,包括卷积、池化等深度学习中的基本操作。这种做法非常创新也很有挑战性,需要程序员对算法、硬件架构、编程语言等有深入理解。从底层开始的编程方式复杂而繁琐,但可以最大限度地优化性能,充分发挥硬件计算能力,也正是这种回归根本的做法为深度学习注入了一股强大动力,构成深度学习历史上的转折点。有意思的是,这一段描述勾起不少人的回忆,大家纷纷考古 2012 年之前自己使用什么工具实现深度学习项目。纽约大学计算机科学教授 Alfredo Canziani 当时用的是 Torch,“从未听说有人使用 Matlab 进行深度学习研究......” 。![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106332757352.png)
对此 Yann lecun 表示同意,2012 年大多数重要的深度学习都是用 Torch 和 Theano 完成的。![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106332995233.png)
Karpathy 有不同看法,他接话说,大多数项目都是在用 Matlab ,自己从未使用过 Theano,2013-2014 年使用过 Torch。![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106333290807.png)
一部のネチズンは、ヒントンも Matlab を使用していることを明らかにしました。 ![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106334175813.png)
当時、Matlab を使用している人はあまりいなかったようです: ![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106334449793.png)
有名な GAN の父である Ian Goodfellow も現れ、Yoshua の研究室は当時 Theano を使用していたと言いました。また、ImageNet のリリース前に、Alex の cuda-convnet 用に Theano バンドルを作成したとも述べました。 ![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106334871013.png)
Google DeepMind ディレクターの Douglas Eck 氏が登場し、Matlab ではなく C++ を使用し、その後 Python/Theano に切り替えたと述べました。 ![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106335364675.png)
ニューヨーク大学教授 Kyunghyun Cho 氏は、2010 年にまだ大西洋の反対側にいたとき、Hannes Schulz らが作成した CUV ライブラリを使用していて、それが Matlab から Python への切り替えに役立ったと述べました。 ![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106335659377.png)
Lamini の共同創設者である Gregory Diamos 氏は、彼を確信させた論文は Andrew Ng 氏らの論文「COTS HPC システムによる深層学習」であると述べました。 ![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106335977267.png)
この論文は、Frankenstein CUDA クラスターが 10,000 CPU の MapReduce クラスターを上回ることができることを示しています。 ![12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场](https://img.php.cn/upload/article/000/000/000/172106336528085.png)
論文リンク: https://proceedings.mlr.press/v28/coates13.pdfしかし、AlexNet の大成功は孤立した出来事ではなく、AlexNet の開発傾向の縮図でした。当時のフィールド全体。一部の研究者は、ディープラーニングにはより大規模で強力なコンピューティング能力が必要であり、GPU が有望な方向性であることに気づいています。 Karpathy 氏は次のように書いています。「もちろん、AlexNet が登場する前から、深層学習の分野にはすでに大規模化の兆しがいくつかありました。たとえば、Matlab は、スタンフォード大学の Andrew Ng の研究室で最初に多くの研究を開始しました。 GPU の使用に向けて動いています。大規模な深層学習に向けた他の取り組みも並行して行われています。」考古学の終わりに、Karpathy 氏は次のように述べました。 AlexNet の時代と cuda-convnet の時代に戻ったような気がします。「」現在のアプローチは、当時の AlexNet のアプローチに似ています。 AlexNet は、より高いパフォーマンスとより大きなスケールを追求するために、Matlab から CUDA/C++ に切り替えました。高レベルのフレームワークが利用できるようになりましたが、極端なパフォーマンスを簡単に達成できない場合は、やはり根本に戻って自分で CUDA/C++ コードを記述する必要があります。 ところで当時、国内の研究者は何を使っていたのでしょうか?ディスカッション用にメッセージを残していただくことを歓迎します。
以上是12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场的详细内容。更多信息请关注PHP中文网其他相关文章!