神經圖靈機Neural Turing MachineNTM)係一種起源於 2014 年嘅記憶增強(memory-augmented;指有連接住網絡外嘅記憶單位)遞迴神經網絡架構,一部神經圖靈機主要有幾個部份[1][2]

  • 一個神經網絡控制器(controller);呢個部份係一個多層感知機或者遞迴神經網絡[註 1],負責同外界互動(由外界攞向量輸入或者俾向量輸出去外界)同控制成個系統(會向系統其餘部份下指令)。
  • 一個記憶(memory);呢個部份負責儲住啲記憶。
  • 一個或者多個記憶讀取器(read head)、同
  • 一個或者多個記憶存寫器(write head)。

喺應用上,神經圖靈機可以攞嚟模擬工作記憶(working memory;記憶功能嘅一種,指個心靈暫時儲住要用嘅資訊)涉及嘅認知過程[1][3]

圖解

編輯

神經圖靈機嘅結構圖解如下[3]

 

記憶讀取

編輯

記憶讀取:將記憶想像成一個  矩陣,當中   係記憶位置嘅數量,而   係每個記憶位置嘅維度(簡單講就係嗰個位置可以記住幾多個數值)。設   做呢個矩陣喺時間點   嘅狀態,  係一個由記憶讀取器去嗰   個位置嘅權重向量,而且做咗標準化,即係話

 
 

喺每次做記憶讀取嗰陣,個控制器都會攞到一個   維嘅向量  ,而

 

上述嘅嘢簡單講如下:記憶讀取器同記憶之間會有個權重,呢啲權重影響「當記憶讀取器要求提取記憶嗰陣,會有邊份記憶受到提取,而提取咗嗰份記憶就係  [1]

記憶存寫

編輯

記憶存寫:一個記憶存寫有兩個部份-清除(erase)同添加(add);喺每一個時間點  ,記憶存寫器都會俾出三個向量-

  1. 一個   維嘅權重向量  
  2. 一個   維嘅清除向量  、同
  3. 一個   維嘅添加向量  

每一個記憶向量   都會受到清除向量改造:

   係一個完全由 1 組成嘅向量);

然後個添加向量就會做嘢:

 

註釋

編輯
  1. 就算個控制器係一個前饋網絡,因為成部神經圖靈機整體有記憶功能,所以部神經圖靈機整體依然係一個遞迴網絡。

睇埋

編輯
  1. 1.0 1.1 1.2 Graves, Alex; Wayne, Greg; Danihelka, Ivo (2014). "Neural Turing Machines" (PDF). arXiv:1410.5401.
  2. Collier, Mark; Beel, Joeran (2018), "Implementing Neural Turing Machines", Artificial Neural Networks and Machine Learning - ICANN 2018, Springer International Publishing, pp. 94–104,
  3. 3.0 3.1 NTM: Neural Turing Machines. Medium.