五月婷婷欧美视频_少女频道在线观看高清_欧美日韩视频一区二区三区_7777精品伊久久久大香线蕉语言

首頁 > 機器人資訊 > 運用深度學習教機器人理解自然語言

運用深度學習教機器人理解自然語言

日期:2018-10-29   人氣:  來源:互聯網
簡介:在深度學習出現之前,文字所包含的意思是通過人為設計的符號和結構傳達給計算機的。本文討論了深度學習如何用向量來表示語義,如何更靈活地表示向量,如何用向量編碼的語義去完成翻譯,以及有待改進的地方。 在深度學習出現之前,我們書寫的文字所包含的意……

在深度學習出現之前,文字所包含的意思是通過人為設計的符號和結構傳達給計算機的。本文討論了深度學習如何用向量來表示語義,如何更靈活地表示向量,如何用向量編碼的語義去完成翻譯,以及有待改進的地方。

在深度學習出現之前,我們書寫的文字所包含的意思是通過人為設計的符號和結構傳達給計算機的。其符號方法包括WordNet、ConceptNet和FrameNet,通過對比來更好地理解深度學習的能力。然后我會討論深度學習如何用向量來表示語義,以及如何更靈活地表示向量。接著我將探討如何用向量編碼的語義去完成翻譯,甚至為圖片添加描述和用文字回答問題。最后,庫卡機器人,總結了用深度學習技術真正地理解人類語言還需要哪些改進。

WordNet可能是最著名的象征意義的語料庫,由普林斯頓大學研發。它將意思相近的單詞歸為一組,并且表示組與組之間的層次聯系。舉個例子,它認為轎車和汽車指的是同一個物體,都是屬于一類交通工具。

ConceptNet是來自麻省理工學院的語義網絡。它表示的關系比WordNet更廣。例如,ConceptNet認為面包一詞往往出現在烤面包機附近。然而,詞語間的這種關系實在是不勝枚舉。理想情況下,我們會說面包機不能被叉子插入。

FrameNet是伯克利大學的一個項目,它試圖用框架對語義歸檔。框架表示各種概念及其相關的角色。例如,孩子生日聚會框架的不同部分有著不同的角色,比如場地、娛樂活動和糖源。另一個框架是購買這個行為,包括賣方、買方和交易商品。計算機能夠通過搜索觸發框架的關鍵詞來理解文字。這些框架需要手動創建,它們的觸發詞也需要手動關聯。我們可以用這種方式來表示大量知識,但是很難一五一十地明確寫出來。因為內容實在太多,完完全全寫出來也太費神了。

符號也可以用來創建語言模型,計算某個單詞將會出現在句子中的概率。舉個例子,假設我剛剛寫下我吃了,那么下一個詞語是慶豐包子的概率,可以用語料庫中我吃了慶豐包子出現的次數除以我吃了出現的次數來計算。此類模型相當有用,但我們知道慶豐包子與狗不理包子非常相似,至少比電飯鍋相似,但是模型并沒有利用這種相似性的優勢。使用的詞語有千千萬萬,若是存儲所有三詞短語需消耗(詞語數量x詞語數量x詞語數量)存儲空間,這也是使用符號所帶來的問題,因為詞語以及詞語的組合實在太多。所以,我們需要一種更好的方式。

使用向量表示語義

深度學習使用向量來表示語義,因此概念不再是由一個龐大的符號來表示,而是由特征值表示的一個向量來表示。向量的每個索引代表神經網絡訓練得到的一個特征,向量的長度一般在300左右。這是一種更加有效的概念表示方法,因為這里的概念是由特征組成的。兩個符號只有相同或者不同兩種情況,而兩個向量可以用相似性來衡量。慶豐包子對應的向量與狗不理包子對應的向量很接近,但是它們和轎車對應的向量差別很大。如同WordNet處理方式一樣,相似的向量被歸為同一類。

向量還存在內部結構。如果你用意大利向量減去羅馬向量,得到的結果應該與法國向量減去巴黎向量的結果非常接近。我們可以用一個等式來表示:

意大利-羅馬=法國-巴黎

另一個例子是:

國王-皇后=男人-女人

我們通過訓練神經網絡來預測每個詞語附近的詞語,得到帶有這些屬性的向量。你可以從谷歌或者是斯坦福直接下載已經訓練好的向量,或是用Gensim軟件庫自己訓練。令人驚訝的是這種方法竟然有效,而且詞向量有如此直觀的相似性和聯系,但事實上確實是有效。

由詞向量構成語義

我們已經有了原來表示單個詞語的向量,該如何用這些詞表示語義,甚至形成完整的句子呢?我們使用一種稱為遞歸神經網絡(recurrentneuralnetwork,RNN)的技術,如下圖所示。用RNN把句子Thewomanatetacos.編碼為向量,記作h4。單詞the的詞向量記作h0,然后RNN把h0與表示woman的詞向量結合,生成新的向量h1。然后向量h1繼續與下一個單詞ate的詞向量結合,生成新的向量h2,以此類推,直到向量h4。向量h4則表示了完整的句子。

一旦信息被編碼為一個向量,我們就能將其解碼為另一種形式,如下圖所示。比如,RNN隨后可以將向量h4表示的句子翻譯(解碼)成西班牙語。它先根據已有向量h4生成一個最有可能的單詞。向量h4與新生成的單詞La一起又產生了向量h5。在向量h5的基礎上,RNN推出下一個最有可能出現的單詞,mujer。重復進行這個過程直到產生句號,網絡結構也到此為止。

使用這種編碼器解碼器模型來做語言轉換,需要用一個包含大量源語言與目標語言的語料庫,基于這個語料庫訓練RNN網絡。這些RNN通常含有非常復雜的內部節點,整個模型往往有幾百萬個參數需要學習。

我們可以將解碼的結果以任何形式輸出,例如解析樹(parsetree),或是圖像的描述,假設有足夠多包含描述的圖像素材。當給圖片添加描述時,你可以用圖片訓練一個神經網絡來識別圖像中的物體。然后,把神經網絡輸出層的權重值作為這幅圖像的向量表示,再將這個向量用解碼器解析出圖像的描述。

從合成語義到關注、記憶和問答

剛才的編碼器解碼器方法似乎像是小把戲,我們接著就慢慢的來看看其在實際場景的應用。我們可以把解碼的過程想象成回答問題,這句話該怎么翻譯?或者,已經有了待翻譯的句子,并且一部分內容已經翻譯了,那么接下去該怎么寫?

為了回答這些問題,算法首先需要記住一些狀態。在之前提到的例子中,系統只記住當前向量狀態h以及最后寫下的單詞。若是我們想讓它能運用之前全部所見所學該怎么辦?在機器翻譯的例子里,這就意味著在選擇下一個單詞時,要能夠回溯之前的狀態向量h0、h1、h2和h3。創造了能滿足這種需求的網絡結構。神經網絡學習如何在每個決策點確定之前哪個記憶狀態是最相關的。我們可以認為這是一個關注記憶的焦點。

它的意義在于,由于我們可以將概念和語句編碼為向量,并且我們可以使用大量的向量作為記憶元素,通過搜索能找到問題的最佳答案,那么深度學習技術就能用文字來回答問題了。舉一個最簡單的例子,用表示問題的向量與表示記憶的向量做內積運算,把最吻合的結果作為問題的最佳回答。另一種方法是把問題和事實用多層神經網絡進行編碼,并把最后一層輸出傳給一個函數,函數的輸出即為答案。這些方法都是基于模擬問答的數據來訓練,然后用下文Weston所示的方法回答問題。

下一個前沿方向是準確理解語義

剛剛討論的方法是關于如何以讀故事的方式回答問題,但是故事的一些重要情節一目了然,我們不必都寫下來。設想桌上放著一本書。計算機如何才能知道你挪動桌子的同時也挪動了書本?同樣的,計算機怎么知道屋外只是下雨了呢?就如MarvinMinsky所問,計算機如何知道你能用一根繩索拉箱子而不是推箱子呢?因為這些事實我們不會都寫下來,故事將只限于能被我們算法所表示的知識。為了獲取這部分知識,我們的機器人(robot)將通過實景體驗或者模擬體驗來學習。

免責聲明:本網部分文章和信息來源于互聯網,本網轉載出于傳遞更多信息和學習之目的。如轉載稿涉及版權等問題,請立即聯系網站所有人,我們會予以更改或刪除相關文章,保證您的權利。
主站蜘蛛池模板: 钟山县| 含山县| 崇义县| 汝城县| 乡宁县| 道真| 忻州市| 巢湖市| 建阳市| 宁城县| 张北县| 虞城县| 嵩明县| 大兴区| 济阳县| 孝义市| 军事| 台中县| 厦门市| 光山县| 莱州市| 喜德县| 武川县| 措勤县| 韩城市| 双辽市| 诸暨市| 安顺市| 观塘区| 务川| 应用必备| 根河市| 偃师市| 宁国市| 曲沃县| 马尔康县| 万山特区| 乌什县| 达日县| 怀仁县| 咸丰县|