6K Views
August 04, 23
スライド概要
2023/8/4
Deep Learning JP
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] Hopfield network 関連研究について Presenter: Manato Yaguchi B4 (Hokkaido University) http://deeplearning.jp/
輪読内容について Hopfield network: 統計物理学、神経科学、コンピュータサイエンスの分野で扱われてきたモデル 近年の研究により、Transformerにおけるattention機構との関連性が分かる Transformerの改良を中心に、ニューラルネットワークの理論的な解明に役立つ 本発表では、 Hopfield networkの概要 Hopfield networkの改良版であるModern Hopfield network 最新の研究の一つであるSimplical Hopfield network(ICLR2023) を紹介 本テーマを選んだ理由 Backpropagationを用いる一般的な深層学習以外の手法を見てみたかった 連想記憶のモデルとして考案されたHopfield networkと、よく扱う深層学習とのつながりが興味深かった Simplical Hopfield networkで触れる集合間の関係性は、本質に近い部分を感じ、興味深かった 2
目次 1. 導入 2. 古典的なHopfield Networks について 3. Modern Hopfield Networks について 4. Simplical Hopfield Networks について 3
1.1 Introduction to Hopfield Networks 再帰的なニューラルネットワーク: Hopfield Networkは全結合型の再帰的ニューラルネットワーク ネットワーク内のすべてのニューロンが互いに接続されていて、情報の流れは往復可能 エネルギー関数に基づく更新: Hopfield Networkはエネルギー関数に基づいて動作 各ニューロンの状態の更新において、エネルギー関数を減少する方向に更新 安定した状態へのダイナミクス: Hopfield Networkは記憶を「安定した状態」として格納 ネットワークの特定の状態は、この「安定した状態」に向かって収束する 連想記憶としてのモデル: Hopfield Networkは連想記憶のモデルとして使用される ネットワークに与えられた一部の情報から全体の記憶を再構成する能力をもつ 4
1.2 Historical Background of Hopfield Networks 1982 Hopfield Networkの提唱 2016 2020 Modern Hopfield Network Transformerとの関連性 2023 Simplical Hopfield Network Hopfield Networkが提唱され、連想メモリとしての可能性が認識[Hopfield 82] ディープラーニングの台頭とともに、Hopfield Networkの概念が再評価[Krotov+16, Demircigil+17] エネルギー関数及び更新規則の見直しによって、メモリ容量を改善 Hopfield NetworkとAttention機構の関連性が示される[Ramsauer+20, ICLR2021] ニューロン間の相互作用に、単体複体の考えを用いてメモリ容量を改善[Burns+23, ICLR2023] 5
2.1 Detailed Explanation of Hopfield Networks 各状態は、±1の二値でN個のニューロン𝜉𝑖 を用いて表される エネルギー関数は、各ニューロンの状態𝜉𝑖 と、ニューロン間の重み𝑇𝑖𝑗 、記憶すべきメモリパターン 𝜇 𝑥𝑖 を用いて、以下の式で表される 𝑁 𝑀 1 𝐸 = − 𝜉𝑖 𝑇𝑖𝑗 𝜉𝑗 , 2 𝜇 𝜇 𝑇𝑖𝑗 = 𝑥𝑖 𝑥𝑗 𝑖,𝑗=1 𝜉2 𝑇12 𝜇=1 𝑇23 𝜉3 𝜉1 𝑇15 𝜉5 𝑇45 𝜉4 𝑇34 6
2.1 Detailed Explanation of Hopfield Networks エネルギー関数の再掲 𝑁 𝑀 1 𝐸 = − 𝜉𝑖 𝑇𝑖𝑗 𝜉𝑗 , 2 𝑇𝑖𝑗 = 𝑖,𝑗=1 𝜇 𝜇 𝑥𝑖 𝑥𝑗 𝜇=1 このエネルギー関数の更新規則は次のように与えられる sgnは符号関数で、引数が正なら1, 負なら-1を返す 𝜉𝑖′ = sgn( 𝑇𝑖𝑗 𝜉𝑗 ) 𝑗≠𝑖 上の更新規則において、常にエネルギー関数は減少する方向に更新される ∆𝜉𝑖 に対する∆𝐸の変化は、 ∆𝐸 = −∆𝜉𝑖 𝑇𝑖𝑗 𝜉𝑗 ≤ 0 𝑗≠𝑖 7
2.2 Applications of Hopfield Networks Hopfield Networkの適用例として、パターン認識やエラー訂正があげられる 記憶すべきパターン𝑥 𝜇 をM個与える (101110…, 010001…) 初期状態として𝜉を与える (ex.𝜉=101010…) 更新規則𝜉𝑖′ = sgn(σ𝑗≠𝑖 𝑇𝑖𝑗 𝜉𝑗 )に従って、エネルギー関数を最小化 エネルギー関数が極小値となる、すなわち安定した点に行き着くとき、状態𝜉は記憶したパター ン𝑥 𝜇 のいずれかとなる E 𝜉0 𝜉𝑇 8
2.3 Limitations of Hopfield Networks 記憶可能なパターン数に限界がある Nをニューロン数とすると、記憶可能なパターン 数nは、n≈ 0.14𝑁 一定以上のパターン数を記憶させるとエネル ギー関数が崩壊してしまう 異なる2つのエネルギー関数の極小値が干渉しあって しまう 画像出典:[1] 9
3.1 Modern Hopfield Networks の紹介と改良点 Modern Hopfield Network: エネルギー関数及び、更新規則を見直すことにより、記憶容量を改善 収束スピードも増した 𝜇 エネルギー関数E, 更新規則は、各ニューロンの状態𝜉𝑖 と、記憶すべきメモリパターン𝑥𝑖 、滑らか な関数𝐹を用いて、以下の式で表される 𝑀 𝑀 𝜇 𝐸 = − 𝐹 𝑥𝑖 𝜉𝑖 , 𝜇 𝜇 𝜉𝑖𝑡+1 = 𝑆𝑔𝑛 𝐹 𝑥𝑖 + 𝑥𝑗 𝜉𝑗 𝑡 𝜇=1 𝜇=1 𝑥𝑛 𝑥 ≥ 0 関数𝐹としては、 𝐹 𝑥 = ቊ 0, 𝑥 < 0 𝐹 𝑥 = 𝑒𝑥 𝜇 𝜇 − 𝐹 −𝑥𝑖 + 𝑥𝑗 𝜉𝑗 𝑡 𝑗≠𝑖 𝑗≠𝑖 [Krotov+16], [Demircigil+17] を採用。 10
3.2 Modern Hopfield Networkの詳細な説明 関数𝐹(𝑥) = 𝑥 2 とすると、古典的なHopfield Networkに対応 証明: 𝜇 𝜇 𝑡 σ 𝜉𝑖𝑡+1 = 𝑆𝑔𝑛[σ𝑀 (𝐹 𝑥 + 𝑥 𝜇=1 𝑗≠𝑖 𝑗 𝜉𝑗 𝑖 𝜇 𝜇 𝑡 σ𝑀 σ (𝐹 𝑥 + 𝑥 𝜇=1 𝑗≠𝑖 𝑗 𝜉𝑗 𝑖 𝜇 𝜇 𝜇 − 𝐹(−𝑥𝑖 + σ𝑗≠𝑖 𝑥𝑗 𝜉𝑗 𝑡 ))] について、 𝜇 − 𝐹(−𝑥𝑖 + σ𝑗≠𝑖 𝑥𝑗 𝜉𝑗 𝑡 )) 𝜇 𝜇 𝑡 𝜇 𝑡 2 𝜇 𝜇 𝑡 𝜇 𝑡 2 σ σ σ σ = σ𝑀 1 + 2 𝑥 𝑥 𝜉 + ( 𝑥 𝜉 ) −1 + 2 𝑥 𝑥 𝜉 − ( 𝑥 𝜇=1 𝑗≠𝑖 𝑖 𝑗 𝑗 𝑗≠ 𝑗 𝑗 𝑗≠𝑖 𝑖 𝑗 𝑗 𝑗≠𝑖 𝑗 𝜉𝑗 ) 𝜇 𝜇 𝑡 σ = 4 σ𝑀 𝑥 𝑥 𝜉 𝜇=1 𝑗≠𝑖 𝑖 𝑗 𝑗 𝜇 𝜇 これは古典的なHopfield Networkの更新規則 𝜉𝑖′ = sgn σ𝑗≠𝑖 𝑇𝑖𝑗 𝜉𝑗 , 𝑇𝑖𝑗 = σ𝑀 𝜇=1 𝑥𝑖 𝑥𝑗 と等価である 11
3.3 Modern Hopfield Networkの記憶容量 Hopfield Network エネルギー関数 改良版:𝑭 𝒙 = 𝒙𝒏 𝑁 𝐸 =− 1 𝜉𝑖 𝑇𝑖𝑗 𝜉𝑗 , 2 𝑖,𝑗=1 𝑀 𝜇 𝜇 𝑇𝑖𝑗 = 𝑥𝑖 𝑥𝑗 改良版:𝑭 𝒙 = 𝒆𝒙 𝑀 𝑀 𝐸 = − 𝐹 𝑥𝑖𝜇𝜉𝑖 , 𝐸 = − 𝐹 𝑥𝑖𝜇 𝜉𝑖 , 𝜇=1 𝜇=1 𝐹 𝑥 = 𝑒𝑥 𝑥𝑛 𝑥 ≥ 0 𝐹 𝑥 =ቊ 0, 𝑥<0 𝜇=1 更新規則 𝜉𝑖′ = sgn 𝑇𝑖𝑗 𝜉𝑗 𝑗≠𝑖 𝜉𝑖𝑡+1 𝑀 𝜇 𝜇=1 メモリ容量 0.138𝑁 𝜇 = 𝑆𝑔𝑛 𝐹 𝑥𝑖 + 𝑥𝑗 𝜉𝑗 𝑁 𝑛−1 𝑗≠𝑖 𝑡 𝜇 𝜇 − 𝐹 −𝑥𝑖 + 𝑥𝑗 𝜉𝑗 𝑡 𝑗 ≠𝑖 𝑁 22 12
3.4 Modern Hopfield NetworksとTransformerの関連性 Modern Hopfield Networkの状態変数の更新規則の導出: 𝐹 𝑥 = 𝑒 𝑥とした場合について 平均値の定理を用いて、更新規則がsoftmax関数を使って表せることを示す 𝑇𝑗 𝜉 = sgn −𝐸 𝜉𝑗 = 1 + 𝐸 𝜉𝑗 = −1 = sgn − 2𝑒𝑗 𝑇 = sgn exp 𝑙𝑠𝑒 𝜉𝑗 = 1 − exp 𝜉𝑗 = −1 (𝑣 ∈ −1,1 , 平均値の定理より) 𝜕 𝑇 (2𝑒𝑗 ) 𝑙𝑠𝑒 𝜉𝑗 = 𝑣 𝜕𝜉 ∇𝜉 𝐸 𝜉𝑗 = 𝑣 = sgn exp 𝑙𝑠𝑒 𝜉𝑗 = 𝑣 = sgn exp 𝑙𝑠𝑒 𝜉𝑗 = 𝑣 2𝑒𝑗 𝑇 = sgn 𝑋𝑠𝑜𝑓𝑡𝑚𝑎𝑥 𝑋 𝑇 𝜉 𝜉𝑗 = 𝑣 𝑋softmax 𝑋 𝑇 𝜉 𝜉𝑗 = 𝑣 𝑗 = sgn[ 𝑋𝑝(𝜉𝑗 = 𝑣) ] 𝑗 13
3.5 Modern Hopfield Networkの連続変数への拡張 状態変数の取りうる値を、2値から連続変数へと拡張することを考える Hopfield Networkをdeep learningの構造に取り入れる際に、連続変数であるほうが都合がよい 𝑀個の記憶すべきパターンX = 𝒙1 , 𝒙2 , … , 𝒙𝑀 , 𝒙𝑖 ∈ 𝑅𝑁 , 𝐿 = 𝑚𝑎𝑥𝑖 𝒙𝑖 , 状態変数𝝃 ∈ 𝑅𝑁 としたとき、 元の式:𝐸 = − exp 𝑙𝑠𝑒 1, X𝑇 𝝃 1 𝑇 1 2 𝑇 −1 連続変数の式:𝐸 = −𝑙𝑠𝑒 𝛽, X 𝝃 + 𝝃 𝝃 + 𝛽 𝑙𝑜𝑔𝑀 + 𝐿 2 2 𝑁 ただし、𝑙𝑠𝑒 𝛽, 𝒙 = 𝛽−1 𝑙𝑜𝑔 exp(𝛽𝑥𝑖 ) 𝑖=1 状態変数の更新規則は、𝑝 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥(𝛽X𝑇 𝝃)とおくと、 𝝃𝑛𝑒𝑤 = 𝑓 𝝃 = X𝑝 = 𝑋softmax(𝛽X𝑇 𝝃) 14
3.6 Modern Hopfield NetworksとTransformerの関連性 画像出典:[4] Modern Hopfield Network(1番左)を状態変数が連続変数のものに拡張(左から2 番目) 連続変数に拡張したHopfield Networkに対応した更新規則(左から3番目)は、 Transformerの式と似ている 1回の更新により、更新前のエネルギーの値と、エネルギー関数の極小値(定常点)との誤差が非常に小さ くなることが示されている(詳細略) 15
3.7 Modern Hopfield Networkの応用 (a) Hopfield層 (b) Hopfield pooling層 (c) Hopfield layer層 画像出典:[4] Hopfield Networkと深層学習の様々な層との類似性について (a)はattention機構、(b)はpooling層、(c)は全結合層と等価であるとみなせる 16
3.7 Modern Hopfield Networkの応用 表出典:[4] 深層学習は通常、小さなデータセットでのパフォーマンスに苦戦するが、最近傍法に似た学習 の仕方をすることから、小規模なデータセットに対する適用も有望 表はUCIベンチマークのうちの75個のデータセットに対する評価を行った結果 分類問題と思われる 17
4.1 Simplicial Hopfield Networks 書誌情報 紹介論文 タイトル: Simplicial Hopfield Networks 出典: Arxiv(2023.05), ICLR2023 著者: Thomas F.Burns Tomoki Fukai OIST Graduate University 概要 Hopfield Networks: パターンの保存と取り出しに強力なツール 単体複体の概念を用いて、そのメモリ容量を拡大することを検討 18
4.2 単体複体とはなにか 簡単にいうと:点、線、三角形、四面体などを一緒に組み合わせて構成される数学的な構造 で、これらの要素間の集合的な関係を表現するのに役立つ。高次元のデータ構造やネットワー クのトポロジーを解析するための強力なツールとされている。(ChatGPT) 19
4.3 抽象的な単体複体 定義:𝐾を2𝑁 の部分集合とする。Kが抽象的な単体複体となる条件は、任意の𝜎 ∈ 𝐾に対し て、すべての𝜌 ⊆ 𝜎が、𝜌 ∈ 𝐾を満たすこと シンプルに言うと、部分集合を取るという操作に対して閉じている集合族 具体例:{∅, 1 , 2 , 3 , 1,2 , 1,3 , 2,3 , {1,2,3}} 幾何学的な例: 画像出典:[5] 20
4.4 単体 単体複体Kの元𝜎を単体という K次元単体(K-simplex)は、K+1の濃度と、K-1次元単体であるK+1個の面(face)を持つ K=2の三角形において、K-1次元単体である面は、K=1の辺 K=0 K=1 K=2 21
4.5 単体複体によるHopfield Networkの定式化 (𝑡) N個の頂点に対する単体複体K, 時刻tにおける各ニューロンの状態𝜉𝑗 (𝑡) = ±1(スピン)を考える 𝜇 あるニューロンの集合𝜎に対して、重みを𝑤 𝜎 , 𝜎 個のスピンの積を𝜉𝜎 , 𝑥𝜎 とすると、 古典的なHopfield Networkの場合: 𝑀 𝐸 =−𝑤 𝜎 𝑡 𝜉𝜎 𝜎∈𝐾 1 𝜇 , 𝑤 𝜎 = 𝑥𝜎 𝑁 (古典的な𝐻𝑜𝑝𝑓𝑖𝑒𝑙𝑑 𝑁𝑒𝑡𝑤𝑜𝑟𝑘) 𝜇=1 Modern Hopfield Networkの場合: 𝑀 𝜇 𝑡 𝐸 = − 𝐹 𝑥𝜎 𝜉𝜎 , 𝜇=1 𝜎∈𝐾 𝑀 (𝑡+1) 𝜉𝜎 𝜇 (𝑡) 𝜇 = 𝑆𝑔𝑛 𝐹 1 ∙ 𝑥𝑖 + 𝑥𝜎 𝜉𝜎 𝜇=1 𝜎∈𝐾 𝜇 (𝑡) 𝜇 − 𝐹 −1 ∙ 𝑥𝑖 + 𝑥𝜎 𝜉𝜎 𝜎∈𝐾 22
4.5 単体複体によるHopfield Networkの定式化 𝜇 𝑥𝑗 , 𝜉𝑗 ∈ ℝ, 𝑋 = (𝒙1 , 𝒙2, … , 𝒙𝑃 ) とすると、 連続変数に対応したModern Hopfield Networkの場合: 𝐸 = −𝑙𝑠𝑒 𝑇 −1 , 𝑋 𝑇 𝝃 𝝃 𝑡 𝑡 ,𝐾 + 1 2 𝝃 𝑡 𝑇 (𝑡−1) = softmax 𝑇 σ𝜎∈Κ 𝑋𝜎𝑇 𝝃𝜎 𝝃 𝑡 , 𝑋 各単体𝜎 ∈ 𝐾について、記憶したパターンに関する行列Ξとのドット積(類似度)を計算し更新 ドット積は、ユークリッド距離、マンハッタン距離、コサイン類似度に置き換え可 高次元の幾何学的類似度の指標として、ced を使用 𝑑𝜌 はユークリッド距離 𝑐𝑒𝑑 𝜇 𝑡 𝑥𝜎 , 𝝃𝜎 = 𝑑𝜌 𝜎∈𝐾1𝜎 2 画像出典:[5] 23
4.6 実験 本論分では、𝐾1, 𝑅1ത 2, 𝑅12, 𝑅12ത , 𝑅2の5つの設定を中心に実験 それぞれで、1-simplicesと2-simplicesの比率が異なる K1は1-simplicesのみ、すなわち古典的なHopfield networkに対応 24
4.6 実験 表出典:[5] ランダムな2値変数の組(N=100)を記憶パターンとして、復元率を調査 評価指標は、𝑚 = 𝜇 1 𝑁 (𝑡) 𝜇 σ𝑁 𝑖=1 𝜉𝑖 𝑥𝑖 とする 完全に復元できる場合、 𝑚𝜇 =1 2変数の関係性のみを扱う場合と比較して、多変数の関係性も取り入れると復元率が向上 比較において、パラメータ数(接続数)の数は同じで、各接続はランダムに選択される 25
4.6 実験 表出典:[5] MNIST, CIFER-10, Tiny ImageNetの3つのDatasetを用いて記憶容量を評価 各画像は0から1の範囲で正規化し、連続変数として扱う 上段がK1(古典的なHopfield network), 下段が𝑅12ത を表しており、いずれのDatasetにお いても精度の向上が見られる 26
4.7 CNNとの関連性 画像出典:CNN 深層学習の領域において、多変数の関係性を扱うというのは、CNNでなされている CNNは多変数を扱う領域が制限されている一方で、本論文ではどの位置の関係性に着目す るかを自由に選べる 27
まとめ・所感 まとめ 統計物理学、神経科学との繋がりの深い Hopfield Networkの導入を行った 古典的なHopfield Networkの見直しにより、記憶容量を改善した(Modern Hopfield Network) 深層学習のアーキテクチャに組み込むために、連続変数に対応したHopfield Networkを考案した 単体複体の考えを用いた、記憶容量の更なる改善に向けた研究を紹介した 感想 現時点ではHopfield NetworkモデルそのものはSOTAの達成という観点からすると弱い 様々なDatasetでの検証が必要 しかしTransformerを、エネルギーの最小化や連想記憶、という観点から見る上で、使えそうな概念 ⇒改良につなげられる可能性あり 大規模基盤モデルとの関連性について、記憶や推論などモジュールを分けて構築し、そのうちの記憶を 司る一部分として機能しないかな? 制限付きボルツマンマシンとの関係性も踏み込みたかった 28
引用 [1] Neural networks and physical systems with emergent collective computational abilities. | PNAS [2] [1606.01164] Dense Associative Memory for Pattern Recognition (arxiv.org) [3] [1702.01929] On a model of associative memory with huge storage capacity (arxiv.org) [4] [2008.02217] Hopfield Networks is All You Need (arxiv.org) [5] [2305.05179] Simplicial Hopfield networks (arxiv.org) [6] (PDF) A new frontier for Hopfield networks (researchgate.net) 29