時系列データを利用するDeepLearningの一種。
LSTM = Long short-term memory
以前やってた RNN の一種だけど、記憶のやり方が異なる。
RNN はこれね…
LSTM は以下のようなセルとゲートがあり、それぞれのゲートに学習パラメータを持ってる。
- 記憶セル : 過去の記憶を保持する
- 忘却ゲート : 過去の記憶を消す割合を調整する
- 入力ゲート : 新しい記憶を追加する割合を調整する
- 出力ゲート : 記憶セルの内容を出力に反する割合を調整する
加えて記憶セル → 積の間の Tanh も学習パラメータがあるので、学習パラメータが計4か所もあるという…
忘却ゲート
忘却ゲートはこんな感じ
は活性関数後の値。
はシグモイド関数。
は現時点の入力。
は前回の結果出力。
W,Bは重みとバイアス。これは前回までもそうだったので今更である。
入力ゲートと新しい記憶データの $Tanh$ はこんな感じになる
入力ゲート
まぁ内容は見たままやね。
新しい記憶データは
こいつらって結構見たままなのよね
出力ゲート
というか活性関数通す連中だから基本楽ですよね。
しかしこれを微分するのか…気が滅入るな…