ある旅行会社は、RNNを用いて問い合わせへの返信文を1語ずつ生成するモデルを開発した。学習時は、各時刻の入力として前の時刻の正解の単語を与えた。検証データでの1語先の予測精度は高かったが、実際の運用では、途中で1語誤るとそれ以降の文が崩れやすい。この状況の説明として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 C
この問題の論点:教師強制と推論時のずれ
ポイント
教師強制は学習を安定させますが、学習時と推論時で入力の条件が異なるため、推論時に誤りが連鎖しやすくなります。
選択肢ごとの解説
- A
不適切
教師強制で置き換えるのは、各時刻に入力する単語だけです。隠れ状態は通常どおり前の時刻から引き継がれるため、学習時も文脈の情報は使われています。
- B
不適切
BPTTは学習時に勾配を求める方法で、運用時の推論では誤差の逆伝播は行いません。誤りが後へ影響するのは、出力した単語を次の時刻の入力として前向きに使うためです。
- C
適切 正解
教師強制は学習を安定させ、速く進めます。一方で、学習時と推論時で入力の条件がずれます(exposure biasと呼ばれます)。学習の途中からモデル自身の出力を入力に使う割合を増やすScheduled Samplingなどの対策があります。
- D
不適切
教師強制は次の時刻に何を入力するかを決める方法で、勾配の大きさとは直接関係しません。重みが発散していれば学習時の損失も発散するはずで、検証データでの精度が高いという状況と合いません。
試験での狙われ方
教師強制の利点(学習の安定・高速化)と欠点(学習時と推論時のずれ)を、文章生成などの場面に当てはめて問う形が考えられます。