“我為什么反對AI論文強制開源代碼”
曉查 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
AI論文,到底該不該強制開源代碼?
NeurIPS 2020官方近日發(fā)布了一份開源指南。從2019開始,NeurIPS就“強烈建議”提交論文代碼,不過仍非強制。
但無論如何,官方傳達出了一種信號:AI學術頂會開源代碼已是行業(yè)趨勢。
NeurIPS此舉也引發(fā)了一場“年經”式的討論:如果將來學術會議要求必須開源,投稿人應該拒絕嗎?
而讓人始料未及的是,不少網友認為:不開源,我有理。
反對一:代碼并沒有那么重要
首先,開源代碼的目的是什么?是為了讓其他研究者可以復現結果。
如果一篇論文包含足夠多的細節(jié),那么別人就可以根據其中的公式自己寫出代碼,對于這類論文,可以不公開代碼。不過前提必須是提供足夠多的細節(jié)。
比如谷歌的AlphaGo就沒有開源代碼,但是沒有人懷疑它的正確性,事實上也有很多人根據谷歌論文復現了AlphaGo。
而且作者本人的代碼可能會出現錯誤,不開源的一個好處就是讓其他研究者獨立復現。
萬一作者在代碼里挖了個不明顯的“坑”,其他人也可以規(guī)避,防止被帶到溝里。
另外,也不要高估代碼的價值,經典論文可以幾十年長盛不衰,但是代碼很可能十年后就難以運行了。
當然,還有一種觀點就是,對于AI來說,數據集更重要。沒有數據的代碼是沒有價值的,而很多數據集沒法開放,這意味著你即使拿到代碼,也無法復現SOTA結果。
反對二:要為作者考慮
不開源同時也是為了照顧作者的種種特殊情況。
比如一些研究者是從事純理論的研究。有一個網友就說,他甚至都不知道怎么構建Docker容器,雖然發(fā)表了多篇論文都在GitHub上開源了代碼,但它從來不維護。
所以,論文是否開源應該根據代碼對于文章的重要性而定,不該一刀切。
還有一些商業(yè)公司的研究者,他們在寫論文的時候用到了公司內部專有軟件庫,如果強制開源,他們必須從頭再寫一遍代碼,費時費力,對這些人也是不公平的。
還有一些作者,本身并不是不想開源,而是希望能夠將成果保護一段時間,在論文發(fā)布幾個月后再開源代碼,這對于從事醫(yī)療、法律領域的學者很重要。
綜上所述,反方網友認為,強制開源過于極端,應該對論文開源持鼓勵態(tài)度,而不是強制。
支持開源:不開源怎能讓人信服
首先是一名從事石油行業(yè)的網友說,他們行業(yè)的數據都是商業(yè)機密,所以不會發(fā)布任何數據和代碼,甚至會在文章中丟掉一些公式來隱藏成果,還聲稱98%的正確率。結果怎能讓人信服。
他認為不公開數據和代碼,就像把一篇論文中所有的關鍵要素都刪了,這樣的研究即使發(fā)表出來也毫無價值。
還有一些人認為,強制開源會改變其他行業(yè)對機器學習的偏見。
很多其他學科的人都把機器學習看成偽科學,這是為什么?因為AI領域的論文發(fā)布過程非常不成熟。
科學方法的關鍵是一致性和可重復性。追逐單一的指標,每個人都對SOTA著迷,這是一個巨大的問題。
而開源是解決此問題的一種方法。
去年,AI知名女學者Anima Anandkumar曾在個人博客里公開喊話,強烈反對發(fā)論文卻不給代碼的行為,呼吁學術會議強制要求投稿同時必須公開代碼。
她認為不開源代碼不利于評審論文,不利于對論文造假的追責,更不利于行業(yè)開放競爭。
你覺得公開的學術論文也應該公開代碼么?
參考鏈接:
https://www.reddit.com/r/MachineLearning/comments/fzss9t/d_if_a_paper_or_project_doesnt_publicly_release/
https://www.reddit.com/r/MachineLearning/comments/fzp8bu/d_official_neurips_2020_guidelines_for_making/
— 完 —
量子位 QbitAI · 頭條號簽約
關注我們,第一時間獲知前沿科技動態(tài)