LSTMの記憶セルに組み込まれたCEC(Constant Error Carousel)が、長い系列でも勾配消失を起こしにくくする理由として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 A
この問題の論点:CECが勾配消失を防ぐ理由
ポイント
CECは記憶セルの値を重み1の自己ループでそのまま受け渡す仕組みで、誤差を減衰させずに過去の時刻へ伝えます。
選択肢ごとの解説
- A
適切 正解
通常のRNNでは、誤差が時刻をさかのぼるたびに重みや活性化関数の微分が掛かり、指数的に小さくなります。CECは値を変えずに受け渡すため、誤差の大きさが一定に保たれます。名前のConstant Errorはこの性質を指します。
- B
不適切
シグモイド関数の微分は最大でも0.25で、誤差が通るたびにこれが掛かると、かえって勾配は小さくなります。LSTMでシグモイド関数を使うのは、ゲートの開き具合を0から1で表す部分です。
- C
不適切
これはTruncated BPTTの考え方で、計算量を抑えるための工夫です。区切りより前には誤差が届かないため、区切りの長さをこえる依存関係は学習しにくくなります。勾配消失を解決する方法ではありません。
- D
不適切
これは勾配クリッピングで、勾配が大きくなりすぎる勾配爆発への対策です。勾配が小さくなりすぎる勾配消失には効果がありません。
補足
1997年に提案された当初のLSTMは、CECに加えて入力ゲートと出力ゲートを持ち、記憶セルへの書き込みと読み出しを制御していました。忘却ゲートは2000年の研究で加えられたものです。これにより自己ループの係数を入力に応じて調整し、不要になった記憶を消せるようになりました。
試験での狙われ方
CECと各ゲートの役割の違いや、勾配爆発への対策である勾配クリッピングとの区別を問う形が見られます。