0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

將神經(jīng)網(wǎng)絡(luò)視作模型的后果是什么?

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-08-23 09:06 ? 次閱讀

編者按:Microsoft Semantic Machines資深研究科學(xué)家、UC Berkeley計算機(jī)科學(xué)博士Jacob Andreas指出,神經(jīng)網(wǎng)絡(luò)不應(yīng)視為模型,因為神經(jīng)網(wǎng)絡(luò)的模型和推理過程不可分割。應(yīng)該將推理過程視為機(jī)器學(xué)習(xí)問題的一等公民。

在大多數(shù)介紹人工智能的材料中,模型和推理過程的區(qū)分很關(guān)鍵。例如,HMM(隱馬爾可夫模型)是一類模型;維特比算法則是用于推理過程的一種算法,前向傳播算法是另一種推理算法,粒子濾波又是一種推理算法。

很多人將神經(jīng)網(wǎng)絡(luò)描述為一類模型(他們大概也把神經(jīng)網(wǎng)絡(luò)視作模型)。我主張這種觀點(diǎn)很有誤導(dǎo)性,將神經(jīng)網(wǎng)絡(luò)看成糾纏不清的模型-推理對(model-inference pairs)會更有用?!澳P?推理對”是一個長而拗口的詞,看起來現(xiàn)在也沒有什么很好的現(xiàn)成的簡稱,因此我將用模推(monferences)來指代這一概念。我主張我們應(yīng)該將神經(jīng)網(wǎng)絡(luò)視為模推的一個例子。(搭配某種特定的HMM參數(shù)的維特比算法的一種實現(xiàn),同樣是模推。)

我將引用一些現(xiàn)有的論文,這些論文自然而然地符合將神經(jīng)網(wǎng)絡(luò)視為模推這一視角——看起來這一想法對許多人來說已經(jīng)是顯然的了。但我認(rèn)為這一想法未曾被命名,也未曾經(jīng)過系統(tǒng)的處理。我希望其他人會像我一樣,覺得下面的內(nèi)容是有用的(或者至少厘清了一些東西)。

將神經(jīng)網(wǎng)絡(luò)視作模型的后果是什么?讓我舉一個自己的例子來說明:

我第一次看到循環(huán)神經(jīng)網(wǎng)絡(luò)的時候,我覺得“這是一個有趣的模型,搭配一個糟糕的推理過程”。循環(huán)網(wǎng)絡(luò)看起來像HMM。HMM有離散的隱藏狀態(tài),而循環(huán)網(wǎng)絡(luò)有隱藏狀態(tài)向量。在HMM中進(jìn)行推理時,我們保持和輸出分布相一致的隱藏狀態(tài),但在循環(huán)網(wǎng)絡(luò)中進(jìn)行推理時,我們僅僅保持單個向量——單個假設(shè),加上貪婪推理過程。如果采用某種建模不確定性的方法,不是更好嗎?為什么不像卡爾曼濾波一樣對待RNN推理?

這完全錯了。探索為什么這是錯的,正是本文剩下部分的目標(biāo)。

簡單來說,將循環(huán)網(wǎng)絡(luò)的隱藏狀態(tài)視作單個假設(shè)是毫無理由的。畢竟,一個足夠大的隱藏向量可以輕而易舉地表示前向傳播算法中的整張概率表——甚至可以表示粒子濾波的狀態(tài)。“HMM隱藏狀態(tài) = RNN隱藏狀態(tài)”這一類比不好;“HMM解碼器狀態(tài) = RNN隱藏狀態(tài)”這一類比更好。

讓我們通過實驗來探索這一點(diǎn)。(本節(jié)中的完整代碼見git.io/fN91L)。

我隨機(jī)生成了一個HMM,從中取樣了一組序列,并應(yīng)用經(jīng)典的最小化風(fēng)險過程。最終得到的“在線標(biāo)簽”精確度為62.8。

針對這一在線標(biāo)簽問題,另一種完全可以接受(但某種程度上更費(fèi)力)的生成模推的方法是從HMM中抽取更多樣本,然后使用(觀測, 隱藏)序列作為RNN網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)(x, y):

(其中每個箭頭表示內(nèi)積加ReLU激活或log損失)。這一情形下取得的精確度為62.8。

兩個精確度是一樣的,這僅僅是個巧合?讓我們查看一些預(yù)測:

所以,甚至當(dāng)兩個模推犯錯的時候,都犯了一樣的錯。

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

預(yù)測取樣:

注意,我們這里使用的神經(jīng)網(wǎng)絡(luò)沒有編碼任何關(guān)于經(jīng)典消息傳遞的規(guī)則,并且絕對沒有編碼任何HMM內(nèi)部的生成過程。然而在兩種情形下,神經(jīng)網(wǎng)絡(luò)都成功取得了和結(jié)構(gòu)相同的經(jīng)典消息傳遞過程一樣好(但沒有更好)的精確度。實際上,該神經(jīng)訓(xùn)練過程相當(dāng)于一段代碼,這段代碼和前向-后向算法做出一致的預(yù)測,卻對前向-后向算法毫無所知!

神經(jīng)網(wǎng)絡(luò)不是魔法——當(dāng)我們的數(shù)據(jù)實際上是由HMM生成的時候,我們無法指望神經(jīng)模推擊敗(信息論上最優(yōu)的)經(jīng)典模推。但經(jīng)驗告訴我們,兩者的表現(xiàn)一樣好。隨著我們增強(qiáng)神經(jīng)架構(gòu),以匹配更強(qiáng)大的經(jīng)典推理過程的算法結(jié)構(gòu),它們的表現(xiàn)提升了。雙向循環(huán)網(wǎng)絡(luò)優(yōu)于前向循環(huán)網(wǎng)絡(luò);每個“真”隱藏向量間具有多層的雙向網(wǎng)絡(luò)(arXiv:1602.08210)可能在一些任務(wù)上表現(xiàn)更好。

更妙的是,我們也許可以少操心更困難的情形,也就是原本需要手工調(diào)整某種逼近推理方案的情形。(例如:假設(shè)我們的轉(zhuǎn)移矩陣是一個巨大的排列組合。在經(jīng)典推理中,重復(fù)相乘可能非常昂貴,而嘗試取得轉(zhuǎn)移矩陣的低秩逼近則會損失信息。而一個神經(jīng)模推卻具備緊湊地表達(dá)模型動力學(xué)的潛力。)

目前為止我們討論的是序列,但在更多結(jié)構(gòu)化數(shù)據(jù)上同樣存在對應(yīng)。就樹形問題而言,我們可以應(yīng)用某種類似固定樹上的內(nèi)向算法(aclweb/P13-1045),或者整個稀疏化解析表上的內(nèi)向-外向算法(aclweb/D15-1137)。而對任意圖而言,我們可以應(yīng)用“圖卷積”(arXiv:1509.09292),隨著圖卷積的重復(fù),它開始看起來像是置信傳播。

這里有一條一般原則:任何保持離散狀態(tài)分布的推理算法,都可以轉(zhuǎn)換:

將表單元或離散分布替換為向量

將單元間的信息替換為循環(huán)網(wǎng)絡(luò)

展開“推理”過程(選擇一個合適的迭代數(shù))

通過反向傳播進(jìn)行訓(xùn)練

所得的模推至少和相應(yīng)的經(jīng)典過程具備同樣的表達(dá)能力。在有必要逼近的地方,我們可以(至少從經(jīng)驗上說)通過在數(shù)據(jù)上端到端地訓(xùn)練,學(xué)習(xí)正確的逼近。

這種通過反向傳播逼近推理過程,但并不嘗試學(xué)習(xí)推理函數(shù)本身的想法已經(jīng)提出了有一段時間了。(doi/10.1.1.207.9392、 arXiv:1508.02375)

我認(rèn)為結(jié)合這一框架的各部分至少可以寫一篇句法分析的論文,而圖結(jié)構(gòu)數(shù)據(jù)方面還有很多工作可以做。

我說明了模推這一角度是有用的。但是果真如此嗎?神經(jīng)網(wǎng)絡(luò)確實是模推,而不是模型,這有準(zhǔn)確的意義嗎?

不。這里有一個基礎(chǔ)性的可識別問題——我們無法真正區(qū)分“酷炫的模型搭配微不足道的推理”和“神秘的模型搭配復(fù)雜的推理”。因此,給定訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),詢問它進(jìn)行推理的模型是哪個同樣毫無意義。另一方面,通過蒸餾法訓(xùn)練的神經(jīng)網(wǎng)絡(luò)(arXiv:1503.02531)看起來倒挺像“同一模型,不同模推”的良好人選。同時,將神經(jīng)網(wǎng)絡(luò)視作模型這一角度也不應(yīng)該完全忽略:它形成了成果累累的系列工作,將CRF中的對數(shù)線性回歸模型替換為神經(jīng)網(wǎng)絡(luò)(arXiv:1507.03641)。盡管這些方法通常的賣點(diǎn)之一是“你可以保留動態(tài)程序”,我們之前論證了這一點(diǎn)在恰當(dāng)組織的神經(jīng)網(wǎng)絡(luò)上同樣成立。

不管怎么說,由于機(jī)器學(xué)習(xí)社區(qū)這一角落的研究重點(diǎn)在向計劃、推理和困難算法問題(nips2015/4G4h)轉(zhuǎn)變,我認(rèn)為將神經(jīng)網(wǎng)絡(luò)視作模推的角度將占統(tǒng)治地位。

除此以外,當(dāng)我們回顧十年前的“深度學(xué)習(xí)革命”時,我認(rèn)為最重要的經(jīng)驗教訓(xùn)是端到端訓(xùn)練解碼器的重要性和推理過程,甚至在幾乎看起來完全不像是神經(jīng)網(wǎng)絡(luò)的系統(tǒng)(arXiv:1601.01705)中也是如此。所以在創(chuàng)建學(xué)習(xí)系統(tǒng)的時候,不要問:“我的變量的概率關(guān)系是什么?”而問:“我如何逼近我的問題的推理函數(shù)?”,并嘗試直接學(xué)習(xí)這一逼近。為了高效地達(dá)成這一點(diǎn),我們可以使用我們所知道的關(guān)于經(jīng)典推理過程的一切知識。不過,我們同時也應(yīng)該開始將推理視作學(xué)習(xí)問題的一等公民。

感謝Matt Gormley(他的EMNLP演講讓我開始思考這一問題),以及Robert Nishihara和Greg Durrett的反饋。

同樣感謝Jason Eisner的金玉良言:“一個拙劣的混成詞,因為monference應(yīng)該是一個像model一樣的可數(shù)名詞,但它的后綴卻取自inference這個集合名詞。我可沒說infedel要好太多……”

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標(biāo)題:神經(jīng)網(wǎng)絡(luò)不應(yīng)視為模型,推理過程當(dāng)為機(jī)器學(xué)習(xí)問題一等公民

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    神經(jīng)網(wǎng)絡(luò)教程(李亞非)

      第1章 概述  1.1 人工神經(jīng)網(wǎng)絡(luò)研究與發(fā)展  1.2 生物神經(jīng)元  1.3 人工神經(jīng)網(wǎng)絡(luò)的構(gòu)成  第2章人工神經(jīng)網(wǎng)絡(luò)基本模型  2.
    發(fā)表于 03-20 11:32

    【PYNQ-Z2試用體驗】神經(jīng)網(wǎng)絡(luò)基礎(chǔ)知識

    學(xué)習(xí)和認(rèn)知科學(xué)領(lǐng)域,是一種模仿生物神經(jīng)網(wǎng)絡(luò)(動物的中樞神經(jīng)系統(tǒng),特別是大腦)的結(jié)構(gòu)和功能的數(shù)學(xué)模型或計算模型,用于對函數(shù)進(jìn)行估計或近似。神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 03-03 22:10

    如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?

    原文鏈接:http://tecdat.cn/?p=5725 神經(jīng)網(wǎng)絡(luò)是一種基于現(xiàn)有數(shù)據(jù)創(chuàng)建預(yù)測的計算系統(tǒng)。如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)包括:輸入層:根據(jù)現(xiàn)有數(shù)據(jù)獲取輸入的層隱藏層:使用反向傳播優(yōu)化輸入變量權(quán)重的層,以提高
    發(fā)表于 07-12 08:02

    卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用

    。神經(jīng)網(wǎng)絡(luò)的思想起源于1943年McCulloch 和 Pitts 提出的神經(jīng)元模型[19],簡稱 MCP 神經(jīng)元模 型。它是利用計算機(jī)來模擬人的神經(jīng)元反應(yīng)的過 程,具有開創(chuàng)性意義。此
    發(fā)表于 08-02 10:39

    神經(jīng)網(wǎng)絡(luò)模型原理

    神經(jīng)網(wǎng)絡(luò)模型原理介紹說明。
    發(fā)表于 04-21 09:40 ?7次下載

    卷積神經(jīng)網(wǎng)絡(luò)模型有哪些?卷積神經(jīng)網(wǎng)絡(luò)包括哪幾層內(nèi)容?

    卷積神經(jīng)網(wǎng)絡(luò)模型有哪些?卷積神經(jīng)網(wǎng)絡(luò)包括哪幾層內(nèi)容? 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是深度學(xué)習(xí)領(lǐng)域中最廣泛應(yīng)用的
    的頭像 發(fā)表于 08-21 16:41 ?1930次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)模型原理 卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)

    數(shù)據(jù)的不同方面,從而獲得預(yù)測和最終的表??現(xiàn)。本文提供有關(guān)卷積神經(jīng)網(wǎng)絡(luò)模型的工作原理和結(jié)構(gòu)的詳細(xì)信息,包括其在圖像、語音和自然語言處理等不同領(lǐng)域的應(yīng)用。 卷積神經(jīng)網(wǎng)絡(luò)的工作原理: 卷
    的頭像 發(fā)表于 08-21 16:41 ?1031次閱讀

    常見的卷積神經(jīng)網(wǎng)絡(luò)模型 典型的卷積神經(jīng)網(wǎng)絡(luò)模型

    各種任務(wù)表現(xiàn)出色。在本文中,我們介紹常見的卷積神經(jīng)網(wǎng)絡(luò)模型,包括LeNet、AlexNet、VGG、GoogLeNet、ResNet、Inception和Xception。 1. LeNet
    的頭像 發(fā)表于 08-21 17:11 ?2845次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)模型 卷積神經(jīng)網(wǎng)絡(luò)預(yù)測模型 生成卷積神經(jīng)網(wǎng)絡(luò)模型

    cnn卷積神經(jīng)網(wǎng)絡(luò)模型 卷積神經(jīng)網(wǎng)絡(luò)預(yù)測模型 生成卷積神經(jīng)網(wǎng)絡(luò)模型? 卷積
    的頭像 發(fā)表于 08-21 17:11 ?1246次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)模型搭建

    卷積神經(jīng)網(wǎng)絡(luò)模型搭建 卷積神經(jīng)網(wǎng)絡(luò)模型是一種深度學(xué)習(xí)算法。它已經(jīng)成為了計算機(jī)視覺和自然語言處理等各種領(lǐng)域的主流算法,具有很大的應(yīng)用前景。本篇文章
    的頭像 發(fā)表于 08-21 17:11 ?964次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)模型的優(yōu)缺點(diǎn)

    等領(lǐng)域中非常流行,可用于分類、分割、檢測等任務(wù)。而在實際應(yīng)用中,卷積神經(jīng)網(wǎng)絡(luò)模型有其優(yōu)點(diǎn)和缺點(diǎn)。這篇文章詳細(xì)介紹卷積神經(jīng)網(wǎng)絡(luò)模型的特點(diǎn)、優(yōu)
    的頭像 發(fā)表于 08-21 17:15 ?4504次閱讀

    構(gòu)建神經(jīng)網(wǎng)絡(luò)模型的常用方法 神經(jīng)網(wǎng)絡(luò)模型的常用算法介紹

    神經(jīng)網(wǎng)絡(luò)模型是一種通過模擬生物神經(jīng)元間相互作用的方式實現(xiàn)信息處理和學(xué)習(xí)的計算機(jī)模型。它能夠?qū)斎霐?shù)據(jù)進(jìn)行分類、回歸、預(yù)測和聚類等任務(wù),已經(jīng)廣泛應(yīng)用于計算機(jī)視覺、自然語言處理、語音處理等
    發(fā)表于 08-28 18:25 ?1033次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型的分類有哪些

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks, ANNs)是一種模擬人腦神經(jīng)元網(wǎng)絡(luò)的計算模型,它在許多領(lǐng)域,如圖像識別、語音識別、自然語言處理、預(yù)測分析等有著廣泛的應(yīng)用。本文
    的頭像 發(fā)表于 07-05 09:13 ?1233次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型包含哪些層次

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)是一種模擬人腦神經(jīng)網(wǎng)絡(luò)的計算模型,具有自適應(yīng)、自學(xué)習(xí)、泛化能力強(qiáng)等特點(diǎn)。本文詳細(xì)介紹人工
    的頭像 發(fā)表于 07-05 09:17 ?604次閱讀

    PyTorch神經(jīng)網(wǎng)絡(luò)模型構(gòu)建過程

    PyTorch,作為一個廣泛使用的開源深度學(xué)習(xí)庫,提供了豐富的工具和模塊,幫助開發(fā)者構(gòu)建、訓(xùn)練和部署神經(jīng)網(wǎng)絡(luò)模型。在神經(jīng)網(wǎng)絡(luò)模型中,輸出層是尤為關(guān)鍵的部分,它負(fù)責(zé)
    的頭像 發(fā)表于 07-10 14:57 ?508次閱讀