被捧上天的深度学习,遇到这些问题根本干不过简单模型
今天我們來(lái)唱唱反調(diào),推薦一篇Hacker News和Reddit的雙料熱文《何時(shí)該不用深度學(xué)習(xí)》。
作者 | Pablo Cordero
翻譯 | AI科技大本營(yíng)(rgznai100)
參與 | reason_W,波波
前段時(shí)間,AI科技大本營(yíng)討論過(guò)一場(chǎng)關(guān)于深度學(xué)習(xí)應(yīng)用的爭(zhēng)論——【撕起來(lái)了!誰(shuí)說(shuō)數(shù)據(jù)少就不能用深度學(xué)習(xí)?】,某教授認(rèn)定“沒(méi)有大數(shù)據(jù)就不要用深度學(xué)習(xí)”,這讓一位正在辛苦做研究的博士后立時(shí)炸了,“只要你能搞懂模型,小數(shù)據(jù)同樣可以用深度學(xué)習(xí)”。
這個(gè)博士后就是加州大學(xué)圣克魯茲分校系統(tǒng)生物組的Pablo Cordero,他正在用機(jī)器學(xué)習(xí)來(lái)研究單細(xì)胞測(cè)量的問(wèn)題。他認(rèn)為,當(dāng)此深度學(xué)習(xí)越來(lái)越多地被用到生物信息學(xué)研究之際,大家一定要實(shí)事求是向前看,不能讓錯(cuò)誤的風(fēng)向吹倒深度學(xué)習(xí)的大旗。
畢竟,深度學(xué)習(xí)不是萬(wàn)能的,更不是萬(wàn)達(dá)的。除了“沒(méi)有免費(fèi)的午餐”定理,深度學(xué)習(xí)模型的差別還相當(dāng)微妙,使用的過(guò)程需要非常細(xì)心,有時(shí)還需要做非常昂貴的超參數(shù)搜索、調(diào)整與測(cè)試。
因而,從實(shí)用的角度看,深度學(xué)習(xí)在許多情況下并不好用,反而是簡(jiǎn)單的模型效果更好。在這里,清醒地認(rèn)識(shí)深度學(xué)習(xí)所不適用的場(chǎng)景,便成為避免爭(zhēng)論的關(guān)鍵。Pablo Corder對(duì)這類場(chǎng)景的分析如下:
深度神經(jīng)網(wǎng)絡(luò)是非常靈活的模型,有著大量的架構(gòu)和節(jié)點(diǎn)類型、優(yōu)化器與正則化策略。
根據(jù)不同的應(yīng)用場(chǎng)景:
你的模型可能會(huì)有卷積層(多大?使用什么池化操作?)或循環(huán)結(jié)構(gòu)(有或沒(méi)有門(mén)控?);
它可能真的很深(hourglass、siamese或其他架構(gòu)?)也可能只有幾個(gè)隱藏的層(有多少單位?);
它可能使用整流線性單元或其他激活函數(shù);
它可能會(huì)有或不會(huì)有dropout (在什么層次中?用什么分?jǐn)?shù)?),權(quán)重很有可能被正則化(L1范數(shù),L2范數(shù),還是其他某種方式?)。
這只是一部分列表,還需要嘗試很多其他類型的節(jié)點(diǎn),連接,甚至損失函數(shù)。
這些都是在訓(xùn)練時(shí)需要去調(diào)整的超參數(shù),需要去探索的架構(gòu),這使得即便只訓(xùn)練一個(gè)大型網(wǎng)絡(luò)都會(huì)相當(dāng)耗時(shí)。
最近Google在吹噓它的AutoML管道可以自動(dòng)找出最好的架構(gòu),雖說(shuō)其結(jié)果讓人印象極深,但該成果是超過(guò)800個(gè)GPU全天候運(yùn)行數(shù)周才得到的,這種資源可不是每一個(gè)人都觸手可及的。
這里的問(wèn)題不在于深度學(xué)習(xí),而在于訓(xùn)練深度網(wǎng)絡(luò)的計(jì)算和調(diào)試,它們的開(kāi)銷(xiāo)太大了。對(duì)于許多日常問(wèn)題的預(yù)測(cè),這樣的開(kāi)銷(xiāo)沒(méi)有任何意義,因?yàn)榧幢闶钦{(diào)整小型網(wǎng)絡(luò),它的性價(jià)比也實(shí)在太低。
所以,就算你足夠的預(yù)算和投入,也沒(méi)有理由不優(yōu)先嘗試替代方法。你很有可能會(huì)驚喜地發(fā)現(xiàn),線性SVM才是真正的需求。
深度神經(jīng)網(wǎng)絡(luò)還是一個(gè)臭名昭著的黑箱,盡管預(yù)測(cè)能力很強(qiáng),但可解釋性不足。
雖說(shuō)最近有不少工具在某些領(lǐng)域很見(jiàn)效果,如顯著圖與激活差異性,但它們還不能完全遷移到所有的應(yīng)用場(chǎng)景中。這主要是在于,當(dāng)你想確保神經(jīng)網(wǎng)絡(luò)不是通過(guò)記誦數(shù)據(jù)集或是專注于特定的虛假特征來(lái)欺騙你時(shí),此類工具就能做出效果;但如何把每個(gè)特征的重要性解釋為深層網(wǎng)絡(luò)的整體決策,仍舊很難實(shí)現(xiàn)。
在這方面,沒(méi)有什么曾真正的打敗過(guò)線性模型,因?yàn)榫€性模型的學(xué)習(xí)系數(shù)與響應(yīng)有直接的關(guān)系。當(dāng)你需要把這些解釋傳達(dá)給需要據(jù)此來(lái)做決定的普通人時(shí),這尤其重要。
例如,醫(yī)生需要結(jié)合多種不同的數(shù)據(jù)來(lái)做出診斷。變量和結(jié)果之間的關(guān)系越簡(jiǎn)單和越直接,醫(yī)生利用的效果就越好,而不是低估/高估實(shí)際結(jié)果。
此外,有些情況下,模型的準(zhǔn)確性(通常這恰恰是深度學(xué)習(xí)所擅長(zhǎng)的)并不像解釋性那樣重要。
例如,策略制定者可能想知道一些人口統(tǒng)計(jì)變量(比如對(duì)死亡率)的影響,并且可能對(duì)這種關(guān)系的直接近似比對(duì)預(yù)測(cè)的準(zhǔn)確性更有興趣。
在這兩種情況下,與更簡(jiǎn)單,更易理解的方法相比,深度學(xué)習(xí)就會(huì)處于不利地位。
模型解釋的極端情況是當(dāng)我們?cè)噲D建立一個(gè)物理模型,即一個(gè)實(shí)際捕獲數(shù)據(jù)背后的現(xiàn)象的模型。 好的例子包括試圖猜測(cè)兩個(gè)分子(例如藥物,蛋白質(zhì),核酸等)是否在特定的細(xì)胞環(huán)境中相互作用,或者假設(shè)特定的營(yíng)銷(xiāo)策略如何對(duì)銷(xiāo)售產(chǎn)生實(shí)際的影響。
在這個(gè)領(lǐng)域,專家們的意見(jiàn)是,沒(méi)有什么可以超越老式的貝葉斯方法,這是我們最好的(即使不完美的)表示和推斷因果關(guān)系的方式。
Vicarious最近做了一個(gè)很好的研究,說(shuō)明了為什么該方法在電子游戲任務(wù)的表現(xiàn)上比深度學(xué)習(xí)效果更好- https://www.vicarious.com/img/icml2017-schemas.pdf
從“非結(jié)構(gòu)化”特征中學(xué)習(xí)
這一點(diǎn)可能還在爭(zhēng)論。我發(fā)現(xiàn)深度學(xué)習(xí)擅長(zhǎng)的一個(gè)領(lǐng)域是為特定任務(wù)找到有用的數(shù)據(jù)表示。
一個(gè)很好的例子是剛剛說(shuō)的詞嵌入。自然語(yǔ)言具有豐富而復(fù)雜的結(jié)構(gòu),可以用“上下文感知”網(wǎng)絡(luò)近似:每個(gè)單詞都可以在編碼了使用頻率較高的上下文的向量中進(jìn)行表示。在大型語(yǔ)料庫(kù)中學(xué)習(xí)的NLP任務(wù)中使用詞嵌入有時(shí)可以在另一個(gè)語(yǔ)料庫(kù)的特定任務(wù)中提升效果。
然而,如果所討論的語(yǔ)料庫(kù)是完全非結(jié)構(gòu)化的,則可能沒(méi)有任何用處。例如,假設(shè)您正在通過(guò)查看關(guān)鍵字的非結(jié)構(gòu)化列表來(lái)對(duì)對(duì)象進(jìn)行分類。由于關(guān)鍵字沒(méi)有在任何特定的結(jié)構(gòu)中使用(如在一個(gè)句子中),所以詞嵌入不太可能對(duì)此有所幫助。在這種情況下,數(shù)據(jù)就是一個(gè)詞袋,這種表示可能就足以滿足任務(wù)。
與此相反的是,如果您使用預(yù)訓(xùn)練的話,并且能更好地捕獲關(guān)鍵字相似度,那么詞嵌入就并不是那么昂貴。不過(guò),我還是寧愿從一個(gè)單詞的表示開(kāi)始,看看能否得到很好的預(yù)測(cè)。畢竟,這個(gè)詞袋的每個(gè)維度都比對(duì)應(yīng)的詞嵌入槽更容易解讀。
深度學(xué)習(xí)領(lǐng)域炙手可熱,資金充足,發(fā)展迅猛。當(dāng)你讀到在會(huì)議上發(fā)表的論文的時(shí)候,它已經(jīng)經(jīng)過(guò)兩三次迭代,并且已經(jīng)不值得推薦了。
這給我提出的以上幾點(diǎn)提了一個(gè)很大的醒:在不久的將來(lái),深度學(xué)習(xí)可能對(duì)這些情景來(lái)說(shuō)是非常有用的。
畢竟,用于解釋圖像和離散序列的深度學(xué)習(xí)模型的工具正變的越來(lái)越好。
像Edward(Google提出的一種深度概率編程語(yǔ)言)這樣的新軟件,已經(jīng)在綜合使用貝葉斯建模和深度網(wǎng)絡(luò)框架,以通過(guò)概率編程和自動(dòng)變分推理來(lái)量化神經(jīng)網(wǎng)絡(luò)參數(shù)和簡(jiǎn)單貝葉斯推斷的不確定性。
從長(zhǎng)遠(yuǎn)來(lái)看,可能會(huì)出現(xiàn)一個(gè)簡(jiǎn)化的建模詞匯表,以揭示深度網(wǎng)絡(luò)的顯著屬性,從而縮小你所需要嘗試的參數(shù)空間。
所以,請(qǐng)繼續(xù)刷arXiv吧,本文所談的內(nèi)容,可能一兩個(gè)月后就完全沒(méi)用了。
原文地址
http://hyperparameter.space/blog/when-not-to-use-deep-learning/
總結(jié)
以上是生活随笔為你收集整理的被捧上天的深度学习,遇到这些问题根本干不过简单模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 国际电信联盟(ITU)发布最新IDI指数
- 下一篇: 关于批量插入数据之我见(100万级别的数