近期,DeepMind發表論文,稱受Marta Garnelo和 Murray Shanahan的論文“Reconciling deep learning with symbolic artificial intelligence: representing objects and relations”啟發,他們提出了一種新的架構,可將目前人工智能的兩大流派符號派和神經網絡派相結合,并取得良好效果。但是對于如此重要的論文,在國內的主流技術論壇上竟然沒有什么的解讀與評論,經過了兩天的研究,筆者先將我對PrediNet的一些成果發布出來,供各位參考。
人工智能的兩大流派的優劣比較
人工智能主要分為符號流、神經網絡、遺傳等幾個流派,目前是神經網絡和符號流比較占上峰,但是由于幾個流派間基本前提不盡相同,如何將幾個流派的思想整合,一直是個比較難以解決的問題,這里簡要介紹一下符號和神經網絡兩大流派。
符號流派認為,一組對象之間存在關系可以用符號表示,符號的組合(and, or, not,等等),可以參與推理過程,但是在DeepMind之前,符號與邏輯推理的關系都是通過專家人工指定的,而不是通過對計算機進行訓練獲取相應的模型。
神經網絡學派則是受到神經元之間相互連接的作用為啟發,尤其是以神經網絡為代表的算法,其實是先隨機給予每個神經元一個權重(weights),然后通過與最終結果的比較,不斷訓練得到最終的模型。
神經網絡學派的優勢是在海量數據處理及預測方面表現非常好,/root但是其模型復用性不強,比如識別人臉的模型只能用于訓練人臉,而不能用來識別人手或者貓臉等其它特征;而符號學派的命題型結論可以推廣,但是由于過于依賴人力,所以發展緩慢。
PrediNet結合兩大流派思想的方式
在PrediNet引用的論文“Reconciling deep learning with symbolic artificial intelligence: representing objects and relations”提出了這樣一種架構,先由Relation Network處理,其中Relation(關系)是由one-hot向量表示的,也就是每個relation都是彼此獨立的,彼此不相關,比如性別中的男、女就是彼此獨立的,用one-hot向量表示就是(0,1)和(1,0),而如果這時把他們放入同一維度表示為1和2,就會出現一些問題,因為1和2在數學就有倍數關系存在相關性了。如果讀者不好理解,可以把relation簡單理解為符號(symbol),輸入序列經過關系網絡(Relation Network)的處理,輸出給MLP(多層感知機),得到最終輸出。
這次DeepMind提出的PrediNet方案,與之前的架構不盡相同,輸入先經過CNN(卷積神經網絡)處理,再由PrediNet處理,最后由MLP(多層感知機)進行輸出如下圖所示,讀者可以把PrediNet看做是一個管道,連接在CNN和MLP之間。而實驗的結果也說明,PrediNet訓練完成后是可以被復用到的。
所以劃重點,這次 DeepMind 提出的 PrediNet 是一種可以被神經網絡派算法所使用的管道層,而且 PrediNet 這個管道層還具備一定的通用性。
PrediNet的工作原理簡述
PrediNet其實是一種降維的手段,將高維數據(如圖像)轉換為低維的命題表示形式。這里先把論文的原文翻譯一下:
PrediNet的工作分為三個階段:注意、綁定和評估。注意階段,其實就是使用注意力算法選取對象,綁定階段用計算一組三個位置關系的前兩個,評估階段計算每個謂詞剩余參數的值,使結果命題為真。
具體地講,PrediNet模塊由k個頭組成,每個頭計算對象對之間的j個關系。對于給定的輸入L,每個頭h使用共享權重的WS,計算相同的關系集合,但是每個頭h都基于匹配鍵查詢(key-query matching)的點積(dot-product)注意力算法,去選取對象序列的。
每個頭h計算一對單獨的查詢Qh 1和Qh 2(通過Wh Q1和Wh Q2),但是key space K(由WK定義)在heads之間共享。將得到的注意力掩碼(attention mask)對直接應用于L,得到E1和E2,再將E1和E2由一個線性映射(Ws)到一維空間,將繼續送入一個元素比較器(element-wise comparation),得到一個差分向量D, 最后,將所有k個頭的輸出連接起來,得到最終的向量R。向量R是表示k個頭和j個關系的PrediNet模塊的最終輸出。
cmake --build .
這里我做一下解釋,首先PrediNet將工作分配N個HEAD去完成,其中每個HEAD使用了兩個獨立的WQ和WQ2以及一個共享的KEY,基于匹配鍵查詢(key-query matching)的點積(dot-product)注意力算法得到一個掩碼(mask),這也就是注意階段,然后將掩碼()mask)應用到輸入L上,得到E1和E2,這也就是綁定階段。接下來使用WS對于E1和E2將降維,送入比較器得到D,并結合所有HEAD得到最終結果。
如果要深入理解PrediNet,其實關鍵是要理解基于WQ(實際上是查詢),WK(實際是鍵值)的匹配鍵查詢的點積注意力算法(key-query matching dot-product),不過鑒于博主這種技術前沿的解讀與分享閱讀量一直很低,所以也就不再展開了。不過如果本篇閱讀能超過520的表白秘笈(https://blog.csdn.net/BEYONDMA/article/details/90300624),那么下周我就來繼續分享注意力算法的相關內容。
-
人工智能
+關注
關注
1804文章
48677瀏覽量
246337 -
神經元
+關注
關注
1文章
368瀏覽量
18745 -
DeepMind
+關注
關注
0文章
131瀏覽量
11360
原文標題:AlphaGo之父DeepMind再出神作,PrediNet原理詳解
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
人工智能實現的流派 FPGA vs. ASIC看好誰?
人工智能是什么?
人工智能的前世今生 引爆人工智能大時代
人工智能實現的流派 FPGA vs. ASIC看好誰?
百度人工智能大神離職,人工智能的出路在哪?
人工智能的影響超乎你想象
解讀人工智能的未來
人工智能醫生未來或上線,人工智能醫療市場規模持續增長
人工智能芯片是人工智能發展的
arm/asic/dsp/fpga/mcu/soc的特點是什么?
《移動終端人工智能技術與應用開發》人工智能的發展與AI技術的進步
美、歐、日--世界PLC產品三大流派
HKMG實現工藝的兩大流派及其詳解
人工智能的五大流派

評論