編者按:Microsoft Semantic Machines資深研究科學家、UC Berkeley計算機科學博士Jacob Andreas指出,神經(jīng)網(wǎng)絡不應視為模型,因為神經(jīng)網(wǎng)絡的模型和推理過程不可分割。應該將推理過程視為機器學習問題的一等公民。
在大多數(shù)介紹人工智能的材料中,模型和推理過程的區(qū)分很關鍵。例如,HMM(隱馬爾可夫模型)是一類模型;維特比算法則是用于推理過程的一種算法,前向傳播算法是另一種推理算法,粒子濾波又是一種推理算法。
很多人將神經(jīng)網(wǎng)絡描述為一類模型(他們大概也把神經(jīng)網(wǎng)絡視作模型)。我主張這種觀點很有誤導性,將神經(jīng)網(wǎng)絡看成糾纏不清的模型-推理對(model-inference pairs)會更有用?!澳P?推理對”是一個長而拗口的詞,看起來現(xiàn)在也沒有什么很好的現(xiàn)成的簡稱,因此我將用模推(monferences)來指代這一概念。我主張我們應該將神經(jīng)網(wǎng)絡視為模推的一個例子。(搭配某種特定的HMM參數(shù)的維特比算法的一種實現(xiàn),同樣是模推。)
我將引用一些現(xiàn)有的論文,這些論文自然而然地符合將神經(jīng)網(wǎng)絡視為模推這一視角——看起來這一想法對許多人來說已經(jīng)是顯然的了。但我認為這一想法未曾被命名,也未曾經(jīng)過系統(tǒng)的處理。我希望其他人會像我一樣,覺得下面的內(nèi)容是有用的(或者至少厘清了一些東西)。
將神經(jīng)網(wǎng)絡視作模型的后果是什么?讓我舉一個自己的例子來說明:
我第一次看到循環(huán)神經(jīng)網(wǎng)絡的時候,我覺得“這是一個有趣的模型,搭配一個糟糕的推理過程”。循環(huán)網(wǎng)絡看起來像HMM。HMM有離散的隱藏狀態(tài),而循環(huán)網(wǎng)絡有隱藏狀態(tài)向量。在HMM中進行推理時,我們保持和輸出分布相一致的隱藏狀態(tài),但在循環(huán)網(wǎng)絡中進行推理時,我們僅僅保持單個向量——單個假設,加上貪婪推理過程。如果采用某種建模不確定性的方法,不是更好嗎?為什么不像卡爾曼濾波一樣對待RNN推理?
這完全錯了。探索為什么這是錯的,正是本文剩下部分的目標。
簡單來說,將循環(huán)網(wǎng)絡的隱藏狀態(tài)視作單個假設是毫無理由的。畢竟,一個足夠大的隱藏向量可以輕而易舉地表示前向傳播算法中的整張概率表——甚至可以表示粒子濾波的狀態(tài)。“HMM隱藏狀態(tài) = RNN隱藏狀態(tài)”這一類比不好;“HMM解碼器狀態(tài) = RNN隱藏狀態(tài)”這一類比更好。
讓我們通過實驗來探索這一點。(本節(jié)中的完整代碼見git.io/fN91L)。
我隨機生成了一個HMM,從中取樣了一組序列,并應用經(jīng)典的最小化風險過程。最終得到的“在線標簽”精確度為62.8。
針對這一在線標簽問題,另一種完全可以接受(但某種程度上更費力)的生成模推的方法是從HMM中抽取更多樣本,然后使用(觀測, 隱藏)序列作為RNN網(wǎng)絡的訓練數(shù)據(jù)(x, y):

(其中每個箭頭表示內(nèi)積加ReLU激活或log損失)。這一情形下取得的精確度為62.8。
兩個精確度是一樣的,這僅僅是個巧合?讓我們查看一些預測:

所以,甚至當兩個模推犯錯的時候,都犯了一樣的錯。
當然,我們知道,就這一問題而言,如果我們應用完整的前向-后向算法,并且同樣做出最大化邊際概率的預測,能得到稍好的結果。改進的經(jīng)典過程得到的精確度為63.3。如我們所料,這比上面兩種在線模型的表現(xiàn)要好。另一方面,在取自HMM的樣本上訓練一個雙向循環(huán)網(wǎng)絡同樣得到63.3的精確度。

預測取樣:
注意,我們這里使用的神經(jīng)網(wǎng)絡沒有編碼任何關于經(jīng)典消息傳遞的規(guī)則,并且絕對沒有編碼任何HMM內(nèi)部的生成過程。然而在兩種情形下,神經(jīng)網(wǎng)絡都成功取得了和結構相同的經(jīng)典消息傳遞過程一樣好(但沒有更好)的精確度。實際上,該神經(jīng)訓練過程相當于一段代碼,這段代碼和前向-后向算法做出一致的預測,卻對前向-后向算法毫無所知!
神經(jīng)網(wǎng)絡不是魔法——當我們的數(shù)據(jù)實際上是由HMM生成的時候,我們無法指望神經(jīng)模推擊?。?a href="http://m.sdkjxy.cn/v/tag/5122/" target="_blank">信息論上最優(yōu)的)經(jīng)典模推。但經(jīng)驗告訴我們,兩者的表現(xiàn)一樣好。隨著我們增強神經(jīng)架構,以匹配更強大的經(jīng)典推理過程的算法結構,它們的表現(xiàn)提升了。雙向循環(huán)網(wǎng)絡優(yōu)于前向循環(huán)網(wǎng)絡;每個“真”隱藏向量間具有多層的雙向網(wǎng)絡(arXiv:1602.08210)可能在一些任務上表現(xiàn)更好。
更妙的是,我們也許可以少操心更困難的情形,也就是原本需要手工調整某種逼近推理方案的情形。(例如:假設我們的轉移矩陣是一個巨大的排列組合。在經(jīng)典推理中,重復相乘可能非常昂貴,而嘗試取得轉移矩陣的低秩逼近則會損失信息。而一個神經(jīng)模推卻具備緊湊地表達模型動力學的潛力。)
目前為止我們討論的是序列,但在更多結構化數(shù)據(jù)上同樣存在對應。就樹形問題而言,我們可以應用某種類似固定樹上的內(nèi)向算法(aclweb/P13-1045),或者整個稀疏化解析表上的內(nèi)向-外向算法(aclweb/D15-1137)。而對任意圖而言,我們可以應用“圖卷積”(arXiv:1509.09292),隨著圖卷積的重復,它開始看起來像是置信傳播。
這里有一條一般原則:任何保持離散狀態(tài)分布的推理算法,都可以轉換:
將表單元或離散分布替換為向量
將單元間的信息替換為循環(huán)網(wǎng)絡
展開“推理”過程(選擇一個合適的迭代數(shù))
通過反向傳播進行訓練
所得的模推至少和相應的經(jīng)典過程具備同樣的表達能力。在有必要逼近的地方,我們可以(至少從經(jīng)驗上說)通過在數(shù)據(jù)上端到端地訓練,學習正確的逼近。
這種通過反向傳播逼近推理過程,但并不嘗試學習推理函數(shù)本身的想法已經(jīng)提出了有一段時間了。(doi/10.1.1.207.9392、 arXiv:1508.02375)
我認為結合這一框架的各部分至少可以寫一篇句法分析的論文,而圖結構數(shù)據(jù)方面還有很多工作可以做。
我說明了模推這一角度是有用的。但是果真如此嗎?神經(jīng)網(wǎng)絡確實是模推,而不是模型,這有準確的意義嗎?
不。這里有一個基礎性的可識別問題——我們無法真正區(qū)分“酷炫的模型搭配微不足道的推理”和“神秘的模型搭配復雜的推理”。因此,給定訓練好的神經(jīng)網(wǎng)絡,詢問它進行推理的模型是哪個同樣毫無意義。另一方面,通過蒸餾法訓練的神經(jīng)網(wǎng)絡(arXiv:1503.02531)看起來倒挺像“同一模型,不同模推”的良好人選。同時,將神經(jīng)網(wǎng)絡視作模型這一角度也不應該完全忽略:它形成了成果累累的系列工作,將CRF中的對數(shù)線性回歸模型替換為神經(jīng)網(wǎng)絡(arXiv:1507.03641)。盡管這些方法通常的賣點之一是“你可以保留動態(tài)程序”,我們之前論證了這一點在恰當組織的神經(jīng)網(wǎng)絡上同樣成立。
不管怎么說,由于機器學習社區(qū)這一角落的研究重點在向計劃、推理和困難算法問題(nips2015/4G4h)轉變,我認為將神經(jīng)網(wǎng)絡視作模推的角度將占統(tǒng)治地位。
除此以外,當我們回顧十年前的“深度學習革命”時,我認為最重要的經(jīng)驗教訓是端到端訓練解碼器的重要性和推理過程,甚至在幾乎看起來完全不像是神經(jīng)網(wǎng)絡的系統(tǒng)(arXiv:1601.01705)中也是如此。所以在創(chuàng)建學習系統(tǒng)的時候,不要問:“我的變量的概率關系是什么?”而問:“我如何逼近我的問題的推理函數(shù)?”,并嘗試直接學習這一逼近。為了高效地達成這一點,我們可以使用我們所知道的關于經(jīng)典推理過程的一切知識。不過,我們同時也應該開始將推理視作學習問題的一等公民。
感謝Matt Gormley(他的EMNLP演講讓我開始思考這一問題),以及Robert Nishihara和Greg Durrett的反饋。
同樣感謝Jason Eisner的金玉良言:“一個拙劣的混成詞,因為monference應該是一個像model一樣的可數(shù)名詞,但它的后綴卻取自inference這個集合名詞。我可沒說infedel要好太多……”
-
神經(jīng)網(wǎng)絡
+關注
關注
42文章
4844瀏覽量
108212 -
人工智能
+關注
關注
1821文章
50367瀏覽量
267074 -
機器學習
+關注
關注
67文章
8567瀏覽量
137264
原文標題:神經(jīng)網(wǎng)絡不應視為模型,推理過程當為機器學習問題一等公民
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
將神經(jīng)網(wǎng)絡視作模型的后果是什么?
評論