AI的未來--深度學習和貝葉斯的進擊
我畢業的那個時間節點01-02年, 做計算機視覺的人其實非常痛苦, 傳統幾何的東西3d geometry做完了。 神經網路因為沒有理論基礎, 效果受限於計算能力也並不好, 在當時基本被當作騙子。vision的人抓住SVM, boosting 當作救命稻草, 這兩個東西工程上都有用, 也號稱有統計學習理論做基礎。 我當時費了很大力氣, 學習了統計學習理論VC維數等知識, 看明白以後, 有點失望, 理論倒是不錯, 但是離實踐太遠, 不能用來指導具體的研究工作。後來發現Micheal Jordan(UC Berkley教授, 跟打籃球的那個同名) 在貝葉斯網路基礎上搞圖模型,他當時也是剛剛立山頭。 一看就覺得有道理, 特別是動態系統也能放在同一套框架下。 理論完善, 也能操作, 當真找到救命稻草, 救我一命, 得以畢業。
但是圖模型雖然理論框架非常完善, 也有對應的學習訓練方法: 比如MCMC通殺,就是太慢; 快一點還有變分學習, 凸優化等等; 總之各種學習方法都能嘗試,但是仍然存在表現能力太弱的問題。我要學習人體運動的模型, 從統計意義上講, 是要估計人體運動所在空間的一個概率分布。 這個空間太大, 我們用貝葉斯方法和人的先驗知識,控制模型複雜程度。 加上BIC這樣的準則, 保證在有限數據集上訓練出結果來。 我一開始就糾結在DBN的觀測模型上, 觀測模型本質上是要學習從系統內部狀態到外部數據表示的一個映射關係。在Jordan的統計框架下用的最多的是混合高斯。 混合高斯其實過分抽象了, 表現不了數據樣本的細微分布, 當時也沒有深度學習網路這種東西。 找來找去, 我從傳統控制領域找來了線性動態系統LDS。 LDS本來就是做動態的, 做對運動建模比混合高斯高到不知哪裡去了。 再加上有後面的圖模型做高層推斷, 一定意義上把舞蹈建模這個問題就解掉了一點點。現在樂總的文章里提到用深度學習和圖模型做結合,用圖模型做reasoning。 其實類似我當年的路子, 把LDS換成深度神經網路, 對狀態到數據的映射關係表現能力更強。 結合圖模型又有一個完備的學習框架, 這樣會對深度學習有個大大的提升。此外樂總還提到對抗式網路的思路, 訓練兩個網路, 一個做生成, 一個做判決, 兩個網路一起競爭, 大家都越來越好, 這樣就可以結合有監督和無監督。 讓我也回憶起當年做合成時的疑惑。 通常統計學習建模對付問題有兩種思路, 一種是估計聯合概率分布, 一種是學習條件概率分布。前者其實是最核心的。 有個完全分布,那什麼都有了。 但是模型參數太多, 數據有限, 學起來太難。 所以實踐中搞搞條件分布, 壓縮下供學習的概率空間, 學起來容易些。 對我的生成數據來說, 不管是條件分布, 還是聯合分布, 模型受計算能力的限制, 信息量總是有限的, 要用來生成像樣的數據, 全random肯定不行, 建模時丟了太多信息。 怎麼把丟的東西找回來, 還是得靠知識, Lds動態系統就是利用了人的知識對運動的一種高層抽象。有了lds,就可以基於隨機雜訊做出像模像樣的人體舞蹈動作來。機器就真的能畫畫,跳舞了。 現在大家都說用深度網路學不出知識。 其實我感覺沒那麼複雜, 樂總說的這個對抗網路的巧妙設計, 將來發展一定可用來解決這個問題。
具體到合成怎麼做,真的靠雜訊驅動模型就可以嗎?答案是不可以,模型表示能力畢竟有限,此外一個非線性動態系統,趨向於混沌,你就算模型全對,時間一長也沒法預期。那怎麼辦?加約束。當時的做法實際上是先編舞,再跳舞,人工設定幾個關鍵動作,模型把中間的過程推出來,結果也挺有意思,雜訊加的多一點,動作就誇張一點,不加雜訊就很直白。編舞能不能機器做? 這個就涉及到一些相對抽象的知識表示和生成,尤其是動態一類的,應當是和自然語言理解能否突破相關, Hinton在文中提到的序列推理模型,可能是解決這個問題的出路。當年在微軟實習的時候, 微軟Cambridge研究院有人來,討論過為什麼語音識別和語音合成完全是兩條路,能不能用一個統計框架統一起來。答案是可以,語音識別用的hmm是dbn的特例,合成用template是知識表示,但是語音後邊有語義,遠比跳舞複雜。當時的計算能力下,統計模型差太遠,幹不了這事,也許現在技術進步了,有人可以琢磨下。google那篇文章中說道最讓人興奮的事情,有人提到就是用生成模型做合成,補充人類的創造力(這野心)。比如塗鴉,藝術風格轉換(這個最近大火的某p應用以及證實了),還有megenta即將完成的音樂生成模型(這事什麼鬼)。邏輯也是很簡單,內容的輸出最有價值(公號以後要讓Ai來寫了?我說的可不是今日頭條)總體來說, AI 進步很快, 很有希望!有這麼多聰明人參與,一個一個問題的解。似乎已經看到曙光了。 但是具體要多久的問題,基本屬於神棍預測,幾個指標,計算能力應當以及快沒有障礙了,5年之內像人這麼重的機器,計算能力應當就能超過人。演算法雖然很多人嚷嚷摸不到頭腦,但實際上小突破一直有,按照學術研究的特點,我預計主要問題解掉大概要10年左右。然後是數據積累,這個最不是問題。最後就是誰來集大成,會有各種阻力,但應當也就是10年功夫,所以樂觀預計, 只要20年,悲觀一點,40年,都在有生之年可以看到。但話又說回來, AI進步還是不要太快的好。 原因你懂得!
推薦閱讀:
※Deepmind與暴雪開源介面,人工智慧挑戰星際爭霸到哪一步了? | 陳經
※主流的深度學習模型有哪些?
※邊看邊練的簡明機器學習教程 Part II
※深度學習——分類之SENet
※人類的宿命-人是什麼系列外篇之三
TAG:人工智能 |