13年后,AlexNet源代碼終于公開:帶注釋的原版
想知道 AlexNet 2012 年的原始代碼長什么樣嗎?現(xiàn)在,機會來了!剛剛,谷歌首席科學家 Jeff Dean 宣布,他們與計算機歷史博物館(CHM)合作,共同發(fā)布了 AlexNet 的源代碼,并將長期保存這些代碼。
開放后的代碼庫如下:
GitHub 鏈接:https://github.com/computerhistory/AlexNet-Source-Code
AlexNet 是一個人工神經(jīng)網(wǎng)絡,用于識別照片內(nèi)容。它由當時的多倫多大學研究生 Alex Krizhevsky 和 Ilya Sutskever 以及他們的導師 Geoffrey Hinton 于 2012 年開發(fā)。
在計算機歷史上,AlexNet 的出現(xiàn)有著劃時代的意義。在它出現(xiàn)之前,很少有機器學習研究人員使用神經(jīng)網(wǎng)絡。但在 AlexNet 出現(xiàn)之后,幾乎所有研究人員都會使用神經(jīng)網(wǎng)絡。從 2012 年到 2022 年,神經(jīng)網(wǎng)絡不斷取得進步,包括合成可信的人類聲音、擊敗圍棋冠軍選手、模擬人類語言并生成藝術(shù)作品…… 最終,OpenAI 于 2022 年發(fā)布 ChatGPT…… 它是這一系列故事的重要起點。
「谷歌很高興將具有開創(chuàng)性意義的 AlexNet 項目的源代碼貢獻給計算機歷史博物館,」Jeff Dean 說,「這段代碼是 Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 撰寫的標志性論文《ImageNet Classification with Deep Convolutional Neural Networks》的基礎,該論文革新了計算機視覺領(lǐng)域,是有史以來被引用次數(shù)最多的論文之一。」
Google Scholar 數(shù)據(jù)顯示,AlexNet 相關(guān)論文被引量已經(jīng)超過 17 萬。
除了代碼本身的價值,HuggingFace 聯(lián)合創(chuàng)始人 Thomas Wolf 還發(fā)現(xiàn),代碼中的注釋也非常有啟發(fā)性。他說,「也許真正的歷史記錄是 AlexNet 代碼中每個實驗配置文件末尾的實驗記錄注釋。一個開創(chuàng)性的神經(jīng)網(wǎng)絡正在誕生……」
還有人說,「AlexNet 代碼的發(fā)布對于 AI 愛好者來說是一個寶庫,這是一個向深度學習先驅(qū)學習的絕佳機會」。
AlexNet,人工智能歷史的轉(zhuǎn)折點
在人工智能領(lǐng)域,AlexNet 可謂爆發(fā)的起點。就在本周的英偉達 GTC 大會上,黃仁勛介紹起 AI 的發(fā)展歷程,未來的一頭是智能體、物理世界的 AI,過去的一頭就是 AlexNet。
AI、機器學習、深度學習的概念可以追溯到幾十年前,然而它們在過去的十幾年里才真正流行起來,這可能的確要歸功于 AlexNet。
在 2012 年,來自多倫多大學的 Alex Krizhevsky、Ilya Sutskever、Geoffrey Hinton 等人提出了一個名為「AlexNet」的深度神經(jīng)網(wǎng)絡,贏得了 2012 年大規(guī)模視覺識別挑戰(zhàn)賽 ImageNet 的冠軍。
三位都是 AI 領(lǐng)域里響當當?shù)娜宋铩eoffrey Hinton 被譽為「深度學習之父」,后來獲得了 2018 年的圖靈獎、2024 年的諾貝爾物理學獎;Ilya Sutskever 是 OpenAI 的聯(lián)合創(chuàng)始人及前首席科學家,也是 AlphaGo 論文的眾多作者之一。冠名該模型的 Alex Krizhevsky 也是 CIFAR-10 和 CIFAR-100 數(shù)據(jù)集的創(chuàng)建者,不過他卻逐漸對研究失去了興趣,于 2017 年 9 月離開了谷歌。
在描述當年的 AlexNet 項目時,Geoffrey Hinton 總結(jié)道:「Ilya 認為我們應該做這件事,Alex 讓它成功了,而我獲得了諾貝爾獎。」
當年用于訓練 AlexNet 的家用計算機和 GPU。
在 ImageNet 競賽中,參賽者需要完成一個名叫「object region」的任務,即給定一張包含某目標的圖像和一串目標類別(如飛機、瓶子、貓),每個團隊的實現(xiàn)都需要識別出圖像中的目標屬于哪個類。
在當年的比賽中,AlexNet 的表現(xiàn)頗具顛覆性,團隊首次使用一種名為卷積神經(jīng)網(wǎng)絡(CNN)的深度學習架構(gòu),并充分利用了英偉達 GPU 的能力。由于表現(xiàn)過于驚艷,之后幾年的 ImageNet 挑戰(zhàn)賽冠軍都沿用了 CNN。
AlexNet 的論文被 2012 年的 NeurIPS 大會接收并發(fā)表,起初也受到了一些計算機視覺研究者的質(zhì)疑,但出席會議的 Yann LeCun 宣布這是人工智能發(fā)展的轉(zhuǎn)折點。后來發(fā)生的事情我們也都知道了:在 AlexNet 之前,幾乎沒有一篇領(lǐng)先的計算機視覺論文使用神經(jīng)網(wǎng)絡。在它之后,幾乎所有論文都會使用神經(jīng)網(wǎng)絡。
這是計算機視覺史上的一個關(guān)鍵時刻,也激發(fā)了人們將深度學習應用于其他領(lǐng)域(如自然語言處理、機器人、推薦系統(tǒng))的興趣。
開放源代碼,歷時五年
AlexNet 源代碼順利發(fā)布的故事,還要從五年前說起。
2020 年,CHM 軟件歷史中心館長 Hansen Hsu 聯(lián)系了 Alex Krizhevsky,希望獲得發(fā)布授權(quán)。不過,Alex Krizhevsky 并沒有直接回應,而是將 Hansen Hsu 介紹給了當時還在谷歌工作的 Hinton。因為,在谷歌收購了 Hinton、Sutskever 和 Krizhevsky 創(chuàng)辦的公司 DNNresearch 之后,AlexNet 的知識產(chǎn)權(quán)就歸了谷歌。
之后,Hinton 在 CHM 和谷歌的團隊之間斡旋,推動整件事的進程。雙方花了五年的時間,協(xié)商發(fā)布事宜,以及具體的發(fā)布版本。
事實上,自 2012 年論文發(fā)布后,AlexNet 的源碼已經(jīng)有了多個版本,GitHub 上也有不少名為「AlexNet」的代碼庫,但其中許多并不是原始代碼,而是根據(jù)那篇論文重新創(chuàng)建的。此前,Krizhevsky 開發(fā)的 AlexNet 前身 ——cuda-convnet 也曾作為開源代碼發(fā)布,但它是在較小的 CIFAR-10 數(shù)據(jù)集上訓練的。
CHM 發(fā)布的代碼庫包含了 2012 年贏得 ImageNet 競賽時的原始 AlexNet 源代碼,還包括在 ImageNet 數(shù)據(jù)集上訓練的參數(shù)文件。
感興趣的同學可以前去翻看。