為什么有些數(shù)學研究者會看不慣甚至鄙視深度學習(Deep Learning)?
DL 的難度取決于看問題的角度。數(shù)學系的話應該往理論方向看。
DL 用線性和非線性函數(shù)堆砌來構(gòu)造函數(shù),用隨機梯度下降就可以訓練,而且還有非常好的泛化能力,在我看來這樣的東西居然沒有原理這是完全不可想像的。但是 DL 很難,難到大家都不知道如何入手,用什么數(shù)學工具都不知道,所以說什么樣的理論文章都有,凝聚態(tài)物理的(spin-glass),量子物理的(重整化群),ODE 的(動力系統(tǒng)),各種優(yōu)化理論(這個例子太多),各種復雜度理論,但還沒看到真正提煉出本質(zhì)的。數(shù)學這邊那么多理論,但現(xiàn)在還沒有哪個能搬到 DL 上而且能嚴絲合縫的,至于能進行有效預測的就更沒有了。這就足夠說明問題的復雜性,DL 是沒那么簡單的。
要深入 DL,各種基礎(chǔ)知識是不可少的。但是基礎(chǔ)知識并不是拿來炫耀的本錢,因為學了一大堆,可能一個都沒用。比如說 VC Dimension 或者 Rademacher Complexity 對 DL 有沒有用?它們本身都很漂亮,但可能假設(shè)太強得到的結(jié)論和現(xiàn)實差很遠,或者假設(shè)太寬泛得到的結(jié)論太弱,都不在 DL 的工作區(qū)間。所以做理論的人,不得不一個個學過來,想過了,試過了,然后放掉,下一個。解決問題是最終的目標,而不是學得比人多些,然后坐在原地不動夸耀自己厲害。耍弄十八般武藝,比不過高手一招制敵。至于這一招怎么找到,或者從理論分析這邊入手,或者從實驗入手,都是一樣有價值,都是平等的,不存在誰鄙視誰的問題。鄙視就意味著有不合理的預設(shè)立場,忽視另一種思路的作用,對解決問題是不利的。
學數(shù)學的時候,我的感覺像是走進了琳瑯滿目的藝術(shù)博物館,在整潔的環(huán)境中欣賞各種精巧的美。DL 相比之下就像是鍋爐房里堆疊著一坨污七八糟的機器,工程師們東敲西打讓它工作,雖然臟亂,確實有效。大部分人可以沿著前人鋪好的錦繡路上再添磚加瓦,但是真正厲害的,是不顧臟亂跑到鍋爐房里把機器拆開,化腐朽為神奇,找到最重要原理的那些人。開創(chuàng)比修補難,與其抱怨 DL 沒有高深數(shù)學做框架,不如自己試試看,能不能做些有趣的東西出來?,F(xiàn)在那么大的金礦放在那里,大家應該好好合作使勁挖礦才是啊。 小波是很美,但問題是它的基函數(shù)是固定形式的,不能適應具體問題,而且還需要數(shù)學家搞一輩子才能搞出來。與之相比,深度模型訓練幾天就能跑出來,而且針對具體問題(比如說圖像分類)效果還更好,你會選哪個?所以說現(xiàn)在思路要轉(zhuǎn)變,一個一個地研究模型太沒效率了,做一個對數(shù)據(jù)自動建模的模型,是不是在戰(zhàn)略上會更有趣一點呢?
我和我一個同學聊過,他現(xiàn)在是統(tǒng)計系的終身教授,列舉了幾個非常牛的數(shù)學家,問我 AI 再牛牛得過他們么?我沒有正面回答,我在想人類看螞蟻的時候會思考普通螞蟻和聰明一點的螞蟻之間的區(qū)別么?我這里并沒有貶低數(shù)學家的意思,因為人類都是一樣的,我也是微不足道的普通螞蟻而已——相比耗能堪比一座小城市并且每幾個月就更新?lián)Q代的集群,人腦僅僅幾十瓦的功率,神經(jīng)元間慢達毫秒級的傳輸速度,敗下陣來只是時間問題。而現(xiàn)在的人腦處理大部分任務甚至還遠勝集群,可見人工智能潛力之大。我有時候覺得我們看到幾顆星辰就以為是大突破了,其實我們還在漫漫長夜里瞎摸,太陽還沒有露頭呢。
另外說一下門檻低的問題。幾百年前,微積分出來之后,一大類問題都可以用統(tǒng)一的方法解決,讓技術(shù)進步的門檻降低了,本來高高在上的各種技巧平民化了,馬上就帶動了相關(guān)領(lǐng)域的巨大進展。這個歷史進程和我們現(xiàn)在看到深度學習的進程一模一樣,開源了,大家都用了,對整個人類而言進步就快了。到了這個時候,單槍匹馬干不了什么事,人民群眾才是技術(shù)進步的原動力。
面對時代的洪流,相比嘲弄別人隨波逐流,思考應該如何順勢而為,或許是更有建設(shè)性的吧。