教師強制 (G検定)

教師強制

1. 定義と概要

教師強制(Teacher Forcing)とは、系列を1つずつ順番に生成するモデルを学習させる際、前のステップでモデルが実際に出した予測ではなく、正解データ(教師データ)を次のステップの入力として与える学習手法です。

教師強制が使われるのは、RNN(前の情報を覚えながら順番にデータを処理するニューラルネットワークの一種)や Seq2Seq(ある系列を別の系列に変換するモデルの枠組み)のように、系列を順番に生成するモデルの学習です。RNN と Seq2Seq の内部構造そのものは別のテーマとして扱われるため、本記事では教師強制という学習の工夫に絞って整理します。

たとえば「私は猫が好きです」という文を1単語ずつ生成する言語モデルの学習では、2単語目を予測する際、モデルが実際に出した1単語目の予測結果ではなく、正解の「私は」をそのまま次の入力として使います。

系列生成モデルは本来、前のステップの出力を次のステップの入力として使う自己回帰的(前のステップの出力を次のステップの入力として使う方式)な仕組みで動くのが基本です。従来はこの流れのまま学習していたため、学習の初期段階でモデルの予測精度が低いと、誤った出力がそのまま次の入力になり、誤差が連鎖的に拡大する問題がありました。生成する系列が長くなるほど、この拡大は積み重なりやすくなります。

その結果、学習が不安定になったり、収束(学習が進み、モデルの予測が安定した状態に近づくこと)が遅くなったりする課題があります。そこで学習時には常に正解データを次の入力として与える教師強制が、誤差の連鎖を断ち切り、学習を速く安定させる仕組みです。

2. 試験対策ポイント

教師強制のメリットは、誤差の連鎖を防ぎ、学習を速く安定させる点にあります。前のステップの予測が多少ずれていても、次の入力には常に正解データが使われるため、誤差が積み重なって学習全体が崩れることを防げます。長い文章や長い音声のように系列が長いタスクほど、この効果はいっそう顕著です。

一方で教師強制には副作用があり、露出バイアス(exposure bias。学習時と推論時で入力の条件が異なるために生じる、本番での予測のズレや誤差の積み重なり)と呼ばれます。学習時は常に正解データを次の入力に使うのに対し、推論(学習済みモデルを使って実際に答えを出す処理)の場面には正解データが手元になく、モデル自身の出力を次の入力として使わざるを得ません。学習中にモデルが体験する入力の条件と、本番で直面する入力の条件は、ここで食い違ったままになります。

この条件のズレによって、本番で一度誤った単語や記号を出すと、その誤りを引きずったまま次の予測が行われ、誤差がさらに積み重なりやすくなります。長い応答ほど、この積み重なりが目立つ傾向です。

露出バイアスへの対処として、スケジュールドサンプリング(学習が進むにつれて正解データを使う割合を減らしていく学習の工夫)が挙げられます。モデル自身の出力を使う割合を段階的に増やしながら、学習の安定性を保ちつつ推論時の条件に近づけていきます。

3. 関連概念との比較・相違点

教師強制を使わない学習(自己回帰的な学習)との最大の違いは、学習の速さ・安定性と、推論時の条件との一致度がトレードオフの関係にある点です。教師強制ありは誤差の連鎖が起きにくく、学習が速く安定しますが、推論時とのズレである露出バイアスが生じます。

教師強制なしは学習に時間がかかり、不安定になりやすい一方、常にモデル自身の出力を使うため、推論時の条件に近い形で学習が進みます。機械翻訳(ある言語の文章を別の言語の文章に自動的に変換する技術)のように出力が長くなりやすいタスクほど、この違いは学習の安定性と本番の精度の両面を左右する要素です。

スケジュールドサンプリングとの分かれ目は、正解データを使う割合の違いです。教師強制は学習を通じて常に正解データを次の入力に使うのに対し、スケジュールドサンプリングは学習が進むにつれて正解データを使う割合を減らし、モデル自身の出力を使う割合を増やしていきます。

三者を、次の入力に何を使うかという軸で並べると、次のように整理できます。

学習の方式 次の入力に使うもの 学習の速さ・安定性 推論時の条件との一致
教師強制 常に正解データ 速く安定しやすい ズレが生じる(露出バイアス)
教師強制なし 常にモデル自身の出力 時間がかかり不安定になりやすい 推論時に近い形で学習が進む
スケジュールドサンプリング 正解データの割合を段階的に減らす 安定性を保ちやすい 段階的に近づけていく

この並びが示すとおり、スケジュールドサンプリングは、教師強制と、教師強制を使わない学習との中間に位置する手法です。

4. ビジネス・実務での活用シナリオ

機械翻訳の分野では、原文を別の言語の文へ変換する Seq2Seq モデルの学習に教師強制を使うことで、学習を高速化できます。一方、翻訳文が長くなるほど露出バイアスの影響で誤訳が積み重なりやすくなるため、スケジュールドサンプリングなどの対処が検討される場面につながります。

音声認識・文字起こしの分野でも、音声データを文字列へ変換する系列生成モデルの学習に教師強制を用いる利点は、収束を早め、開発期間の短縮につながる点です。従来は学習に時間がかかっていた工程を圧縮できる点は、開発現場にとって具体的な価値になります。

チャットボット(人と自然な対話を行うプログラム)や文章生成の分野では、対話文を1単語ずつ生成するモデルの学習に教師強制を使うことで学習は安定します。ただし本番の応答生成では、一度不自然な単語を出すと文全体が破綻しやすくなる点が、運用上の注意点です。

5. 要点まとめ

  • 教師強制は、系列生成モデルの学習時に前の時刻の入力として、モデル自身の出力ではなく正解データを与える手法です。誤差の連鎖を抑え、学習を速く安定させます。
  • 教師強制には、学習時と推論時で入力の条件が異なる露出バイアスという副作用があります。本番で一度誤ると、誤差が積み重なりやすくなるのが特徴です。
  • 露出バイアスへの対処としてスケジュールドサンプリングがあり、学習が進むにつれて正解データを使う割合を徐々に減らし、モデル自身の出力に近づけていきます。

6. 確認問題

問1教師強制は、系列生成モデルの学習時に、前の時刻のモデル自身の出力ではなく正解データを次の時刻の入力として与える手法である。

解答・解説をみる

○ 正しい

この命題が正しいと判断できる根拠は、前のステップでモデルが出した予測ではなく正解データを次の入力に使う、という教師強制の定義そのものにあります。これにより前のステップの誤差が積み上がりにくくなり、学習も安定します。RNN や Seq2Seq のような系列生成モデルの学習で使われる手法です。

問2教師強制を用いて学習したモデルは、学習時と推論時で入力の条件が一致するため、露出バイアスは生じない。

解答・解説をみる

× 誤り

正しくは逆の関係にあります。教師強制は学習時のみ正解データを次の入力に使い、推論時には正解データが手元にないため、モデル自身の出力を使わざるを得ません。この条件のズレが露出バイアスであり、条件が一致するという記述は取り違えやすい点です。

問3スケジュールドサンプリングは、学習が進むにつれて正解データを使う割合を減らし、モデル自身の出力を使う割合を増やしていく手法である。

解答・解説をみる

○ 正しい

学習の進み具合にあわせて入力の混ぜ方を変えていく仕組みが、スケジュールドサンプリングの要点です。教師強制と、教師強制を使わない学習の、ちょうど中間にあたる方法として位置づけられます。