可微分神经计算机DNC
CNN和RNN神經網絡模型在廣泛的模式識別任務中表現良好。其中RNN可以以通過將“word states”轉換為記憶向量(隱藏狀態)處理諸如翻譯,手寫生成和語音識別之類的序列建模任務。但是在實踐中RNN的主要變種LSTM處理長距離依賴序列需要大量的計算資源,且效果欠佳。為了解決這個問題,多種具有外存儲機制的神經網絡被設計出來,目前最具知名度的是Deepmind 的Differentiable Neural Computer (DNC)
通過把可訓練的神經網絡控制器和可讀寫的外部存儲器進行結合,可微分神經計算機(Differentiable Neural Computer,DNC)這種混合學習型神經網絡,既能像神經網絡那樣進行算法和參數的學習,又能像計算機那樣處理復雜數據信息流。在發表于Nature的論文中,DNC是一種具有外存儲器(不可訓練)的特殊的循環神經網絡。在每時間步 t 由可訓練的控制器基于t-1 時刻的信息流與外存儲器交換信息流之后線性組合兩部分的預測信息決定最終輸出預測。
DNC使用向量Vector來存儲記憶。存儲器矩陣Memory matrix的每行對應于不同的記憶。控制器通過使用接口向量Interface parameters控制一個寫頭控制和多個讀頭控制(每個讀頭都是由兩種尋址機制線性組合而成,讀頭數量在結構設計中未有約束)與外存儲記憶交互。記憶矩陣M∈一行向量表示一組記憶,N行表示記憶矩陣最多可以保有多少組記憶。在每個時間步dnc接受上一時刻讀頭信息流與此時刻外部輸入信息流組成廣義dnc外部輸入信息流(也就是傳統LSTM對應每步外部輸入inputs),經過處理發出隱藏狀態,隱藏狀態生成輸出向量和接口向量。接口向量控制讀寫頭控制通過讀寫機制與外存儲矩陣交互,生成此時刻的寫信息,并更新矩陣獲得此時刻的讀信息。讀信息與輸出向量線性組合生成此時刻最終輸出向量。
外存儲器記憶矩陣更新
?
其中E∈為全1矩陣;w∈為寫頭是歸一化的分布權重;e∈為擦除向量,取值局限于[0,1]之間;v∈為寫入記憶向量也就是此時刻新的記憶信息;注意讀寫頭控制變量為記憶矩陣行與行之間的相對強度,而不是具體的記憶信息向量。從左向右,先擦除后寫入。在此時刻記憶矩陣更新之后,讀頭提取此時刻記憶矩陣讀頭信息流該信息流線性組合此時刻最終輸出并且作為下一時刻輸入外部輸入使用。
?
?
總結
以上是生活随笔為你收集整理的可微分神经计算机DNC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VUE双向绑定的原理(简单版)+虚拟DO
- 下一篇: 加班有多可怕?据统计:程序员平均寿命仅为