天天看點

【AI幽靈】超90%論文算法不可複現,你為何不願公開代碼?

一個幽靈正在AI領域上空徘徊:複現的幽靈。

科研方法認為,科學研究應該可以讓其他研究人員在相同的條件下重制其結果。然而,由于大多數人工智能研究人員不公布他們用來建立算法的源代碼,其他研究人員很難做到複現和驗證。

【AI幽靈】超90%論文算法不可複現,你為何不願公開代碼?

圖:同一個算法訓練AI走路,結果可能千奇百态

頂會論文提出的400種算法,隻有6%分享代碼

去年,加拿大蒙特利爾大學的計算機科學家們希望展示一種新的語音識别算法,他們希望将其與一名著名科學家的算法進行比較。唯一的問題:該benchmark的源代碼沒有釋出。研究人員不得不從已公開發表的描述中重制這一算法。但是他們重制的版本無法與benchmark聲稱的性能相符。蒙特利爾大學實驗室博士生Nan Rosemary Ke說:“我們嘗試了2個月,但都無法接近基準的性能。”

人工智能(AI)這個蓬勃發展的領域正面臨着實驗重制的危機,就像實驗重制問題過去十年來一直困擾着心理學、醫學以及其他領域一樣。AI研究者發現他們很難重制許多關鍵的結果,這導緻了對研究方法和出版協定的新認識。法國國家資訊與自動化研究所的計算神經科學家Nicolas Rougier說:“這個領域以外的人可能會認為,因為我們有代碼,是以重制性是有保證的。但完全不是這樣。”上周,在新奧爾良召開的AAAI會議上,重制性(reproducibility)問題被提上議程,一些團隊對這個問題進行了分析,也有團隊提出了減輕這個問題的工具。

最根本的問題是研究人員通常不共享他們的源代碼。在AAAI會議上,挪威科技大學計算機科學家Odd Erik Gundersen報告了一項調查的結果,調查針對過去幾年在兩個AI頂會上發表的論文中提出的400種算法。他發現隻有6%的研究者分享了算法的代碼。隻有三分之一的人分享了他們測試算法的資料,而隻有一半分享了“僞代碼”。(許多情況下,包括Science和Nature在内的期刊上發表的AI論文中也沒有代碼。)

針對主要會議上發表的400篇AI論文的調查顯示,隻有6%的論文包含算法的代碼,約30%包含測試資料,54%包含僞代碼。

【AI幽靈】超90%論文算法不可複現,你為何不願公開代碼?

CREDITS: (GRAPHIC) E. HAND/SCIENCE; (DATA) GUNDERSEN AND KJENSMO, ASSOCIATION FOR THE ADVANCEMENT OF ARTIFICIAL INTELLIGENCE 2018

研究人員說,這些缺失的細節的原因有很多:代碼可能是一項正在進行中的工作,所有權歸某一家公司,或被一名渴望在競争中保持領先地位的研究人員緊緊掌握。代碼可能依賴于其他代碼,而其他代碼本身未釋出。或者代碼可能隻是丢失了,在丢失的磁盤上或被盜的筆記本電腦上——Rougier稱之為“我的狗吃了我的程式”問題。

假設你可以獲得并運作原始代碼,它仍然可能無法達到你的預期。在機器學習領域,計算機從經驗中擷取專業知識,算法的訓練資料可以影響其性能。 Ke推測,不知道那個語音識别基準的訓練資料是什麼阻礙了她的團隊的進展。“每跑一次的結果都充滿了随機性,”她補充說,你可能“真的非常幸運,跑出一個非常好的數字。”“研究報告中通常寫的就是這個。”

擊敗幽靈:從論文中自動生成代碼

在AAAI會議上,加拿大麥吉爾大學的計算機科學家Peter Henderson表示,通過反複試驗學習設計的AI的性能不僅對所使用的确切代碼高度敏感,還對産生的随機數“超參數”也非常敏感——這些設定不是算法的核心,但會影響其學習速度。

他在不同的條件下運作了這些“強化學習”算法中的幾個,發現了截然不同的結果。例如,運動算法中使用的一個簡筆畫虛拟“半獵豹”,它可以學習在一次測試中奔跑,但隻會在另一次測試中在地闆上徘徊。

Peter Henderson說,研究人員應該記錄更多這些關鍵細節。 “我們正試圖推動這個領域有更好的實驗程式,更好的評估方法。”

Peter Henderson的實驗是在OpenAI Gym強化學習算法測試平台上進行的,OpenAI的計算機科學家John Schulman幫助建立了Gym。John Schulman說,Gym有助于标準化實驗。 “Gym之前,很多人都在進行強化學習,但每個人都為自己的實驗做好了自己的環境,這使得大家很難比較各種論文的結果。”

IBM Research在AAAI會議上提出了另一種工具來幫助複現:一種自動重新建立未釋出源代碼的系統,它為研究人員節省了數天或數周的時間。這個系統是一種由小型計算單元層組成的機器學習算法,類似于神經元,用于重新建立其他神經網絡。系統通過掃描一份AI研究論文,尋找描述神經網絡的圖表或圖示,然後将這些資料解析為圖層和連接配接,并以新代碼生成網絡。該工具現在已經複現了數百個已經釋出的神經網絡,IBM計劃把它們放置在一個開放的線上存儲庫中。

荷蘭埃因霍芬理工大學(Eindhoven University of Technology in the Netherlands)的計算機科學家Joaquin Vanschoren為建立了另一個存儲庫:OpenML。它不僅提供算法,還提供資料集和超過800萬個實驗運作及其所有相關詳細資訊。 “你運作實驗的确切方式充滿了無證的假設和決定,很多這些細節從來沒有成為論文。”Vanschoren說。

心理學通過創造一種有利于複現的文化來處理它的再現性危機,AI也開始這樣做。 2015年,Rougier幫助啟動了一個緻力于複現的計算機科學雜志ReScience,NIPS已經開始從其網站連結到論文的源代碼(如果有的話)。

Nan Rosemary Ke正在邀請研究人員嘗試複現送出給即将舉行會議的論文,以實作“可複現性挑戰”。Nan Rosemary Ke說,近100個複現項目正在進行中,大多數是由學生完成的,他們可能是以獲得學分。

然而,人工智能研究人員表示,目前的激勵措施仍然不符合可複現性。他們沒有足夠時間在每種條件下都測試算法,或者在文章中記錄他們嘗試過的每個超參數。因為他們面臨發論文的壓力——許多論文每天都在網上釋出到arXiv上,而且也沒有同行評審。

此外,許多人也不願意報告失敗的複現。例如,在ReScience,所有公布的複現項目迄今為止都是正面的。Rougier說,他也嘗試過發表一些失敗的項目,但年輕的研究人員往往不希望批評别人,失敗的項目也就無人問津了。這就是為什麼Nan Rosemary Ke拒絕透露她想用作基準的語音識别算法背後的研究人員的原因之一。

Gundersen說這種文化需要改變。 “這樣做不是羞愧”他說, “這隻是說實話。”

如果我們想要信任AI,必須能夠複現它

Gundersen說,随着人工智能領域的發展,打破不可複現性将是必要的。

複現對于證明實驗産生的資訊能夠在現實世界中一緻地使用,并且得到非随機的結果是必不可少的。一個僅由其建立者測試過的AI在另一台計算機上運作時或者如果輸入不同的資料時,可能不會産生相同的結果。

當涉及到機器學習算法時,可複現性問題會變得尤其突出。有很多原因導緻人們不會共享源代碼或資料:代碼可能正在完成中,或屬于公司的專有資訊,再加上研究人員擔心競争,是以機器學習算法的可複現性較差。在某些情況下,代碼甚至可能完全丢失:電腦破損或被盜、硬碟丢了,或者被狗吃掉(可以找這種借口)。

這種情況對行業的未來不是好消息。人工智能一直在産生令人難以置信的繁榮,并且很可能我們會在未來幾年擁有超智能的AI,它将在社會中扮演越來越重要的角色。如果我們想讓這種美好的未來持續繁榮,我們必須信任我們實施的每一個AI,如果我們想要信任它,就必須能複現它。

原文釋出時間為:2018-02-17

本文作者:克雷格、Marvin

本文來自雲栖社群合作夥伴新智元,了解相關資訊可以關注“AI_era”微信公衆号

繼續閱讀