ニューラルネットワーク において、ゲーティング機構は 活性化 信号と勾配信号 の流れを制御するためのアーキテクチャ上のモチーフです。ゲーティング機構はリカレントニューラルネットワーク (RNN)で最もよく用いられていますが、他のアーキテクチャにも応用されています。
RNN ゲーティング機構は長短期記憶 (LSTM)の中心的な要素です。[ 1 ] ゲーティング機構は、通常のRNNでしばしば発生する 勾配消失問題を 軽減するために提案されました。
LSTM ユニットには 3 つのゲートが含まれています。
メモリセルへの新しい情報の流れを制御する入力ゲート 忘却ゲートは 、前のタイムステップからどれだけの情報を保持するかを制御する。 出力ゲート 。次の層に渡される情報量を制御します。 LSTMの方程式は以下の通りである: [ 2 ]
私 t = σ ( X t W × 私 + H t − 1 W h 私 + b 私 ) F t = σ ( X t W × f + H t − 1 W h f + b f ) お t = σ ( X t W × o + H t − 1 W h o + b o ) C 〜 t = タン ( X t W × c + H t − 1 W h c + b c ) C t = F t ⊙ C t − 1 + 私 t ⊙ C 〜 t H t = お t ⊙ タン ( 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 × r + H t − 1 W h r + b r ) Z t = σ ( X t W × z + H t − 1 W h z + b z ) H 〜 t = タン ( X t W × 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 あなた ( 1つの 、 b ) = 1つの ⊙ σ ( b ) {\displaystyle \mathrm {GLU} (a,b)=a\odot \sigma (b)}
ここで、 はそれぞれ最初の入力と 2 番目の入力です。はシグモイド 活性化関数 を表します。 1つの 、 b {\displaystyle a,b} σ {\displaystyle \sigma }
他の活性化関数に置き換えると、GLU のバリエーションが生成されます。 σ {\displaystyle \sigma }
R e G L あなた ( 1つの 、 b ) = 1つの ⊙ ReLU ( b ) G E G L あなた ( 1つの 、 b ) = 1つの ⊙ ゲル ( b ) S わ 私 G L あなた ( 1つの 、 b 、 β ) = 1つの ⊙ シュッシュ β ( 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{スウィッシュ}}_{\beta }(b)\end{整列}}}
ここで、 ReLU 、GELU 、およびSwish は異なる活性化関数です。
変成器モデルでは、このようなゲートユニットはフィードフォワードモジュール でよく使用されます。単一のベクトル入力の場合、結果は次のようになります。[ 6 ]
グルタミン酸 ( × 、 W 、 V 、 b 、 c ) = σ ( × W + b ) ⊙ ( × V + c ) 双線形 ( × 、 W 、 V 、 b 、 c ) = ( × W + b ) ⊙ ( × V + c ) リグル ( × 、 W 、 V 、 b 、 c ) = 最大 ( 0 、 × W + b ) ⊙ ( × V + c ) ゲグル ( × 、 W 、 V 、 b 、 c ) = ゲル ( × W + b ) ⊙ ( × V + c ) スウィグル ( × 、 W 、 V 、 b 、 c 、 β ) = シュッシュ β ( × W + b ) ⊙ ( × 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 .
さらに読む