RNNの学習に用いるBPTT(Backpropagation Through Time)に関する説明として、最も不適切なものを1つ選べ。
正解と解説を見る
解説
正解 D
この問題の論点:BPTTの逆伝播の進め方
ポイント
BPTTでは誤差を最後の時刻から1時刻ずつ順にさかのぼって求めるため、時刻方向に並列化できず、長い系列ほど学習に時間がかかります。
選択肢ごとの解説
- A
適切
BPTTでは、各時刻の計算を1つの層とみなして時間方向に展開し、通常の誤差逆伝播法を適用します。重みは全時刻で共通なので、各時刻で求めた勾配を足し合わせ、その和で1組の重みを更新します。
- B
適切
誤差が1時刻さかのぼるたびに、同じ回帰の重みと活性化関数の微分が掛かります。掛かる値が1を下回り続ければ勾配は指数的に小さくなり、上回り続ければ指数的に大きくなります。
- C
適切
各時刻の勾配を求めるには、その時刻の隠れ状態などの値が必要です。系列の長さに比例してメモリが増えるため、一定の時刻数で逆伝播を打ち切るTruncated BPTTがよく使われます。
- D
不適切 正解
ある時刻の隠れ状態に対する誤差には、次の時刻から戻ってきた誤差が含まれます。そのため最後の時刻から1時刻ずつ順にさかのぼるしかなく、時刻方向には並列化できません。順伝播も同じで、Transformerと比べたRNNの弱点です。
試験での狙われ方
BPTTについては、展開の考え方、時刻を順にさかのぼる計算、長い系列での勾配の問題やメモリの増加を組み合わせて、正誤を判定させる形が考えられます。