《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > Nature盤點:從Fortran、arXiv到AlexNet,這些代碼改變了科學界

Nature盤點:從Fortran、arXiv到AlexNet,這些代碼改變了科學界

2021-01-21
來源:機器之心
關鍵詞: Fortran arXiv AlexNet

  從 Fortran 編譯器到 arXiv 預印本庫、AlexNet,這些計算機代碼和平臺改變了科學界。

  2019 年,「事件視界望遠鏡」團隊拍下了第一張黑洞照片。這張照片并非傳統意義上的照片,而是計算得來的——將美國、墨西哥、智利、西班牙和南極多臺射電望遠鏡捕捉到的數據進行數學轉換。該團隊公開了所用代碼,使科學社區可以看到,并基于此做進一步的探索。

  而這逐漸成為一種普遍模式。從天文學到動物學,每一個偉大的現代科學發現背后都有計算機的身影。斯坦福大學計算生物學家、2013 年諾貝爾化學獎獲得主 Michael Levitt 表示,現在的筆記本電腦在內存和時鐘速度方面是 1967 年其實驗室計算機的一萬倍。「今天,我們擁有大量算力。但問題是,這仍然需要人類的思考。」

  如果沒有能夠處理研究問題的軟件以及知道如何編寫和使用軟件的研究人員,計算機再強大也是無用。「現在的研究與軟件緊密相關,軟件已經滲透到科研的方方面面。」軟件可持續性研究所(Software Sustainability Institute)負責人 Neil Chue Hong 如是說。

  最近,Nature 上的一篇文章試圖揭示科學發現背后的重要代碼,正是它們在過去幾十年中改變了科研領域。這篇文章介紹了對科學界帶來重大影響的十個軟件工具,其中就包括與人工智能領域密切相關的 Fortran 編譯器、arXiv、IPython Notebook、AlexNet 等。

  1.png

  語言先驅:Fortran 編譯器(1957)

  首批出現的現代計算機對用戶并不友好。編程實際上是由手工完成的,通過電線連接一排排電路。后來的機器語言和匯編語言允許用戶使用代碼進行計算機編程,但這兩種語言依然要求使用者對計算機架構有深入了解,導致很多科學家無法使用它們。

  20 世紀 50 年代,隨著符號語言的發展,尤其是「公式翻譯」語言 Fortran 的出現,上述境況發生了改變。Fortran 語言由 IBM 的約翰 · 巴科斯(John Backus)團隊開發。借助 Fortran,用戶可以使用 x = 3 + 5 等人類可讀的指令進行計算機編程,之后編譯器將這類指令轉化為快速高效的機器碼。

  2.png

  這臺使用 Fortran 編譯器編程的 CDC 3600 計算機于 1963 年移送至美國國家大氣研究中心。(圖源:美國大氣科學研究大學聯盟 / 科學圖片庫。)

  在早期,編程人員使用穿孔卡片(punch card)輸入代碼,復雜的模擬可能需要數萬張穿孔卡片。不過,Fortran 使得并非計算機科學家的研究者也能夠進行編程。普林斯頓大學氣候學家 Syukuro Manabe 表示:「我們第一次靠自己進行編程。」他和同事使用 Fortran 語言開發了首批成功的氣候模型之一。

  60 多年過去了,Fortran 依然廣泛應用于氣候建模、流體動力學、計算機化學,以及其他涉及復雜線性代數并需要強大計算機快速處理數字的學科。Fortran 代碼運行速度很快,仍然有很多編程人員知道如何寫 Fortran。古老的 Fortran 代碼庫依然活躍在世界各地的實驗室和超級計算機上。

  信號處理器:快速傅里葉變換(1965)

  當天文學家掃描天空時,他們捕捉到了隨時間變化的復雜信號的雜音。為了理解這些無線電波的性質,他們需要觀察這些信號作為頻率函數的樣子。一種被稱為傅里葉變換(Fourier transform)的數學過程允許科學家實現這一點。但問題在于傅里葉變換并不高效,對大小為 N 的數據集它需要進行 N 次運算。

  1965 年,美國數學家 James Cooley 和 John Tukey 開發了一種加速傅里葉變換過程的方法。借助遞歸(recursion)這種「分而治之」的編程方法(其中算法可以實現重復地再運用),快速傅里葉變換(fast Fourier transform, FFT)將計算傅里葉變換問題簡化為 N log_2(N) 個步驟。速度也隨著 N 的增加而提升。對于 1000 個點,速度提升約 100 倍;對于 100 萬個點,速度提升約 5 萬倍。

  牛津大學數學家 Nick Trefethen 表示,FFT 的發現實際上是一種「再發現」,因為德國數學家卡爾 · 弗里德里希 · 高斯在 1805 年就完成了該發現,不過從未發表。但是,James Cooley 和 John Tukey 開啟了 FFT 在數字信號處理、圖像分析和結構生物學等領域中的應用。Trefethen 認為 FFT「是應用數學與工程領域偉大的發現之一。」FFT 已經在代碼中實現了很多次,其中一種流行的變體是 FFTW(「西方最快的傅里葉變換」)。

  3.png

  默奇森天文望遠鏡,使用快速傅里葉變換來收集數據。

  勞倫斯伯克利國家實驗室(Lawrence Berkeley National Laboratory)分子生物物理學和綜合生物成像部門主任 Paul Adams 回憶稱,當他在 1995 年改進細菌蛋白 GroEL 的結構時,即使使用 FFT 和一臺超級計算機,也需要「很多很多個小時,甚至是幾天」的計算。但要沒有 FFT,很難想象這件事要怎么做,花的時間將難以估量。

  線性代數運算標準接口:BLAS(1979)

  科學計算通常涉及使用向量和矩陣的數學運算,這些運算相對簡單,但計算量大。20 世紀 70 年代,學界并沒有出現一套普遍認可的執行此類運算的工具。因此,科研工作者不得不花費時間設計高效的代碼來做基礎的數學運算,導致無法專注于科學問題本身。

  編程世界需要一個標準。1979 年,基礎線性代數子程序庫(Basic Linear Algebra Subprograms, BLAS)應運而生。直到 1990 年,該標準仍然在發展變化,定義了數十條涵蓋向量和矩陣運算的基本程序。

  田納西州大學計算機科學家、BLAS 開發團隊成員之一 Jack Dongarra 表示,BLAS 實際上將矩陣和向量運算簡化成了像加減法一樣的基礎計算單元。

  4.png

  Cray-1 超級計算機。(圖源:科學歷史圖像 / Alamy)

  德州大學奧斯汀分校計算機科學家 Robert van de Geijn 表示:「BLAS 可能是為科學計算而定義的最重要接口。」除了為常用函數提供標準名稱之外,研究者可以確保基于 BLAS 的代碼能夠以相同的方式在任何計算機上運行。該標準也使得計算機制造商能夠優化 BLAS 實現,以實現硬件上的快速運行。

  40 多年來,BLAS 代表了科學計算堆棧的核心,使得科學軟件持續發展。喬治華盛頓大學機械與航空航天工程師 Lorena Barba 將 BLAS 稱為「五層代碼內的核心機制」。

  預印本平臺:arXiv.org(1991)

  20 世紀 80 年代末,高能物理領域的研究者往往會把自己提交的論文郵寄給同行審閱,這是一種禮儀,但只郵寄給少數幾個人。「那些處于食物鏈底端的人依賴于頂端人的施舍,這往往會把非精英機構中有抱負的研究者完全排除在特權圈之外,」物理學家 Paul Ginsparg 曾在 2011 年的一篇文章中寫道。

  1991 年,洛斯阿拉莫斯國家實驗室(Los Alamos National Laboratory)的 Ginsparg 寫了一個電子郵件自動回復器,以建立公平的競爭環境。郵件訂閱者每天都會收到一份預印本列表,每份論文都帶有標識符。如此一來,世界各地的用戶都可以通過一封電子郵件提交或檢索來自上述實驗室計算機系統的論文。

  Ginsparg 原本計劃將文章保留三個月,將范圍限制在高能物理社區,但他的同事勸他去掉了這些限制。「就是在那一刻,它從布告欄轉變成了檔案庫,」Ginsparg 表示。在這之后,大批論文開始涌入,其學科之廣遠遠超出了 Ginsparg 的預期。1993 年,Ginsparg 把這個系統移植到互聯網上。1998 年,他正式將該系統命名為 arXiv.org。

  如今,30 歲的 arXiv 收錄了 180 萬份預印本文章,且全部免費閱讀,其每月論文提交量超過 15000 份,每月下載量高達 3000 萬次。「不難看出 arXiv 為何如此受歡迎,」Nature Photonics 的編輯曾表示,「該系統為研究者提供了一種快捷、方便的科研方式,可以告訴大家你在做什么、什么時間做的,省去了傳統期刊同行評審的繁瑣。」

  5.png

  該網站的成功還對生物學、醫學、社會學等其他學科類似存儲庫的建立起到了助推作用,成千上萬份新冠病毒相關研究預印本的發布就是一個例證。

  數據探索器:IPython Notebook (2011)

  Fernando Pérez 在 2001 年決定「探尋拖延癥」,當時他是一名研究生,決定采用 Python 的核心組件。

  Python 是一種解釋型語言,意味著程序會一行一行地執行。編程人員可以使用一種被稱為「讀取 - 求值 - 輸出循環(REPL)」的計算型調用和響應(call-and-response)工具,他們可以鍵入代碼,然后由解釋器執行代碼。REPL 允許快速探索和迭代,但 Pérez 指出 Python 并不是為科學構建的。例如,它不允許用戶輕松地預加載代碼模塊或保持數據可視化的打開狀態。因此 Pérez 創建了自己的版本。

  2001 年 12 月,Pérez 發布了交互式 Python 解釋器 IPython,它共有 259 行代碼。10 年后,Pérez 和物理學家 Brian Granger、數學家 Evan Patterson 合作,將該工具遷移到 Web 瀏覽器,創建了 IPython Notebook,掀起了一場數據科學的革命。

  和其他計算型 notebook 一樣,IPython Notebook 將代碼、結果、圖形和文本組合到了單個文檔中。但與其他此類型項目不同的是,IPython Notebook 是開源的,歡迎廣大社區開發者為其發展做出貢獻,并且支持 Python 這種科學家常用的語言。2014 年,IPython 演變成 Project Jupyter,支持約 100 種語言,并允許用戶像在自己計算機上一樣輕松地在遠程超級計算機上探索數據。

  Nature 在 2018 年指出:「對數據科學家而言,Jupyter 已經成為一種實際標準」。那時,GitHub 上已經有 250 萬個 Jupyter notebook,如今已有近一千萬個,其中包括 2016 年發現引力波和 2019 年黑洞成像的記錄。Pérez 表示:「我們能為這些項目做出一點貢獻也是非常有意義的」。

  快速學習器:AlexNet(2012)

  人工智能(AI)可分為兩類,一類使用編碼規則,另一類讓計算機通過模擬大腦的神經結構來「學習」。多倫多大學計算機科學家、圖靈獎獲得者 Geoffrey Hinton 表示:「幾十年來,人工智能研究者一直將第二種研究方法視為『荒謬』」。2012 年,Hinton 的研究生 Alex Krizhevsky 和 Ilya Sutskever 證明了事實并非如此。

  在當年的 ImageNet 的年度競賽上,研究者們被要求在包含 100 萬張日常物品圖像的數據庫上訓練 AI,然后在另一個圖像集上測試算法。Hinton 表示:「在當時,最佳算法會在 1/4 的圖像上出現分類錯誤」。Krizhevsky 和 Sutskever 開發的 AlexNet 是一種基于神經網絡的深度學習算法,該算法將誤差率降至 16%。Hinton 表示:「我們幾乎將誤差率降低了一半」。

  Hinton 認為,該團隊在 2012 年的成功反映出足夠大的訓練數據集、出色的編程和圖形處理單元(最初為了提高計算機視頻性能的處理器)新力量的結合。他表示:「突然之間,我們就能夠將該算法的速度提高 30 倍,或者說可以學習 30 倍的數據」。

  Hinton 表示真正的算法突破實際上發生在 3 年前。當時他的實驗室創建了一個比幾十年來不斷完善的傳統 AI 更能準確識別語音的神經網絡。雖然準確率只稍微提升了一點,但已值得被記住。

  AlexNet 及相關研究的成功帶來了實驗室、臨床等多個領域深度學習的興起。它讓手機能夠理解語音查詢,也讓圖像分析工具能夠輕松地從顯微照片中挑選出細胞。這就是 AlexNet 在改變科學、改變世界的工具中占有一席之地的原因。

  除了以上這些項目之外,入選該榜單的代碼還包括生物數據庫、大氣環流模型、圖像處理軟件 NIH Image / ImageJ / Fiji 和生物大分子序列比對搜索工具 BLAST。感興趣的同學可以去閱讀原文。



本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 男女男精品视频网站在线观看 | 成人福利网站在线看视频 | 一级做a爱片特黄在线观看免费看 | 噜噜噜狠狠夜夜躁 | 国产青青草 | 男人的私人影院 | 国产精品亚洲片在线牛牛影视 | 日韩免费三级 | 中文字幕精品1在线 | www.黄在线 | 99网站在线观看 | 黄色高清视频 | 波多野结衣一区二区三区 | www成人免费视频 | 两性午夜欧美高清做性 | 夜夜操美女 | 曰本一区二区三区 | 精品一区二区三区视频在线观看免 | 狠狠色丁香久久婷婷综合五月 | va亚洲va欧美va国产综合 | 香蕉视频久久 | 中文精品久久久久国产网站 | 五月天婷婷视频 | 日韩欧美一区二区三区 | 国产成人啪精品视频免费软件 | 日韩成人毛片高清视频免费看 | 在线观看国产一区亚洲bd | 狠狠色狠狠色综合日日五 | 成人性生交大片免费看午夜a | 亚洲影院在线播放 | 亚洲成成品网站有线 | xxx中国毛茸茸 | 国产第一页浮力影院-欢迎你 | 在线a视频 | 337p日本大胆欧洲色噜噜高清 | 亚洲精品mv在线观看 | 极品美女丝袜被的网站 | 国产综合成人观看在线 | 日日做夜夜爽夜夜爽 | 天天狠天天透天天伊人 | 婷婷狠狠干|