G検定 練習問題 #0386・回帰結合層

RNNの隠れ状態の順伝播計算

ディープラーニングの要素技術 › 回帰結合層 単一選択 難易度 基礎

ある小売店は、日々の売上の変化を標準化した値を、単純なRNN(エルマンネットワーク)に1日ずつ入力する。説明のため、入力と隠れ状態はどちらも1つの数値とし、時刻tの隠れ状態をh(t)=0.5×x(t)+0.8×h(t-1)で求める(活性化関数とバイアスは省略する)。h(0)=0、x(1)=2、x(2)=1、x(3)=0のとき、h(3)の値として最も適切なものを1つ選べ。

正解と解説を見る

解説

正解 C

この問題の論点:RNNの隠れ状態の順伝播計算

ポイント

RNNの隠れ状態には過去の入力の情報が引き継がれ、古い入力ほど回帰結合の重みが何度も掛かった形で残ります。

選択肢ごとの解説

  1. A

    不適切

    x(3)=0だけを見て、0.5×0=0とした値です。RNNは前の時刻の隠れ状態に0.8を掛けた値も足すため、入力が0の時刻でも過去の入力の情報が残ります。

  2. B

    不適切

    0.8×0.5×1=0.4は、x(2)の寄与だけを数えた値です。h(2)にはx(1)の情報も含まれており、その分の0.8×0.8×0.5×2=0.64も残っています。

  3. C

    適切 正解

    h(1)=0.5×2=1.0、h(2)=0.5×1+0.8×1.0=1.3、h(3)=0.5×0+0.8×1.3=1.04です。x(1)の寄与0.64とx(2)の寄与0.4の和になっています。

  4. D

    不適切

    0.5×(2+1+0)=1.5は、過去の入力が弱まらずにそのまま足し合わされるとみなした値です。実際には1時刻進むごとに0.8が掛かり、古い入力ほど影響が小さくなります。

補足

この単純化したモデルでは、x(1)の影響は1時刻進むごとに0.8倍になります。逆伝播でも同じく、勾配は1時刻さかのぼるごとに0.8倍になります。回帰結合の重みが1より小さいと、勾配は遠い過去ほど小さくなり、勾配消失問題につながります。1より大きいと逆に大きくなり、勾配爆発問題につながります。

試験での狙われ方

隠れ状態の更新式に数値を代入させ、前の時刻の隠れ状態を足し忘れる誤りや、すべての入力を同じ重さで足す誤りを誘う形が考えられます。

参考

表示設定

テーマ
文字の大きさ
問題演習