LSTMの中の三つのGate

ここでは、LSTMの中で、Gateがどのようなところに配置されているかを見てみよう。

あらためて、RNNとLSTMの比較をしてみよう。

まずは、RNNから。


隠れ層に、横串が一本通っているが、RNNは単純な三層構造のニューラル・ネットワークが単位であることは、わかると思う。

では、LSTMは、どうであろうか?


横串が、一本増えた。

ただ、この二つの図を見ているだけではわからないことがある。もう少しだけ詳しく、内部の様子を見てみよう。

まずは、RNNから。

基本となるのは、RNNの次のような構成である。この図では、矢印に添えられた文字は、情報の名前ではなく、重みであることに注意されたい。

これまでも、また、これからも繰り返し登場する重要な式は、Full Connectなニューラル・ネットワーク一層の出力は、入力をX、重みをW、バイアスをb とした時に、\( \phi ( W \cdot X + b) \) で表されるということである。

RNNでは、隣り合う隠れ層もFull Connectである。ここでは、RNNの隠れ層が受け取る二つの入力 \(h_{t-1}\) と \(x_t\) から、次の式で、出力が計算されている。
$$ h_t = \phi _h ( U \cdot x_t + W \cdot h_{t-1} + b_h $$
ここで、基本式に新たに付け加えられた \(W \cdot h_{t-1}\)が、隣の隠れ層からの入力に対応している。


この関係式を、先のRNNのグラフに書き込んでみよう。次の図が、それである。
出力層では、活性化関数とバイアスが省略されている。



この図に対応するLSTMのグラフは、次のようになる。


似ているようでもあり、似ていないような気もするが。

ただ、先の図には、重要な情報が抜けている。LSTMが、もっともRNNと異なるのは、それが内部にGateを持つということだ。それを図示したのが、次の図である。


LSTMは、内部に三つのGateを持っている。それが、LSTMの振る舞いを、RNNとは大きく変えることになる。


コメント

このブログの人気の投稿

TPU論文の翻訳(1)

可微分ニューラルコンピュータとは何か(1) 概論

TensorFlow Foldについて