カリキュラム学習(学習順序)とは
Curriculum Learning / 学習順序
簡単なサンプルから難しいサンプルへと順序立てて学習させることで、学習の効率や汎化性能を高める手法
ひとことで言うと
人が易しい問題から難しい問題へと段階的に学ぶのと同様に、モデルにも簡単なサンプルから難しいサンプルへ順番に学習させる方法。
概要
カリキュラム学習(Curriculum Learning)とは、人間が易しい内容から難しい内容へと段階的に学ぶのと同様に、機械学習モデルにも簡単なサンプルから難しいサンプルへと順序立てて学習させる手法を指す。 全ての訓練データをランダムな順序で一様に学習させる通常の方法と異なり、サンプルの難易度(ノイズの少なさ、タスクの複雑さなど)に応じて学習の順序をあらかじめ設計、あるいは学習中に動的に調整する。 難易度の低いサンプルから学習を始めることで良い初期解へ早く到達しやすくなり、収束の速さや最終的な汎化性能の向上が期待できるとされる。 LLMの事前学習やロボット制御の強化学習など、学習が不安定になりやすい設定で応用される。
歴史
2009年にBengioらが論文「Curriculum Learning」で、この考え方を機械学習の学習手法として体系的に提案した。
ワークフロー
訓練サンプルの難易度を何らかの基準(ノイズの少なさ、文長、タスクの複雑さ等)で評価する → 難易度の低いサンプルから学習を開始する → 学習の進行に応じて徐々に難易度の高いサンプルを学習に加えていく → 最終的に全難易度のサンプルを含めて学習を完了する。
利点
- 学習序盤の不安定さを避けやすく、収束の速さにもつながる場合がある
- 難しいサンプルにいきなり適応しようとして学習が破綻するリスクを抑えられる
- 難易度設計次第で最終的な汎化性能の向上も期待できる
欠点
- サンプルの難易度をどう定義し測定するかの設計が難しく、タスクごとに試行錯誤が必要になる
- 難易度の順序付けが不適切だと、通常のランダム順序での学習より性能が悪化することもある
- 難易度評価や順序制御の実装分、学習パイプラインが複雑になる
比較
- 強化学習 — カリキュラム学習は強化学習において、簡単なタスク設定から難しいタスク設定へ段階的に難易度を上げる形でも応用される
関連用語
よくある質問
カリキュラム学習の「難易度」は誰が決める?
ノイズの少なさや文長、タスクの複雑さなど、あらかじめ人間が設計した基準で難易度を決める場合と、学習中のモデル自身の予測誤差などをもとに動的に難易度を推定する場合がある。