近幾年,深度學習已經(jīng)進入一定程度的狂熱狀態(tài),人們正試圖用這個技術解決每一個問題。然而,深度學習真是萬能的嗎?閱讀此文后,你便能夠從深層理解為什么深度學習并不是想象的那般“神話”了。
近日,在深度學習領域出現(xiàn)了一場熱烈的爭論。這一切都要從 Jeff Leek 在 Simply Stats 上發(fā)表了一篇題為《數(shù)據(jù)量不夠大,別玩深度學習》(Don't use deep learning your data isn't that big)的博文開始。作者 Jeff Leek 在這篇博文中指出,當樣本數(shù)據(jù)集很小時(這種情況在生物信息領域很常見),即使有一些層和隱藏單元,具有較少參數(shù)的線性模型的表現(xiàn)是優(yōu)于深度網(wǎng)絡的。為了證明自己的論點,Leek 舉了一個基于 MNIST 數(shù)據(jù)庫進行圖像識別的例子,分辨 0 或者 1。他還表示,當在一個使用僅僅 80 個樣本的 MNIST 數(shù)據(jù)集中進行 0 和 1 的分類時,一個簡單的線性預測器(邏輯回歸)要比深度神經(jīng)網(wǎng)絡的預測準確度更高。
這篇博文的發(fā)表引起了領域內(nèi)的爭論,哈佛大學藥學院的生物醫(yī)藥信息學專業(yè)博士后 Andrew Beam 寫了篇文章來反駁:《就算數(shù)據(jù)不夠大,也能玩深度學習》(You can probably use deep learning even if your data isn't that big)。Andrew Beam 指出,即使數(shù)據(jù)集很小,一個適當訓練的深度網(wǎng)絡也能擊敗簡單的線性模型。
如今,越來越多的生物信息學研究人員正在使用深度學習來解決各種各樣的問題,這樣的爭論愈演愈烈。這種炒作是真的嗎?還是說線性模型就足夠滿足我們的所有需求呢?結(jié)論一如既往——要視情況而定。在這篇文章中,作者探索了一些機器學習的使用實例,在這些實例中使用深度學習并不明智。并且解釋了一些對深度學習的誤解,作者認為正是這些錯誤的認識導致深度學習沒有得到有效地使用,這種情況對于新手來說尤其容易出現(xiàn)。
首先,我們來看看許多外行者容易產(chǎn)生的偏見,其實是一些半真半假的片面認識。主要有兩點,其中的一點更具技術性,我將詳細解釋。
深度學習是在大數(shù)據(jù)的背景下火起來的(第一個谷歌大腦項目向深度神經(jīng)網(wǎng)絡提供了大量的 Youtube 視頻),自從那以后,絕大部分的深度學習內(nèi)容都是基于大數(shù)據(jù)量中的復雜算法。
然而,這種大數(shù)據(jù) + 深度學習的配對不知為何被人誤解為:深度學習不能應用于小樣本。如果只有幾個樣例,將其輸入具有高參數(shù)樣本比例的神經(jīng)網(wǎng)絡似乎一定會走上過擬合的道路。然而,僅僅考慮給定問題的樣本容量和維度,無論有監(jiān)督還是無監(jiān)督,幾乎都是在真空中對數(shù)據(jù)進行建模,沒有任何的上下文。
可能的數(shù)據(jù)情況是:你擁有與問題相關的數(shù)據(jù)源,或者該領域的專家可以提供的強大的先驗知識,或者數(shù)據(jù)可以以非常特殊的方式進行構(gòu)建(例如,以圖形或圖像編碼的形式)。所有的這些情況中,深度學習有機會成為一種可供選擇的方法——例如,你可以編碼較大的相關數(shù)據(jù)集的有效表示,并將該表示應用到你的問題中。
這種典型的示例常見于自然語言處理,你可以學習大型語料庫中的詞語嵌入,例如維基百科,然后將他們作為一個較小的、較窄的語料庫嵌入到一個有監(jiān)督任務中。極端情況下,你可以用一套神經(jīng)網(wǎng)絡進行聯(lián)合學習特征表示,香港服務器 香港服務器租用,這是在小樣本集中重用該表示的一種有效方式。這種方法被稱作“一次性學習”(one-shot learning),并且已經(jīng)成功應用到包括計算機視覺和藥物研發(fā)在內(nèi)的具有高維數(shù)據(jù)的領域。
藥物研發(fā)中的一次性學習網(wǎng)絡,摘自 Altae-Tran et al. ACS Cent. Sci. 2017
深度學習不是一切的答案
我聽過最多的第二個偏見就是過度宣傳。許多尚未入門該領域的人,僅僅因為深度神經(jīng)網(wǎng)絡在其它領域的出色表現(xiàn),就期待它也能為他們帶來神話般的表現(xiàn)提升。其他人則從深度學習在圖像、音樂和語言(與人類關系密切的三種數(shù)據(jù)類型)處理領域的令人印象深刻的表現(xiàn)中受到啟發(fā),于是就頭腦發(fā)熱地鉆入該領域,迫不及待地嘗試訓練最新的 GAN 結(jié)構(gòu)。
當然,這種大肆吹捧在很多方面是真實存在的。深度學習在機器學習中的地位不可小覷,也是數(shù)據(jù)建模方法庫的重要工具。它的普及帶動了諸如 tensorflow 和 pytorch 等許多重要框架的發(fā)展,它們即使是在深度學習之外也是十分有用的。失敗者崛起成為超級巨星的故事激勵了許多研究員重新審視以前的模糊算法,如進化算法和增強學習。