機器之心報導
機器之心編輯部
Transformer 中的注意力機制等價於一種 Hopfield 網絡中的更新規則?LSTM 提出者 Sepp Hochreiter 等人在最近的一篇論文中表達了這種觀點,並將這篇論文命名為《Hopfield Networks is All You Need》。
深度學習先驅、圖靈獎獲得者 Yann LeCun 一直認為無監督學習才是通向真正人工智慧的方向。為了實現無監督學習,我們需要探索基於能量的學習(energy-based learning)。這個方向在 AI 領域裡已經存在幾十年了,生物學家約翰 · 霍普菲爾德(John Hopfield)於 1982 年將之以 Hopfield Network 的形式進行了推廣。這在當時機器學習領域中是一個突破,它推動了其他學習算法的發展,如 Hinton 的「玻爾茲曼機」。
「基於能量的學習已經存在了一段時間,最近一段時間裡,因為尋求更少監督的方法,它重新回到了我的視野中。」Yann LeCun 在 2019 年 10 月於普林斯頓大學的演講中說道。
深度學習領軍人物給未來 AI 方向的預測讓我們對 Hopfield 網絡這一「古老」事物燃起了興趣,無獨有偶,最近一群研究者又告訴我們:NLP 領域裡大熱的 Transformer,其網絡更新規則其實是和 Hopfield 網絡在連續狀態下是相同的。
於是,一篇標題也要對標 Transformer 論文的《Hopfield Networks is All You Need》誕生了。
2018 年,谷歌的一篇論文引爆了 NLP 學界。在這篇論文中,研究者提出了一種名為 BERT 的模型,刷新了 11 項 NLP 任務的 SOTA 記錄。眾所周知,BERT 之所以能取得如此成功,很大程度上要歸功於其背後的 Transformer 架構。
2017 年,谷歌在《Attention is All You Need》一文中提出了 Transformer。自提出以來,它在眾多自然語言處理問題中取得了非常好的效果:不但訓練速度更快,而且更適合建模長距離依賴關係。
目前,主流的預訓練模型都是以 Transformer 模型作為基礎進行修改,作為自己的特徵抽取器。可以說,Transformer 的出現改變了深度學習領域,特別是 NLP 領域。
為什麼 Transformer 如此強大?這還要歸功於其中的注意力機制。注意力機制在 NLP 領域的應用最早可以追朔到 2014 年,Bengio 團隊將其引入神經機器翻譯任務。但那時,模型的核心構架還是 RNN。相比之下,Transformer 完全拋棄了傳統的 CNN 和 RNN,整個網絡結構完全由注意力機制組成,這種改變所帶來的效果提升也是顛覆性的。
但最近的一項研究表明,Transformer 中的這種注意力機制其實等價於擴展到連續狀態的 modern Hopfield 網絡中的更新規則。論文作者來自奧地利林茨大學、挪威奧斯陸大學等機構,與 Jürgen Schmidhuber 合著 LSTM 的 Sepp Hochreiter 也是作者之一。
Hopfield 網絡是一種 RNN 模型,由 John Hopfield 於 1982 年提出。它結合了存儲系統和二元系統,保證了向局部極小值的收斂,但收斂到錯誤的局部極小值而非全局極小值的情況也可能發生。Hopfield 神經網絡對上世紀 80 年代初神經網絡研究的復興起到了重大作用。
1987 年,貝爾實驗室在 Hopfield 神經網絡的基礎上研製出了神經網絡晶片。2016 年和 2017 年,Hopfield 等人又改進了這一網絡(即下文中的 modern Hopfield 網絡 )。
在林茨大學和挪威奧斯陸大學的這篇論文中,研究者提出了一種新的 Hopfield 網絡,將 modern Hopfield 網絡從二元模式擴展到了連續模式,並表明這些新 Hopfield 網絡的更新規則(update rule)等價於 Transformer 中的注意力機制。
這種帶有連續狀態的新 Hopfield 網絡保留了離散網絡的特點:指數級的存儲容量和極快的收斂速度。
在發現新 Hopfield 網絡更新規則與 Transformer 注意力機制的等價性之後,研究者利用這一發現分析了 BERT 等基於 Transformer 的模型。他們發現,這些模型有不同的運行模式,而且更加傾向於在較高的能量最小值下運行,而後者是一種亞穩態(metastable state)。
這篇論文在 Twitter、Reddit 等平臺上引發了廣泛的討論。
知名 Youtube 博主、蘇黎世聯邦理工學院博士生 Yannic Kilcher 還針對該論文進行了解讀,相關視頻播放量兩天內就超過了一萬次。
00:00/00:00倍速
原視頻地址:https://www.youtube.com/watch?v=nv6oFDp6rNQ&feature=youtu.be
以下是論文的詳細內容。
Hopfield Networks is All You Need
深度學習社區一直在尋找 RNN 的替代方案,以解決信息存儲問題,但大多數方法都是基於注意力的。Transformer 和 BERT 模型更是通過注意力機制將模型在 NLP 任務中的性能推到了新的水平。
這項研究表明,Transformer 中的注意力機制其實等價於擴展到連續狀態的一種 modern Hopfield 神經網絡的更新規則。這個新的 Hopfield 網絡能夠實現模式存儲的指數級提升,一次更新即可收斂,並且檢索誤差也呈現指數級下降。存儲模式的數量與收斂速度和檢索誤差之間存在必然的權衡。
研究者提出的新 Hopfield 網絡有三種類型的能量最小值(更新的固定點):
1)所有模式上的全局固定點平均值;
2)模式子集上的亞穩態平均值;
3)存儲單個模式的固定點。
Transformer 通過構建一個模式嵌入和關聯空間的查詢來學習注意力機制。在最初幾層,Transformer 和 BERT 模型傾向於在全局平均機制下運行,但在更高層則傾向於在亞穩態下運行。Transformer 中的梯度在亞穩態機制中最大,在全局平均時均勻分布,在固定點臨近存儲模式時消失。
基於 Hopfield 網絡的解釋,研究者分析了 Transformer 和 BERT 架構的學習。學習開始於注意力頭(attention head),它們最初平均分布,然後其中的大部分轉換為亞穩態。但是,前幾層中的注意力頭大多依然平均分布,並且可以被研究者提出的高斯權重等平均運算取代。
相比之下,最後幾層中的注意力頭穩定地學習,而且似乎利用亞穩態來收集較低的層創建的信息。這些注意力頭似乎就是改進 Transformer 的潛在目標。
集成 Hopfield 網絡的神經網絡(等同於注意力頭)在免疫組庫分類任務中的性能優於其他方法,其中的 Hopfield 網絡可以存儲數十萬個模式。研究者提出了一種名為「Hopfield」的 PyTorch 層,藉助 modern Hopfield 網絡來改進深度學習。這是一種包含池化、記憶和注意力的強大新概念。
論文地址:https://arxiv.org/pdf/2008.02217.pdf
項目地址:https://github.com/ml-jku/hopfield-layers
連續狀態 Modern Hopfield 網絡的新能量函數和更新規則
在論文中,研究者提出了一個新的能量函數,它是在 modern Hopfield 網絡能量函數的基礎上做出的改進,以使其擴展到連續狀態。改進之後,新的 modern Hopfield 網絡可以存儲連續模式,還能保持二元 Hopfield 網絡的收斂和存儲能力。經典 Hopfield 網絡不需要約束自身狀態向量的範數,因為這類網絡是二元的,且具有固定長度。
此外,研究者還提出了一個新的更新規則,它被證明可以收斂至能量函數的穩定點(局部最小值或鞍點)。他們還證明,一個與其他模式實現良好分離的模式可以通過一步更新被檢索到,同時還能實現指數級的誤差下降。
下圖 1 展示了二元 modern Hopfield 網絡、研究者提出的連續狀態 Hopfield 網絡、新更新規則和 Transformer 之間的關係。
通過使用 negative 能量的對數並添加一個確保狀態向量ξ的範數受限的二次項,研究者將這個能量函數泛化至連續值模式。他們證明,這些改動保持了 modern Hopfield 網絡的指數級存儲能力優勢以及單次更新即可收斂的屬性,具體可見上圖 1。
研究者將這個新穎的能量函數 E 定義如下:
其中,
。研究者用 p = softmax(βX^T ξ)定義了一個新的更新規則,公式如下:
接下來,他們又證明了更新規則公式 (3) 具有全局收斂性。
連續狀態 Hopfield 網絡的更新規則就是 Transformer 中的注意力機制
研究者認為,連續狀態 Hopfield 網絡中的更新規則就是 Transformer 和 BERT 中使用的注意力機制。為此,他們假設模式 y_i 映射到維度 d_k 的 Hopfield 空間。研究者令
並將更新規則結果與 W_V 相乘。
矩陣
結合 y_i,作為行向量。研究者分別將矩陣 X^T 和 V 定義為
其中
對於結合矩陣 Q、
和 softmax ∈ R^N 中變成行向量的所有查詢,研究者將更新規則公式 (3) 乘以 W_V,得到的結果如下:
這個公式就是 Transformer 的注意力機制。
Transformer 和 BERT 模型分析
Transformer 和 BERT 模型的運算類別
通過對注意力機制的理論分析,研究者提出了以下三種固定點:a)如果模式 x_i 沒有實現良好的分離,那麼迭代轉向靠近向量算數平均值的固定點,即全局固定點;b)如果模式彼此之間實現良好的分離,則迭代靠近模式。如果初始ξ類似於模式 x_i,則它將收斂至接近 x_i 的向量,p 也將收斂至靠近 e_i 的向量,研究者稱之為靠近單個模式的固定點;c)如果一些向量彼此之間類似並與其他所有向量實現良好的分離,則類似向量之間存在著所謂的亞穩態。開始時靠近亞穩態的迭代收斂至這個亞穩態。
研究者觀察到,Transformer 和 BERT 模型都擁有包含以上三種固定點的注意力頭,具體如下圖 2 所示:
從上圖 2 可以看到,較低層中的很多注意力頭在 class (I)中運行。
較低層中的注意力頭執行平均運算
如下圖 3d 所示,困惑度是根據改動層的數量繪製的(第一層的困惑度最低)。紅線表示初始模型的困惑度。研究者發現,較低層中性能受影響的程度低於較高層,並且在第一層幾乎不受影響。這表明,第一層的注意力頭可以被基於平均運算的非注意力頭所取代。
基於這些分析,研究者用高斯權重替換了第一層的注意力頭,其中高斯函數的均值和方差可以學得。所以,他們得到了一個位置高斯權重平均方案,其中每個 token 僅有兩個參數,而沒有注意力頭。
此外,注意力頭總是執行相同的平均運算,而與輸入無關。研究者採用的高斯權重類似於隨機合成器頭(random synthesizer head),其中注意力權重可以直接學得。
後幾層的注意力頭在中等亞穩態下運行,而且看起來對於 BERT 非常重要
如上圖 2 所示,研究者發現後幾層(第 10、11 和 12 層)中的注意力頭主要在 class III 狀態下運行。
為了研究這些層,研究者像以往一樣以平均值運算替換注意力頭。與前幾層和中間層執行相同的操作相比,模型的性能下降要明顯得多,具體如上圖 3d 所示。
在更新到大約 9000 次時,損失函數曲線出現劇烈下滑(如上圖 3a 藍線所示),這與注意力頭轉向其他類是一致的。相比之下,後幾層的注意力頭在下降之後依在學習(如上圖 3c 所示),並且更靠近 class (III)。
最後,層歸一化與 modern Hopfield 網絡中最重要參數的調整高度相關。研究者將β認定為固定點以及注意力頭運算模式的一個關鍵參數。
Hopfield 網絡由β、M(最大模式範數)、m_max(類似模式的傳播)和 ‖m_x‖(類似模式的中心)共同決定。β的較低值誘導全局平均值和更高的β亞穩態值。調整β或 M 等同於調整層歸一化的(逆)增益參數。所以,層歸一化控制了 Hopfield 網絡最重要的幾個參數:β、M、m_max 和 ‖m_x‖。
實驗
在實驗部分,研究者證實在免疫組庫分類和大規模多實例學習中,modern Hopfield 網絡可以被視為類似於 Transformer 的注意力機制。原文中定理 3 表明,modern Hopfield 網絡具有指數級存儲能力,從而可以解決免疫庫分類等大規模多實例學習問題。研究者通過大規模對比研究證實了 modern Hopfield 網絡的有效性。
此外,研究者還提供了一個新 Hopfield 層的 PyTorch 實現,從而可以將 Hopfield 網絡作為一種新穎的記憶概念加入到深度學習架構中。新的 Hopfield 層能夠關聯兩個向量集合。這種通用的功能性可以實現類似於 Transformer 的自注意力、編碼器 - 解碼器注意力、時序預測(可能使用位置編碼)、序列分析、多實例學習、點集學習、基於關聯的數據源組合、記憶構建以及運算求平均值和池化等等。
具體來說,新 Hopfield 層能夠輕易地作為池化層(最大池化或平均池化)、排列等變層、GRU&LSTM 層以及注意力層等現有層的 plug-in 替代。新 Hopfield 層基於連續狀態的 modern Hopfield 網絡,這些網絡具有極強的存儲能力以及一次更新即可收斂的能力。
參考內容:
https://www.zdnet.com/article/high-energy-facebooks-ai-guru-lecun-imagines-ais-next-frontier/