記憶增強神經網路 是什麼?
Memory Augmented Neural Networks:記憶增強神經網路 的完整解釋
在神經網路基礎上增加外部記憶模組,透過可學習的讀寫機制實現長期資訊儲存和檢索。
記憶增強神經網路(Memory Augmented Neural Networks, MANNs)是一個廣泛的概念框架,涵蓋多種具體的記憶機制實現。其核心哲學是:傳統神經網路(如 RNN、CNN)的參數化儲存(權重)適合學習通用的、跨任務的特徵和規則,但不適合儲存任務特定的或瞬時的資訊。MANNs 透過增加顯式的、可動態修改的記憶,在多個層次上擴展了神經網路的能力。
MANNs 的核心特徵
- 外部記憶:獨立於模型參數的、可動態修改的資訊儲存。
- 可學習的讀寫機制:透過梯度學習如何有效地讀取和修改記憶。
- 與基礎模型的融合:記憶機制與控制器(RNN、CNN 或 Transformer)無縫整合。
MANNs 的主要實現方案
1. 神經圖靈機(Neural Turing Machines, NTM)
已詳述(見神經圖靈機條目)。NTM 是 MANNs 的經典代表,提供了內容定址和位置定址的組合機制。
2. 可微分神經計算機(Differentiable Neural Computer, DNC)
Graves、Wayne 和 Danihelka 於 2016 年提出,是 NTM 的改進版本。DNC 在 NTM 基礎上增加了:
- 動態記憶分配:追蹤記憶單元的使用情況,自動為新寫入分配未使用的記憶位置。
- 記憶釋放機制:當不再需要時自動釋放記憶位置,允許重新利用。
- 時間鏈接:記錄寫入操作的時間順序,支持前向遍歷(按時間順序讀取)和反向遍歷。
- 內容搜索:支持關鍵詞搜索,快速定位相關記憶。
DNC 的複雜性更高,但在複雜推理任務上的性能優於 NTM。
3. 記憶網路(Memory Networks)
Weston、Chopra 和 Bordes 等人於 2014 年提出,強調『多跳推理』(Multi-hop Reasoning)。記憶網路的結構更簡單:
- 輸入投影到記憶空間,與記憶中的事實進行相似度匹配。
- 根據匹配結果檢索記憶,得到『注意力加權』的記憶。
- 將檢索結果作為新的查詢進行下一跳查詢,重複多次。
記憶網路在問答和知識推理中表現優異,因為多跳機制天然適合推理鏈(如「A 的朋友是 B,B 的朋友是 C」的推理)。
4. 持久化記憶單元(Persistent Memory Cells)
在 LSTM 的基礎上,為每個單元增加持久的、可讀可寫的記憶。與 LSTM 細胞狀態不同,持久記憶可跨多個序列或任務保存。這適合需要在多個獨立任務間轉移知識的場景。
MANNs 在少樣本學習中的應用
MANNs 在少樣本學習中的應用特別有價值。支持樣本可被寫入記憶,推論時模型從記憶中快速檢索相關資訊。例如:
- 少樣本分類:支持集的特徵和標籤寫入記憶,查詢時進行多跳檢索確定類別。
- 快速域適應:新域的樣本和預測寫入記憶,後續查詢可利用這些任務特定的資訊。
MANNs 與傳統方法的比較
| 方面 | 普通神經網路 | MANNs |
|---|---|---|
| 記憶機制 | 隱藏狀態(有限容量) | 外部記憶(可擴展) |
| 讀寫操作 | 隱式(權重涉及) | 顯式(可控) |
| 長期依賴能力 | 有限(梯度消失) | 強(直接讀取) |
| 符號操作 | 困難 | 較易(記憶存儲結構) |
| 解釋性 | 低 | 較高(記憶內容可檢查) |
| 計算複雜度 | 低 | 中-高 |
| 訓練難度 | 低 | 中-高 |
MANNs 的訓練挑戰
梯度流困難:複雜的定址和讀寫操作涉及多層注意力和選擇,梯度在反向傳播中容易消失。
記憶初始化與穩定性:記憶內容的初始化對最終性能影響很大,且訓練過程中記憶的內容演變往往難以預測。
計算成本:讀寫記憶涉及與記憶矩陣的點積運算,當記憶大小 N 增加時,複雜度為 O(N)。對超大記憶,效率可能成為瓶頸。
可擴展性:多跳推理或複雜記憶操作可能導致訓練時間和所需樣本數指數增長。
MANNs 的改進方向
混合記憶架構:結合快速的大容量記憶(無語義結構,僅作為緩衝)與語義有序的記憶(結構化,支持推理)。
強化學習結合:用強化學習訓練記憶操作策略,規避梯度問題。
Transformer 整合:利用 Transformer 的自注意力作為高效的記憶檢索機制,結合外部記憶。
神經-符號混合:將邏輯推理引擎與神經網路記憶整合,支持既要學習又要符號推理的任務。
MANNs 的現實應用
儘管訓練困難,MANNs 在以下領域仍有實際價值:
- 開放域問答:檢索相關文檔片段(記憶)並進行多跳推理。
- 對話系統:記憶對話歷史,支持長上下文理解。
- 知識圖推理:記憶知識圖的三元組,支持多步推理。
- 少樣本與零樣本學習:支持集寫入記憶,快速適應新任務。