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

2021-02-24 機器之心
從 Fortran 編譯器到 arXiv 預印本庫、AlexNet,這些計算機代碼和平臺改變了科學界。2019 年,「事件視界望遠鏡」團隊拍下了第一張黑洞照片。這張照片並非傳統意義上的照片,而是計算得來的——將美國、墨西哥、智利、西班牙和南極多臺射電望遠鏡捕捉到的數據進行數學轉換。該團隊公開了所用代碼,使科學社區可以看到,並基於此做進一步的探索。而這逐漸成為一種普遍模式。從天文學到動物學,每一個偉大的現代科學發現背後都有計算機的身影。史丹福大學計算生物學家、2013 年諾貝爾化學獎獲得主 Michael Levitt 表示,現在的筆記本電腦在內存和時鐘速度方面是 1967 年其實驗室計算機的一萬倍。「今天,我們擁有大量算力。但問題是,這仍然需要人類的思考。」如果沒有能夠處理研究問題的軟體以及知道如何編寫和使用軟體的研究人員,計算機再強大也是無用。「現在的研究與軟體緊密相關,軟體已經滲透到科研的方方面面。」軟體可持續性研究所(Software Sustainability Institute)負責人 Neil Chue Hong 如是說。最近,Nature 上的一篇文章試圖揭示科學發現背後的重要代碼,正是它們在過去幾十年中改變了科研領域。這篇文章介紹了對科學界帶來重大影響的十個軟體工具,其中就包括與人工智慧領域密切相關的 Fortran 編譯器、arXiv、IPython Notebook、AlexNet 等。

首批出現的現代計算機對用戶並不友好。編程實際上是由手工完成的,通過電線連接一排排電路。後來的機器語言和彙編語言允許用戶使用代碼進行計算機編程,但這兩種語言依然要求使用者對計算機架構有深入了解,導致很多科學家無法使用它們。20 世紀 50 年代,隨著符號語言的發展,尤其是「公式翻譯」語言 Fortran 的出現,上述境況發生了改變。Fortran 語言由 IBM 的約翰 · 巴科斯(John Backus)團隊開發。藉助 Fortran,用戶可以使用 x = 3 + 5 等人類可讀的指令進行計算機編程,之後編譯器將這類指令轉化為快速高效的機器碼。

這臺使用 Fortran 編譯器編程的 CDC 3600 計算機於 1963 年移送至美國國家大氣研究中心。(圖源:美國大氣科學研究大學聯盟 / 科學圖片庫。)在早期,編程人員使用穿孔卡片(punch card)輸入代碼,複雜的模擬可能需要數萬張穿孔卡片。不過,Fortran 使得並非計算機科學家的研究者也能夠進行編程。普林斯頓大學氣候學家 Syukuro Manabe 表示:「我們第一次靠自己進行編程。」他和同事使用 Fortran 語言開發了首批成功的氣候模型之一。60 多年過去了,Fortran 依然廣泛應用於氣候建模、流體動力學、計算機化學,以及其他涉及複雜線性代數並需要強大計算機快速處理數字的學科。Fortran 代碼運行速度很快,仍然有很多編程人員知道如何寫 Fortran。古老的 Fortran 代碼庫依然活躍在世界各地的實驗室和超級計算機上。當天文學家掃描天空時,他們捕捉到了隨時間變化的複雜信號的雜音。為了理解這些無線電波的性質,他們需要觀察這些信號作為頻率函數的樣子。一種被稱為傅立葉變換(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(「西方最快的傅立葉變換」)。

勞倫斯伯克利國家實驗室(Lawrence Berkeley National Laboratory)分子生物物理學和綜合生物成像部門主任 Paul Adams 回憶稱,當他在 1995 年改進細菌蛋白 GroEL 的結構時,即使使用 FFT 和一臺超級計算機,也需要「很多很多個小時,甚至是幾天」的計算。但要沒有 FFT,很難想像這件事要怎麼做,花的時間將難以估量。科學計算通常涉及使用向量和矩陣的數學運算,這些運算相對簡單,但計算量大。20 世紀 70 年代,學界並沒有出現一套普遍認可的執行此類運算的工具。因此,科研工作者不得不花費時間設計高效的代碼來做基礎的數學運算,導致無法專注於科學問題本身。編程世界需要一個標準。1979 年,基礎線性代數子程序庫(Basic Linear Algebra Subprograms, BLAS)應運而生。直到 1990 年,該標準仍然在發展變化,定義了數十條涵蓋向量和矩陣運算的基本程序。田納西州大學計算機科學家、BLAS 開發團隊成員之一 Jack Dongarra 表示,BLAS 實際上將矩陣和向量運算簡化成了像加減法一樣的基礎計算單元。

Cray-1 超級計算機。(圖源:科學歷史圖像 / Alamy)德州大學奧斯汀分校計算機科學家 Robert van de Geijn 表示:「BLAS 可能是為科學計算而定義的最重要接口。」除了為常用函數提供標準名稱之外,研究者可以確保基於 BLAS 的代碼能夠以相同的方式在任何計算機上運行。該標準也使得計算機製造商能夠優化 BLAS 實現,以實現硬體上的快速運行。40 多年來,BLAS 代表了科學計算堆棧的核心,使得科學軟體持續發展。喬治華盛頓大學機械與航空航天工程師 Lorena Barba 將 BLAS 稱為「五層代碼內的核心機制」。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 的編輯曾表示,「該系統為研究者提供了一種快捷、方便的科研方式,可以告訴大家你在做什麼、什麼時間做的,省去了傳統期刊同行評審的繁瑣。」

該網站的成功還對生物學、醫學、社會學等其他學科類似存儲庫的建立起到了助推作用,成千上萬份新冠病毒相關研究預印本的發布就是一個例證。數據探索器: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 表示:「我們能為這些項目做出一點貢獻也是非常有意義的」。人工智慧(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。感興趣的同學可以去閱讀原文。原文連結:https://www.nature.com/articles/d41586-021-00075-2

© THE END 

轉載請聯繫本公眾號獲得授權

投稿或尋求報導:content@jiqizhixin.com

相關焦點

  • 【盤點影響計算機視覺Top100論文】從ResNet到AlexNet
    本文梳理了2012到2017年計算機視覺領域的大事件:以論文和其他乾貨資源為主,並附上資源地址。囊括上百篇論文,分ImageNet 分類、物體檢測、物體追蹤、物體識別、圖像與語言和圖像生成等多個方向進行介紹。 今年2月,新智元曾經向大家介紹了近5年100篇被引用次數最多的深度學習論文,覆蓋了優化/訓練方法、無監督/生成模型、卷積網絡模型和圖像分割/目標檢測等十大子領域。
  • ECCV 2020 論文大盤點-光流篇
    下載包含這些論文的 ECCV 2020 所有論文:RAFT: Recurrent All-Pairs Field Transforms for Optical Flow作者 | Zachary Teed, Jia Deng單位 | 普林斯頓大學論文 | https://arxiv.org/abs/2003.12039代碼 | https:
  • Nature調查86%讀者支持拜登,川普究竟對科學界做了什麼?
    這讓科學界對其逆轉川普採取的一些「災難性」舉措產生了希望。 「川普給美國科學界帶來的一些傷害可能是永久性的」 執政4年,川普對美國科學界做了很多令人意外的事情,其中包括削弱環境保護和公共衛生法規以及對科學的尊重和重視。這加劇了已導致美國20多萬人死亡的新冠大流行蔓延。
  • 【盤點】6月9日Nature雜誌精選文章一覽
    【1】封面故事:腸道菌群與營養成分之間的相互作用doi | 10.1038/nature18309本期封面所示為糞便細菌的一個掃描電子顯微鏡圖像。腸道菌群的變化以及糞便短鏈脂肪酸濃度的改變已被發現與肥胖症、胰島素抗性和代謝綜合症相關,但卻沒有在它們之間確定存在因果關係。
  • 2012年至今,細數深度學習領域這些年取得的經典成果
    這些技術大部分應用於視覺、自然語言、語音與強化學習等領域。這些研究均已經過時間的考驗,並得到廣泛認可。本文不僅列舉了2012年以來的部分出色成果,還涉及到大量有利於了解當今深度學習研究現狀的基礎技術與知識。深度學習基礎技術的概念、方法和代碼等具有相似性,研究人員可以觸類旁通。
  • 一行代碼即可調用18款主流模型!PyTorch Hub輕鬆解決論文可復現性
    圖靈獎得主Yann LeCun發推表示,只需要一行代碼就可以調用所有倉庫裡的模型,通過一個pull請求來發布你自己的模型。同時,PyTorch Hub整合了Google Colab,併集成了論文代碼結合網站Papers With Code,可以直接找到論文的代碼。PyTorch Hub怎麼用?
  • 10篇Nature Communications文章核心代碼分享!
    在閱讀文獻的過程中發現一些純生信的文章會在一些高分雜誌中共享代碼,主要集中在Cell Reports,Nature
  • Arxiv網絡科學論文摘要20篇(2020-11-12)
    在這裡,我們調查在資源匱乏的語言環境中是否可以檢測到惡意行為者,以及在何種程度上可以檢測到惡意行為者。我們發現,在2016年美國總統大選後,Twitter鎮壓了幹擾行動,這是他在他加祿語中發布的大量帳戶被暫停的原因。通過結合文本嵌入和遷移學習,我們的框架可以以有希望的準確性檢測在Tagalog中發帖的惡意用戶,而無需事先理解或培訓使用該語言的惡意內容。
  • 引力波 arXive 周讀(13-17 Apr 2020)
    https://arxiv.org/pdf/2004.07515.pdfAbstract.Fominhttps://arxiv.org/pdf/2004.05081.pdfAbstract.We apply our methodology to detections in the GWTC-1 catalog from the first and second observing runs of Advanced LIGO and Advanced Virgo, finding consistency with the binary black hole nature of the sources
  • 【盤點】近期Nature十大研究亮點
    自噬過程是正常細胞中自行降解過程,其涉及到的營養清除和質量控制活動的途徑都高度保守。在這項研究中,Rushika Perera等人描述了細胞壓力和自噬過程之間,在胰腺癌中,導致細胞代謝被改變的一個新的關聯。他們發現,MiT/TFE家族轉錄因子的異常表達和組成性激發,通過人類PDA標本和細胞系,可以大大增強自噬-溶酶體功能介導代謝相關的基因表達重編程。
  • Arxiv網絡科學論文摘要15篇(2020-07-30)
    /abs/2007.14452作者: Shreya Chandrasekharan, Mariam Zaka, Stephen Gallo, Tandy Warnow, George Chacko摘要: 了解科學界的性質和組織受到廣泛關注。
  • Mask R-CNN原始碼終於來了,還有它背後的物體檢測平臺
    夏乙 編譯整理量子位 出品 |「等代碼吧。」從Mask R-CNN論文亮相至今的10個月裡,關於它的討論幾乎都會以這句話收尾。現在,官方版開原始碼終於來了。這些模型訓練完成後可以部署在雲端或者行動裝置上,由Caffe2運行時提供支持。RBG說,Facebook將Detectron平臺開源出來,是想要加速世界各地實驗室的研究,推動物體檢測的進展。
  • 大盤點|性能最強的目標檢測算法
    本文便對mAP最高的目標檢測算法進行了盤點。趁最近目標檢測(Object Detection)方向的論文更新較少,趕緊做個"最強目標檢測算法"大盤點。要知道衡量目標檢測最重要的兩個性能就是 精度和速度,特指mAP 和 FPS。
  • Arxiv網絡科學論文摘要18篇(2020-11-03)
    這樣的平臺將購物體驗嵌入到IM應用程式中,例如微信,WhatsApp,真實世界的朋友可以在其中通過IM群組聊天發布和推薦平臺上的產品,並且經常形成持久的推薦/購買關係。用戶如何以及為何從事基於IM的社交商務?這樣的平臺是否創造了與以前的商業不同的新穎體驗?這些平臺是否會改變用戶的社交生活和關係?為了闡明這些問題,我們進行了定性研究,對中國的12個基於即時消息的社交商務用戶進行了半結構化訪談。
  • Arxiv網絡科學論文摘要9篇(2020-12-03)
    收斂到最終共識的速度由極化簇的溶解速度控制。這在很大程度上取決於外部影響和網絡拓撲的組合。為了快速達成最終共識,需要高度的連通性和良好的環境。第二,將用戶關係功能合併到屬性功能有助於增強用戶表示。結果,可以通過組合四個類型特徵向量來獲得兩個網絡的最終多級表示。另一方面,這項工作引入了RCCA,以構建從社會網絡到特徵空間的映射。映射可以將社會網絡投射到用於用戶身份連結的公共關聯空間中。通過在兩個真實世界的數據集上進行的廣泛實驗,我們證明了所提出的方法優於最新方法的優越性。所有數據集和代碼均可在線公開獲得。
  • 天文統計學研究生的代碼「碉堡了(BADASS)」,造福全球中
    Sexton),運用他在就學三年中學會的技能,寫出了開源、免費、且造福全球各地天文學家的代碼。項目名稱縮寫為"BADASS",在英文中有著壞蛋、碉堡了的意思,其實是「基於斯隆數位化巡天的活動星系核貝葉斯分解分析(Bayesian AGN Decomposition Analysis for SDSS Spectra)」的英文縮寫。
  • 數學都知道 — arXiv專輯(2020.12.2)
    設為星標,快速讀到最新文章。在貝勒(Bellew)於1997年將階數擴展到27的激勵下,我們將這些思想擴展到了所有3階次的階次。數學的一些基本定理Some Fundamental Theorems in Mathematicshttps://arxiv.org/abs/1807.08416這些都是數學各個領域裡的基本定理。你能認出多少領域的定理?這些只是其中一部分。想知道數學的全貌的讀者應該閱讀全文。
  • 強強聯合,Papers with Code攜手arXiv,上傳論文、提交代碼一步到位
    最近,它又有了新舉措:與論文預印本平臺 arXiv 展開合作,支持在 arXiv 頁面上添加代碼連結。現在,arXiv 上機器學習論文摘要頁面的下方出現了一個 Code 按鈕,它可以連結論文相關的官方和社區代碼實現:arXiv 論文頁面新增的 Code 部分(Papers with Code 提供支持)。可提供官方代碼和社區代碼。
  • Arxiv網絡科學論文摘要19篇(2020-07-09)
    有趣的是,對這些族裔的異常影響似乎與其他風險因素幾乎無關,包括合併症,貧困,受教育程度,獲得醫療保健,居住隔離和對治療的反應。對觀察到的發病率差距的一個建議解釋是,來自非洲裔美國背景的人更多地被從事低收入服務工作,因此更容易通過面對面的接觸而受到感染,但是缺乏直接數據不允許這樣做到目前為止,在這個意義上得出強有力的結論。