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