機(jī)器學(xué)習(xí)被高估了?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在Quora論壇上研究編程語言的Tikhon Jelvis回答說:我發(fā)現(xiàn),機(jī)器學(xué)習(xí)在很多方面都被高估了,無論是經(jīng)驗(yàn)不足的人,還是更有害的,人們都對(duì)這一領(lǐng)域投入了大量的資金。
最普遍的看法是,機(jī)器學(xué)習(xí)比實(shí)際我們認(rèn)為的更強(qiáng)大。機(jī)器學(xué)習(xí)只擅長(zhǎng)于進(jìn)行機(jī)器學(xué)習(xí),而在其他領(lǐng)域的表現(xiàn)都很糟糕。但如果你聽一些人的話之后,你會(huì)相信只要裝入一個(gè)神經(jīng)網(wǎng)絡(luò),你可以在任何問題上得到一個(gè)可靠的解決方案。
我主要把這類問題歸咎于人們對(duì)機(jī)器學(xué)習(xí)領(lǐng)域缺乏經(jīng)驗(yàn)以及錯(cuò)誤認(rèn)知之后產(chǎn)生的熱度,但這也是那些對(duì)于較常人掌握機(jī)器學(xué)習(xí)更好的人大肆宣傳的結(jié)果。Karpathy的最近像病毒般傳播的軟件2.0就是一個(gè)很好的例子:他提出了一些有趣的觀點(diǎn)以給人留下深刻的印象,例如他說深度學(xué)習(xí)是電腦編程的未來。這篇文章從某種程度上忽略了一些利基市場(chǎng)(未來愿景、演講、NLP、機(jī)器人技術(shù))以外的問題,而我說到的這些問題不太適合采用深度學(xué)習(xí)這種方法。不僅僅是系統(tǒng)軟件能處理的問題,大多數(shù)有經(jīng)驗(yàn)的電腦工程師能通過寫幾百行代碼甚至都要比機(jī)器學(xué)習(xí)更有效的得到業(yè)務(wù)邏輯領(lǐng)域的解決方案。
如果說垃圾收集和高級(jí)語言可以代表“軟件2.0”的話,那深度學(xué)習(xí)甚至不能算是“軟件3.0”。神經(jīng)網(wǎng)絡(luò)是“你的機(jī)器學(xué)習(xí)工具箱里的另一個(gè)工具”,但更重要的是,機(jī)器學(xué)習(xí)只是你的編程工具箱中的另一個(gè)工具!
它有它的真正的后果。我看到人們將大量資源投入到機(jī)器學(xué)習(xí)的系統(tǒng)中,從而得到更簡(jiǎn)單、更有效的解決方案。讓我們來探討關(guān)于商店里的商品需求預(yù)測(cè)問題。你可以試著把這個(gè)問題當(dāng)作一個(gè)純粹的機(jī)器學(xué)習(xí)系統(tǒng)來做,但是這個(gè)系統(tǒng)將會(huì)出現(xiàn)掙扎并最終失敗,因?yàn)樗枰獜哪愕臄?shù)據(jù)中提取出你需要的所有結(jié)構(gòu)。有很多因素都很重要,但有些因素不會(huì)在你可以實(shí)際操作的數(shù)據(jù)中觀察到。我們最好在實(shí)驗(yàn)上結(jié)合這樣明確地分析一堆事情(基于價(jià)格和促銷的彈性)并依賴于他人的經(jīng)驗(yàn)(消費(fèi)者時(shí)尚的變化)等進(jìn)行模型設(shè)計(jì)并作出總結(jié)。
解決許多難題的理想系統(tǒng)必須是一種混合模式:基于數(shù)據(jù)的機(jī)器學(xué)習(xí),一些明確的建模,以及能使專家和用戶互動(dòng)的模式。但有太多的人不會(huì)設(shè)計(jì)這樣的問題,因?yàn)樗麄儼褭C(jī)器學(xué)習(xí)看成是一種萬能藥,并看到構(gòu)建一個(gè)只以得到數(shù)據(jù)為目標(biāo)的黑匣子。
我對(duì)上面說到的這些可能出現(xiàn)的情況并不感到驚訝。無論在學(xué)術(shù)或工業(yè)領(lǐng)域,進(jìn)行一項(xiàng)研究的公開秘密是,只有那些可以采用并正常工作的東西才能看到光明的未來。有多少個(gè)團(tuán)隊(duì)試圖利用機(jī)器學(xué)習(xí)技術(shù)解決問題而最終失敗了?如果你和活躍在該領(lǐng)域的研究人員聊天,你不會(huì)聽到他們說到關(guān)于失敗的案例。(舉個(gè)例子:我知道有一群人嘗試過在程序合成中對(duì)各種問題引入深度學(xué)習(xí)最終失敗了,但這只是我通過小道消息聽到的。)
但事實(shí)上,人們相對(duì)的高估了機(jī)器學(xué)習(xí)對(duì)產(chǎn)品的影響?,F(xiàn)在很多消費(fèi)產(chǎn)品都以機(jī)器學(xué)習(xí)技術(shù)為核心,例如我們可以想想Quora和Facebook的動(dòng)態(tài)消息提示。由于機(jī)器學(xué)習(xí)是一種新興的、技術(shù)含量高的技術(shù),這些產(chǎn)品的成功必須歸功于機(jī)器學(xué)習(xí)!
但問題是,我打賭機(jī)器學(xué)習(xí)對(duì)它們的影響是微乎其微的:大部分的效用都是由社會(huì)需求而設(shè)計(jì)的工具來支持的。真正重要的是,Quora有一個(gè)自主信息流,來讓用戶去關(guān)注特殊的人和話題。如果一個(gè)更加粗糙的算法(也許是一個(gè)基于啟發(fā)性的規(guī)則引擎)能夠擁有一個(gè)比Quora更好的消息流,我不會(huì)感到驚訝。我使用其他與Quora論壇類似的產(chǎn)品,但沒有任何“機(jī)器學(xué)習(xí)”作為后臺(tái)支持(比如Reddit)。事實(shí)上,我的Reddit首頁在讀取我關(guān)心的事情上這一欄要比Quora上做得更好?。≦uora的其他設(shè)計(jì),例如非機(jī)器學(xué)習(xí)的部分,都要比Reddit上的更適合我。)
有一件事我覺得很有必要探究的是有多少交易商店沒有全心全意地接受機(jī)器學(xué)習(xí)。當(dāng)然,也有一些人繼續(xù)用相對(duì)直接的手動(dòng)調(diào)優(yōu)算法來獲取不干凈的金錢。同樣的,在規(guī)則引擎中如果導(dǎo)入了專家編寫的啟發(fā)法,它得到的效果將出奇的好!有些策略是通過機(jī)器學(xué)習(xí)技術(shù)(也被稱為“統(tǒng)計(jì)”)開發(fā)的,但也有一些是基于深度領(lǐng)域的專業(yè)知識(shí)而產(chǎn)生的。
我的觀點(diǎn)不是機(jī)器學(xué)習(xí)對(duì)貿(mào)易毫無用處,而且它顯然有可用之處。重點(diǎn)在于它并不是你所期望去使用的,甚至與你所期待的相反。
最終,我認(rèn)為機(jī)器學(xué)習(xí)被高估是因?yàn)閷?duì)于任何嘗試在生產(chǎn)中采用機(jī)器學(xué)習(xí)系統(tǒng)的人來說,都會(huì)發(fā)現(xiàn)機(jī)器學(xué)習(xí)要比看上去的復(fù)雜得多。
你可能認(rèn)為你可以很好的利用一些你已經(jīng)聽說過的機(jī)器學(xué)習(xí)算法,但在你使用的過程中,它可能不會(huì)像你從博客文章或文章中所看見的效果那樣好。很多細(xì)節(jié)都沒有寫進(jìn)論文,而且它們僅僅作為專業(yè)領(lǐng)域的專業(yè)知識(shí)存在。即使你考慮的問題和你的最開始工作出現(xiàn)的問題是一樣的,你仍需要花很多時(shí)間來為你的問題配置個(gè)性化的算法。你需要調(diào)整超參數(shù),找到合適的架構(gòu),以怪異的方式對(duì)數(shù)據(jù)進(jìn)行預(yù)先處理,甚至可能需要重新整理你的問題。你不能把你的問題放在現(xiàn)有的算法上,所以你要么需要豐富的經(jīng)驗(yàn),要么需要大量的嘗試和錯(cuò)誤的數(shù)據(jù)作為參照。
機(jī)器學(xué)習(xí)是一套強(qiáng)大而實(shí)用的技術(shù),它能夠讓我們解決以前很多無法處理的問題。例如,我正在開發(fā)的供應(yīng)鏈優(yōu)化系統(tǒng)將受益于在我們現(xiàn)有的經(jīng)典操作研究基礎(chǔ)之上添加的一些機(jī)器學(xué)習(xí)系統(tǒng)。
但正如人們所相信的那樣,機(jī)器學(xué)習(xí)現(xiàn)在遠(yuǎn)沒有像人們想象的那樣普遍、強(qiáng)大或有影響力。如果我不得不進(jìn)行猜測(cè)的話,我賭未來的技術(shù)值得被稱為“軟件3.0”,它是一種有程序合成支持的、交互式的開發(fā)工具。但這可能只是我一廂情愿的想法,而且還有很長(zhǎng)的路要走。