Regulator for flow of signals in neural networks
ニューラルネットワーク において 、 ゲーティング機構は 活性化 信号と 勾配信号 の流れを制御するためのアーキテクチャ上のモチーフです。ゲーティング機構は リカレントニューラルネットワーク (RNN)で最もよく用いられています が、他のアーキテクチャにも応用されています。
RNN ゲーティング機構は長短期記憶 (LSTM)の中心的な要素です 。 [1] ゲーティング機構は、通常のRNNでしばしば発生する 勾配消失問題を 軽減するために提案されました。
LSTM ユニットには 3 つのゲートが含まれています。
メモリセルへの新しい情報の流れを制御する 入力 ゲート 忘却 ゲートは 、前のタイムステップからどれだけの情報を保持するかを制御する。 出力 ゲート 。次の層に渡される情報量を制御します。 LSTMの方程式は以下の通りである: [2]
I t = σ ( X t W x i + H t − 1 W h i + b i ) F t = σ ( X t W x f + H t − 1 W h f + b f ) O t = σ ( X t W x o + H t − 1 W h o + b o ) C ~ t = tanh ( X t W x c + H t − 1 W h c + b c ) C t = F t ⊙ C t − 1 + I t ⊙ C ~ t H t = O t ⊙ tanh ( C t ) {\displaystyle {\begin{aligned}\mathbf {I} _{t}&=\sigma (\mathbf {X} _{t}\mathbf {W} _{xi}+\mathbf {H} _{t-1}\mathbf {W} _{hi}+\mathbf {b} _{i})\\\mathbf {F} _{t}&=\sigma (\mathbf {X} _{t}\mathbf {W} _{xf}+\mathbf {H} _{t-1}\mathbf {W} _{hf}+\mathbf {b} _{f})\\\mathbf {O} _{t}&=\sigma (\mathbf {X} _{t}\mathbf {W} _{xo}+\mathbf {H} _{t-1}\mathbf {W} _{ho}+\mathbf {b} _{o})\\{\tilde {\mathbf {C} }}_{t}&=\tanh(\mathbf {X} _{t}\mathbf {W} _{xc}+\mathbf {H} _{t-1}\mathbf {W} _{hc}+\mathbf {b} _{c})\\\mathbf {C} _{t}&=\mathbf {F} _{t}\odot \mathbf {C} _{t-1}+\mathbf {I} _{t}\odot {\tilde {\mathbf {C} }}_{t}\\\mathbf {H} _{t}&=\mathbf {O} _{t}\odot \tanh(\mathbf {C} _{t})\end{aligned}}}
ここで、 は 要素ごとの乗算 を表します 。 ⊙ {\displaystyle \odot }
ゲート 付き回帰ユニット (GRU)はLSTMを簡素化します。 [3] LSTMと比較すると、GRUは リセットゲート と 更新ゲートの 2つのゲートのみを持ちます。GRUはまた、セルの状態と隠れ状態を統合します。リセットゲートは忘却ゲートに、更新ゲートは入力ゲートにほぼ相当します。出力ゲートは削除されています。
GRUにはいくつかの亜種があり、そのうちの一つの亜種は以下の式を持つ: [4]
R t = σ ( X t W x r + H t − 1 W h r + b r ) Z t = σ ( X t W x z + H t − 1 W h z + b z ) H ~ t = tanh ( X t W x h + ( R t ⊙ H t − 1 ) W h h + b h ) H t = Z t ⊙ H t − 1 + ( 1 − Z t ) ⊙ H ~ t {\displaystyle {\begin{aligned}\mathbf {R} _{t}&=\sigma (\mathbf {X} _{t}\mathbf {W} _{xr}+\mathbf {H} _{t-1}\mathbf {W} _{hr}+\mathbf {b} _{r})\\\mathbf {Z} _{t}&=\sigma (\mathbf {X} _{t}\mathbf {W} _{xz}+\mathbf {H} _{t-1}\mathbf {W} _{hz}+\mathbf {b} _{z})\\{\tilde {\mathbf {H} }}_{t}&=\tanh(\mathbf {X} _{t}\mathbf {W} _{xh}+(\mathbf {R} _{t}\odot \mathbf {H} _{t-1})\mathbf {W} _{hh}+\mathbf {b} _{h})\\\mathbf {H} _{t}&=\mathbf {Z} _{t}\odot \mathbf {H} _{t-1}+(1-\mathbf {Z} _{t})\odot {\tilde {\mathbf {H} }}_{t}\end{aligned}}}
ゲート式線形ユニット
ゲート線形ユニット (GLU) [5]は、 フィードフォワードニューラルネットワーク(多くの場合、 トランスフォーマー ベースのアーキテクチャ内) での使用に適したゲーティング機構を適応させたものである 。GLUは以下のように定義される。
G L U ( a , b ) = a ⊙ σ ( b ) {\displaystyle \mathrm {GLU} (a,b)=a\odot \sigma (b)}
ここで 、 はそれぞれ最初の入力と 2 番目の入力です。は シグモイド 活性化関数 を表します 。 a , b {\displaystyle a,b} σ {\displaystyle \sigma }
他の活性化関数に置き換えると 、GLU のバリエーションが生成されます。 σ {\displaystyle \sigma }
R e G L U ( a , b ) = a ⊙ ReLU ( b ) G E G L U ( a , b ) = a ⊙ GELU ( b ) S w i G L U ( a , b , β ) = a ⊙ Swish β ( b ) {\displaystyle {\begin{aligned}\mathrm {ReGLU} (a,b)&=a\odot {\text{ReLU}}(b)\\\mathrm {GEGLU} (a,b)&=a\odot {\text{GELU}}(b)\\\mathrm {SwiGLU} (a,b,\beta )&=a\odot {\text{Swish}}_{\beta }(b)\end{aligned}}}
ここで 、 ReLU 、 GELU 、および Swish は異なる活性化関数です。
変成器モデルでは、このようなゲートユニットはフィードフォワードモジュール でよく使用されます 。単一のベクトル入力の場合、結果は次のようになります。 [6]
GLU ( x , W , V , b , c ) = σ ( x W + b ) ⊙ ( x V + c ) Bilinear ( x , W , V , b , c ) = ( x W + b ) ⊙ ( x V + c ) ReGLU ( x , W , V , b , c ) = max ( 0 , x W + b ) ⊙ ( x V + c ) GEGLU ( x , W , V , b , c ) = GELU ( x W + b ) ⊙ ( x V + c ) SwiGLU ( x , W , V , b , c , β ) = Swish β ( x W + b ) ⊙ ( x V + c ) {\displaystyle {\begin{aligned}\operatorname {GLU} (x,W,V,b,c)&=\sigma (xW+b)\odot (xV+c)\\\operatorname {Bilinear} (x,W,V,b,c)&=(xW+b)\odot (xV+c)\\\operatorname {ReGLU} (x,W,V,b,c)&=\max(0,xW+b)\odot (xV+c)\\\operatorname {GEGLU} (x,W,V,b,c)&=\operatorname {GELU} (xW+b)\odot (xV+c)\\\operatorname {SwiGLU} (x,W,V,b,c,\beta )&=\operatorname {Swish} _{\beta }(xW+b)\odot (xV+c)\end{aligned}}}
その他のアーキテクチャ ゲーティング メカニズムは 、LSTM を展開して設計された 高速道路ネットワークで使用されます。
チャネルゲーティング [7] は、ゲートを使用して 畳み込みニューラルネットワーク (CNN)内のさまざまなチャネルを通る情報の流れを制御します。
参照
参考文献 ^ ゼップ・ホッホライター ; ユルゲン・シュミットフーバー (1997)。 「長短期記憶」。 ニューラル計算 。 9 (8): 1735 ~ 1780 年。 土井 :10.1162/neco.1997.9.8.1735。 PMID 9377276。S2CID 1915014 。 ^ Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). 「10.1. Long Short-Term Memory (LSTM)」. Dive into deep learning . Cambridge, New York, Port Melbourne, New Delhi, Singapore: Cambridge University Press. ISBN 978-1-009-38943-3 。 ^ Cho, Kyunghyun; van Merrienboer, Bart; Bahdanau, DZmitry; Bougares, Fethi; Schwenk, Holger; Bengio, Yoshua (2014). 「統計的機械翻訳のためのRNNエンコーダー・デコーダーを用いたフレーズ表現の学習」. 計算言語学協会 . arXiv : 1406.1078 . ^ Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). 「10.2. ゲート付きリカレントユニット (GRU)」. ディープラーニングへの挑戦 . ケンブリッジ大学出版局, ニューヨーク, ポートメルボルン, ニューデリー, シンガポール. ISBN 978-1-009-38943-3 。 ^ Dauphin, Yann N.; Fan, Angela; Auli, Michael; Grangier, David (2017-07-17). 「ゲート付き畳み込みネットワークによる言語モデリング」. 第34回国際機械学習会議論文集 . PMLR: 933–941 . arXiv : 1612.08083 . ^ Shazeer, Noam (2020年2月14日). 「GLUバリアントによるTransformerの改良」. arXiv : 2002.05202 [cs.LG]. ^ Hua, Weizhe; Zhou, Yuan; De Sa, Christopher M; Zhang, Zhiru; Suh, G. Edward (2019). 「チャネルゲーティングニューラルネットワーク」. ニューラル情報処理システムの進歩 . 32. Curran Associates, Inc. arXiv : 1805.12549 .
さらに読む Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). 「10.1. 長短期記憶(LSTM)」. ディープラーニングへの挑戦 . ケンブリッジ大学出版局. ニューヨーク、ポートメルボルン、ニューデリー、シンガポール. ISBN 978-1-009-38943-3 。