読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】LSTMのゲートとCECって何してるん?GRUとはどう違う?【G検定】

11レスカテゴリ:AI・機械学習
1: 名無しさん

LSTMは長い系列を覚えられるって言われるけど、ふつうのRNNと何が違うん?
CECってのも出てくる

2: 名無しさん

前提のおさらい。ふつうのRNNは、時刻をさかのぼるたびに傾きを掛け算するから、遠い過去ほど勾配が消える。 の微分は1以下やから、長い系列ではなおさら

3: 名無しさん

>>1
LSTMは、隠れ状態とは別に「セル」という記憶の通り道を持ってる

に忘却ゲート を掛けて残し、新しい候補 に入力ゲート を掛けて足す。出力ゲート は、セルのどれだけを外に出すかを決める
ゲートはどれもシグモイド関数で0〜1の値をとる、蛇口みたいなもの

4: 名無しさん

>>3
CEC(Constant Error Carousel)は、このセルの通り道のこと。セルは掛け算や活性化関数を通らずに次の時刻へ流れるから、誤差がほぼそのまま回り続ける
忘却ゲートが1なら、セルの値も誤差もそのまま次に渡る。 なら次も2

5: 名無しさん

>>4
数字で比べると、毎時刻0.25ずつ縮む流れなら10時刻で 。忘却ゲートが0.9なら も残る

6: 名無しさん

>>5
忘れるゲートがあったら、むしろ覚えられなくなるんちゃうの?

7: 名無しさん

>>6
いらんことを忘れられるのが大事。文が終わったら主語の記憶を消す、みたいに、ゲートを0に近づけて記憶をリセットできる
実は最初のLSTM(ホフライターとシュミットフーバーの1997年の論文)には忘却ゲートがなかった。後から足されて今の形になった

8: 名無しさん

GRUは、LSTMを簡単にしたもの。チョーらの2014年の論文
ゲートは2つ。更新ゲート(前の状態をどれだけ残すか)とリセットゲート(前の状態をどれだけ使って候補を作るか)
セルと隠れ状態を分けずに1本にまとめてある

9: 名無しさん

>>8
パラメータ数で比べる。入力64次元・隠れ状態128次元なら、ゲート1つ分の重みとバイアスは
LSTMは4組で98816個、GRUは3組で74112個。GRUのほうが4分の3で済む

10: 名無しさん

>>9
軽いならGRUだけでええんちゃう?

11: 名無しさん

>>10
精度はタスクによって勝ったり負けたりで、どっちがいつも上ということはない。データが少ないときや速さが欲しいときはGRU、を試す価値がある、くらいの使い分け

管理人のひとこと