成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

機器學習研究重現難,難于上青天

人工智能 機器學習
可重現性 / 一致性是計算科學研究的一項基本要求,機器學習也不例外。現有的很多機器學習研究結果要么不可重現,要么難以重現。如何確保研究成果的可靠性和可重現性,是很多機器學習研究者致力于解決的問題。

 [[223551]]

導讀:可重現性 / 一致性是計算科學研究的一項基本要求,機器學習也不例外。

機器學習研究論文毫無疑問是一筆寶貴的資產。這些論文可以用來啟發(fā)未來的研究;它們可以成為對學生有用的教學工具;它們可以為工業(yè)界的應用研究人員提供指導。也許最重要的是,它們可以幫助我們回答那些有關人類存在的最基本的問題:比如,學習到底是什么意思?人類的存在意味著什么?雖然可重現性在科學研究中并不總能夠做到,但它是提高研究質量的有力標準。如果研究結果可重現,那就證明這個研究結果有可能更穩(wěn)健、更有意義,至少排除了許多由實驗者帶來的錯誤(比如弄虛作假或偶然得出的結果)。

然而,現有的很多機器學習研究結果要么不可重現,要么難以重現。如何確保研究成果的可靠性和可重現性,是很多機器學習研究者致力于解決的問題。甚至在 2017 年的 ICML 上,還專門組織了一場名為“Reproducibility in Machine Learning”的 Workshop,以探討機器學習研究結果的可重現性和可復制性問題。

為什么機器學習研究重現起來那么難?來看看在谷歌 TensorFlow 團隊研究深度學習的工程師 Pete Warden 怎么說。

Pete Warden 的文章發(fā)出后,很多正在研究機器學習的工程師、研究員紛紛表示贊同,包括谷歌大腦研究員、SketchRNN 的爸爸 David Ha(@hardmaru)也默默轉發(fā)了他的推文。

 

我有個朋友創(chuàng)辦了一家機器學習初創(chuàng)公司,最近,他碰到了一些麻煩。他們的機器學習模型雜亂無章,當他的團隊想基于這些模型構建一些東西或把它們展示給客戶時,出現了嚴重的問題。有時候,即使是模型原作者都無法正常地運行自己創(chuàng)建的模型,或者得到與之前同樣的結果。他向我求助,希望我給他建議一個解決方案,但我不得不承認,我在工作中也正遭遇著同樣的問題。向不了解機器學習的人解釋這些東西真的很難,我們***還是回到了那個不使用代碼版本控制系統(tǒng)的年代,并從頭開始訓練模型,盡管有時候覺得這樣做簡直糟透了。

 

我從 90 年代中期開始我的代碼生涯,那個時候,微軟的 Visual SourceSafe 是標準的代碼版本控制系統(tǒng)。為了提供良好的體驗,它不支持提交代碼原子操作,所以多個開發(fā)者不能同時修改同一個文件。在晚上的時候需要進行掃描和拷貝,避免出現意外的沖突,但即使是這樣,也無法保證在早上的時候數據庫是完整的。只能說我足夠幸運,我所在的團隊準備了一面墻,他們在墻上貼上便條,每張便條對應項目里的一個文件。當某個開發(fā)人員想要修改某個文件時,就拿走對應的便條,等改完了再把便條放回去。

可以說,在版本控制系統(tǒng)面前,我是毫無畏懼的。我曾經使用過一些非常糟糕的系統(tǒng),如果有必要,我甚至可以使用同步工具自己搗鼓出一些解決方案。但即使是這樣,在機器學習開發(fā)的變更跟蹤和協(xié)作這個問題上,我可以非常坦誠地說,我也是束手無措。

為了解釋這個問題,先來看看典型的機器學習模型生命周期:

  • 研究人員想嘗試一個新的圖像分類架構。
  • 她從之前的項目拷貝了一些代碼用于處理輸入數據集。
  • 數據集存放在網絡上的某個文件目錄下,有可能是從 ImageNet 上下載下來的,但不清楚是哪個目錄。在某個時候,可能有人移除了部分非 JPEG 格式的圖像,或者做了其他一些細微的修改,但沒有留下任何修改歷史。
  • 她想方設法修復 bug,并調整算法。這些變更都發(fā)生在她的本地機器上,為了訓練模型,她需要把大量的代碼拷貝到 GPU 集群上。
  • 她反復訓練了幾次模型,并在本地機器上繼續(xù)修改代碼,因為訓練一次模型需要幾天甚至幾周的時間。
  • 在訓練接近尾聲時可能出現了 bug,她就在趕緊修改了其中一個文件,并把它拷貝到集群的機器上。
  • 她可能將某一次訓練得到的半成品權重用在了新的訓練上,而新的訓練是基于剛修改過的代碼。
  • 因為時間的關系,她評估了這幾次的訓練結果,并選擇其中一個作為最終要發(fā)布的模型,但這個模型有可能是使用不同的代碼訓練出來的。
  • 她把代碼提交到版本控制系統(tǒng)的個人目錄下。
  • 她把代碼和模型發(fā)布出來。

這已經是當研究人員足夠小心謹慎時的一種比較樂觀的情況了,但你已經可以想象到,如果換了另外一個人,要重復上面這些步驟,并保證得到同樣的結果,會有多難。上述的每一個步驟都有可能出現不一致,更何況機器學習框架有時候會在性能和數字準確性之間做出權衡,就算真的有人可以按部就班地重復上述的步驟,仍然會出現不一樣的結果。

大多數情況下,研究人員可能沒有記下自己都做了些什么,所以無法生成同樣的模型。即使她記下了所有步驟,并再次執(zhí)行這些步驟,但因為框架會隨時發(fā)生變化,她必須記錄下這個系統(tǒng)的快照,才有可能做到與之前的模型保持一致。我曾經找研究人員幫忙,讓他們重新生成模型,他們很慷慨,但通常需要花上幾個月時間,即使他們是模型的原作者。

為什么一致性這么重要?我有幾個朋友跟我說,他們在寫論文時不知道該如何重現模型。如果他們無法得到與原作者一樣的準確率,那么該如何說服別人自己的新方法是對原有方法的改進呢?如果你沒有辦法為了應對變更的需求或平臺完全重建一個模型,那么重度依賴生產系統(tǒng)已有的模型也是很正常的。在進行研究實驗時,這也是個大問題,因為代碼變更和訓練數據很難進行回滾。在嘗試執(zhí)行上述的那些步驟時,可能存在更多的風險,這就好比不使用版本控制系統(tǒng)會增加代碼變更所帶來的成本。

當然,事情也不是那么悲觀,社區(qū)正在這方面做出努力,以解決模型的一致性問題。其中我最喜歡的是由 Toby Boyd 領導的 TensorFlow Benchmarks 系項目(https://www.tensorflow.org/performance/benchmarks)。這個團隊的使命不僅是要實現如何在多平臺上快速訓練當前的一些主流模型,而且要讓這些模型達到足夠高的準確率。我曾親眼目睹他揮汗如雨地為提高模型準確性而做出努力,因為上述的那些步驟都有可能影響結果,而且沒有簡單的調試方法,即使有模型原作者的幫助也無濟于事。而且這看起來就像是一項無止境的工作,TensorFlow 框架在變化,GPU 驅動器在變化,數據集在變化,這些都會影響到結果。Toby 的團隊可以幫助我們發(fā)現和修復因 TensorFlow 的變更引起的 bug,并找出由外部依賴導致的問題,但要把規(guī)模擴大仍然很困難。

我也知道有些團隊對于在生產系統(tǒng)中使用機器學習模型非常小心翼翼,他們?yōu)榱舜_保訓練模型的一致性花了很多時間和精力,但問題是,這一過程仍然是手動進行的。現在還不存在一種版本控制系統(tǒng)或被大家一致認可的***實踐,可以確保模型在未來仍然可以產出相同的結果。我暫時也想不到更好的辦法,不過在這里拋磚引玉一下,在嘗試解決這個問題時,還是有一些原則可以遵循的:

  • 新想法需要足夠容易被研究人員所理解,不需要研究人員花費太多時間和精力,否則的話,他們可能壓根不愿意使用這些系統(tǒng)。理想情況下,這些系統(tǒng)應該要能幫助他們大大提升效率。
  • 如果某個研究人員不小心被車撞了(大誤,劃掉)出走去搞創(chuàng)業(yè)了,需要保證,哪怕是第二天新加入的研究員也能夠重新訓練他們之前創(chuàng)建好的模型,并得到相同的結果。
  • 應該存在某種打包方式,將訓練某個模型所需的元素打成包,這個包可以被共享出來,并且不會露模型作者不希望暴露的歷史細節(jié)。
  • 為了重現結果,代碼、訓練數據和整個平臺需要被準確地記錄下來。

我已經看到一些開源社區(qū)和初創(chuàng)公司正致力于解決這個問題。我也迫不及待地想要用我的余生來解決這個問題,但在短期內難有完整的解決方案。在訓練模型這件事情上,我們需要一次變革,就像版本控制系統(tǒng)的出現給我們的編碼流程帶來的巨變那樣。

在嘗試重現機器學習研究結果的過程中,你踩過哪些坑?對于機器學習結果難以重現,你是否也想吐槽?歡迎留言分享你的看法。

原文鏈接:https://petewarden.com/2018/03/19/the-machine-learning-reproducibility-crisis/

責任編輯:龐桂玉 來源: AI前線
相關推薦

2018-03-16 08:46:51

2022-07-07 14:06:39

LiBai模型庫

2021-01-13 14:50:02

智能華為云IoT

2013-01-21 13:07:31

傲游云瀏覽器

2015-09-17 18:53:17

諸葛io

2012-12-28 16:23:50

2016-02-02 10:31:03

華三/大安全

2017-04-07 09:32:20

機器學習調試算法

2015-12-09 15:54:09

網絡線路建設華為

2013-08-23 10:34:43

諾基亞Windows Pho塞班之死

2015-12-01 17:16:16

華為

2022-06-28 09:00:00

機器學習人工智能安全

2020-10-28 13:51:45

機器學習化學研發(fā)AI

2017-04-11 14:45:22

機器學習學習平臺大數據平臺

2019-10-23 09:41:12

機器學習人工智能計算機

2017-04-10 18:00:11

2018-11-05 13:00:04

2018-05-25 19:45:44

企業(yè)機器學習研究

2018-05-27 11:37:07

Cloudera機器學習研究

2019-10-16 11:52:15

MIT機器學習
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩免费视频 | 蜜臀网 | 日日操视频 | 看av网 | 国产精品一区二区欧美黑人喷潮水 | 国产麻豆一区二区三区 | 国产精品欧美一区二区 | 中文字幕一区二区三区四区五区 | 中文字幕国产一区 | 91久久电影 | 欧美一区二区激情三区 | 色婷婷综合久久久久中文一区二区 | 久久一日本道色综合久久 | 欧美国产一区二区 | 国产精品成人一区二区 | 欧美精品久久久久久久久老牛影院 | 亚洲国产精品va在线看黑人 | 色婷婷九月 | 国产精品欧美一区二区三区不卡 | 最近中文字幕在线视频1 | 欧美性区| 成年网站在线观看 | 日本不卡一区二区三区在线观看 | 毛片免费观看视频 | 99亚洲精品 | 久久国内 | 久久成人一区 | 欧美日韩一区二区三区不卡视频 | 亚洲综合一区二区三区 | 一区二区三区在线看 | 久久久久久av | 在线精品国产 | 国产在线观看一区二区 | 91色综合 | 在线观看www高清视频 | 夜夜草天天草 | 在线视频一区二区三区 | 精品福利在线 | 91视视频在线观看入口直接观看 | 欧洲成人免费视频 | 精品国产视频在线观看 |