記憶增強神經網絡(Memory Augmented Neural Network,MANN)是在傳統的神經網絡模型基礎上增加存儲模塊以及相應的讀寫機制的一類模型。
•當前的機器學習往往忽略了邏輯流控制(logical flow control)以及外部記憶
•以往的模型無法高效的利用可訓練參數來獲得較強記憶能力
模型可應用於:
•模擬工作記憶(working memory),
•超越訓練集分布的泛化,zero-shot,
•複雜的結構信息的捕捉:
•長距離信息依賴建模。
MANNs中的一大類是建立在循環神經網絡(Recurrent Neural Network,RNN)模型的基礎上的,而RNN本身在結構上可以類比有限狀態自動機(Definite Finite Automata,DFA)
如果這樣的類比成立,則進一步的,在普通的RNN模型上加入不同的存儲模塊則可以類比下推自動機(Pushdown Automata,PDA)、圖靈機(Turing Machine,TM)等。
DFA
PDA
LBA
從形式語言的角度來說,上下文無關文法(CFG)以及其對應的PDA可以建模程序語言,能夠處理遞歸文法結構,下圖簡單的以計算表達式的解析(parsing)來舉例:
使用棧分析算術表達式語法結構
本文的主要內容主要圍繞短時記憶中的工作記憶展開。工作記憶主要是指個體在執行認知任務中, 對信息暫時儲存與操作的能力,強調臨時存儲以及對存儲的信息進行加工處理的能力。
工作記憶模型結構圖
與現代計算機(圖靈機)相類比,二者都是具有進行臨時存儲以及調用長match期記憶的match機制,這兩個系統也都具有中央控制單元。所以從這一角度來match說,計算機從某種程度上來說可以看作多工作記憶的模仿,而本文涉及到是在模擬工作記憶機制。
從分類層次的角度來說,可以如下圖進行劃分:
MANNs分類體系
工作記憶相關模型可以按照兩個分類方式進行劃分,一個是簡單的讀寫match機制的有無,可以分為無讀寫、只讀(如注意力機制,attentmatchion)和既讀又寫;另一個分類方式是按照存儲的結構或者說是按照類比於自動機理論體系的分類方式,分無外部存儲、棧式外部存儲以及無限制的隨機存儲。
這裡列出了兩種框架,第一種是MemNN提出的文章中介紹的框架:
MANN框架一
另一個更加具體的框架適用於下文提到的諸多模型,特別是類比於自動機理論設計的MANNs,框架如圖:
MANN框架二
棧增強的RNN模型(Stack Augmented RNN,SARNN)是在第二種MANN框架的基礎上,將存儲模塊實現為棧式存儲,令寫可採取動作為壓棧(push,壓入當前狀態的一個轉換)、彈棧(pop)以及保持(stay),令讀為簡單的讀取棧。
SARNN結構
任務的目標是預測出某(形式文法)語言的句子的關鍵部分,與語言模型類似,是給定句子的前一部分的輸入,預測下面的字符,具體任務如下圖所示:
形似文法語言模型任務
其中標黑的為關鍵部分,評價時以關鍵部分的預測準確率作為指標。
實驗結果如下圖:
形似文法語言模型任務實驗結果
通過分析訓練好的SARNN模型的讀寫模式(下圖),可以看出模型學習到了類似於背景知識介紹中提及的自頂向下規約(bottom-up reduction)的策略,不過這裡使用了兩個棧。
SARNN更新棧動作規律
任務用語言模型的形式來進行,給定自然語言一句話的一部分,預測謂語動詞的具體單複數形式。另外任務(樣本)的難度也可以依據主語與代判定謂語動詞之間所隔名詞個數(幹擾詞,attractors)來劃分。
謂語動詞單複數預測任務
謂語動詞單複數預測任務實驗結果
各種狀態機可以與配備不同存儲模塊的RNN模型相類比,則結合目前已經提到的模型,可以有下列總結:
• DFA 類比 simpRNN
•PDA 類比 stack augmented RNN
•...
則可以自然聯想到LBA和圖靈機是否也有相應的MANN模型與之對應的模擬呢?
•LBA v.s. ?
•NTM v.s. ?
雖然配備了各種存儲模塊的RNN相比普通的RNN模型來說模型複雜度更高,但根據Sieglemann & Sontag (1995) 的理論,任何一個圖靈機模型可以被RNN模型表達,從機器學習的理論(no free lunch理論等)上來說,對模型施加合理先驗信息往往能夠使問題更容易解決,也即在特定任務上的學習能力更強。
如下圖所示,神經圖靈機模型(Neural Turing Machine,NTM)模型也可以歸為第二類框架,與別的模型的不同也僅在於存儲模塊是一個可隨機訪問的數組結構、特別設計的讀寫方式。
NTM結構
這個任務要求模型讀入一個(隨機採樣的)向量序列,輸出同樣的向量序列,使用均方誤差來評價模型的預測準確性。在該任務上各個模型的訓練曲線。
訓練曲線
可以發現NTM模型擬合數據集收斂速度更快,一定程度上反映其學習能力較強。對輸入輸出向量序列進行可視化,可以得到下圖:
測試可視化結果
這個實驗是關於改進的NTM模型進行的。下面的表格展現的是神經科學中常用的測試記憶能力的實驗示意,以接下來要說明的任務「Ignore」為例,表格中這一行中標識代表在不同時刻的輸入,代表在不同時刻的輸出,輸入是一串序列,其中和都是隨機採樣的向量序列,要求的輸出,即要求模型遺忘偶數時刻位置的子串。
記憶相關任務
使用類似於任務一中的學習到的策略可視化方式可以得到下圖:
兩種可能策略
在這一任務於之前的任務不同,理論分析可知應有兩個策略能夠完成這一任務,即覆蓋策略(overwrite)和略過(skip)策略:
•覆蓋策略:模型依次存入子序列、的數據於內存的連續位置,在讀入時將尋址位置移回存入的初始位置,將數據覆蓋,如此循環存入信息
• 略過策略:模型依次存入子序列,在讀入時固定尋址位置不動直至讀取到的內容。
本文的分類體系裡歸為工作記憶/短時記憶(可能有一些概念上的混淆)。從模型設計的角度來說,一般的情景記憶模型的信息處理是在編碼之後進行的。
回顧MANN框架介紹中的第一類框架,
MANN第一類框架
在這一框架中的第(2)步與第(3)步中,信息處理可以表達為:
其中為一個打分函數,例如可以採用簡單的內積運算來實現。更進一步的來說,每一時刻T被讀取/選擇的內存單元可以表達為:
與其他MANNs模型的尋址面臨的問題一樣,這一尋址操作並不可微,也可以採用訪問內存單元的期望近似:
一組句子{Xi}使用兩組embedding(A和C)表示,這裡句子向量的表示採用簡單的詞向量加權求和的方式表達:
其中Lj和TA(i)用於表達位置信息。模型每次尋址讀取內存內容的方式為:
也即用期望近似尋址讀取內存。和為不同的推理時刻所採用的embedding,可以簡單的採取如下方式:
使用表示當前推理時刻的狀態表示,對其更新方式為:
其中為問題的embedding表示。最終將送入多層神經網絡進行分類。
該任務是給定一些已知事實(若干個句子,往往時序相關),給一個問題,在詞表中選出一個單詞作為答案。如下表所示:
閱讀理解式問答樣例
每一列代表一個樣本,黑色字體的句子為已知事實,藍色字體的句子為問題,紅色字體標出的是答案。解決這類問題的一般策略為根據答案在已知事實中逆向回溯尋找答案(backward chaining,回退式鏈式推理)。下表給出各個模型的準確率對比:
閱讀理解式問答實驗結果
其中,第二列標出的「Strongly Supervised MemNN」為在這節提到的模型的基礎上訓練階段給出強監督信息(即被指示每個推理階段應關注哪個詞)訓練得到的模型。可以看出使用情景記憶的模型MemN2N可以在不使用強監督信息的情況下取得相對較好的性能。
該模型在這個任務上學習到的策略為上文提及的backward chaining,將每一個推理時刻模型關注到不同句子的強度可視化,可以得到下圖:
backward chaining策略
這裡的邏輯推理任務是用prolog程序表達的。樣例如下表所示:
prolog邏輯推理任務樣例
實驗結果如下表(IMA為針對任務設計的模型,DMN為較通用的情景記憶模型):
prolog邏輯推理任務實驗結果
其學習到的策略與之前任務中展示的類似:
邏輯推理中的backwardchaining策略
與工作記憶不同,長期記憶主要關注樣本之間的相關性(適用於樣本稀疏情形)或是充分利用某些樣本信息來輔助學習過程。
神經主題模型(Neural Topic Model)關註解決短文本分類任務,即待分類的文本長度較短。這類樣本常常由於文本蘊含信息不全難以完成分類任務,一個簡單的例子:
短文本分類任務樣例
這個模型在多個短文本數據集(新聞、Twitter數據、微博數據)上進行了實驗,與其他模型可以拉開較大差距。
實驗結果
分析其信息處理機制,對測試樣本處理過程中,處理單詞「wristband」時模型對給個主題詞關注強度進行可視化,得到下圖:
神經主題模型對主題詞關注強度可視化
可以看出,模型對最相關的主題詞「biber justin」關注強度最大,與之前分析一致。
提煉本文的總結的重要觀點如下:
•自動機模型與記憶增強RNNs之間的類比關係
•工作記憶與計算機/圖靈機的類比關係
•配備棧的模型能夠處理一些遞歸結構
•可以使用回退式鏈式推理來處理邏輯推理
•表達能力與學習能力的關係:任何圖靈機模型都可以使用RNN模型來表達
參考文獻及原文獻請點擊閱讀原文!
Story of Convolution Network – 卷積網絡的故事(Part 4):從深度學習的角度分析David Hubel和Torsten Wiesel的成果,研究者們得到了簡化的大腦功能分區圖。在這個簡化的圖中,研究者們著重關注了被稱為 V1區的腦區——也稱初級視覺皮層(primary visual cortex)。
文章為作者獨立觀點,不代表自動化所立場。
更多精彩內容,歡迎關注
中科院自動化所官方網站:
http://www.ia.ac.cn
歡迎後臺留言、推薦您感興趣的話題、內容或資訊,小編恭候您的意見和建議!如需轉載或投稿,請後臺私信。
作者:王克欣
審稿:周玉
文稿:SFFAI(人工智慧前沿學術論壇)
來源:人工智慧前沿講習班
排版:康揚名
編輯:魯寧
中科院自動化研究所
微信:casia1956
歡迎搭乘自動化所AI旗艦號!