過学習(オーバーフィッティング)とは

訓練データに過度にフィットする「過学習」の仕組みと防止策をわかりやすく解説します。

編集・検証: AIパスポートスタディ編集部 公式情報: GUGA 生成AIパスポート公式ページ 制作・検証方針

AIが「勉強しすぎて応用がきかなくなる」現象、それが過学習です。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

テスト前に過去問を丸暗記してた友達が、本番で少しだけ表現が変わった問題に全滅しちゃった話、聞いたことあるんだけど…。

香月 リサ 先生(笑顔) 香月 リサ 先生

ふふ、それが過学習(オーバーフィッティング)の人間版ね。
AIにも全く同じ現象が起きるのよ。

深見 つむぎ(普段) 深見 つむぎ

補足すると、過学習は訓練データには異常に高い精度を示すけれど、見たことのないテストデータや本番データでは精度が急落する状態のこと。

雪村 ましろ(普段) 雪村 ましろ

訓練データの答えを丸暗記しすぎちゃったAIってことですかぁ?

香月 リサ 先生(普段) 香月 リサ 先生

そう。
パターンそのものではなく、訓練データ固有のノイズ(偶然の特徴)まで学習してしまうの。
これだと新しいデータに対応できなくなってしまうのよ。

戸倉 ジャスミン(笑い) 戸倉 ジャスミン

なるほど、それは困るじゃん。
で、対策はあるの?

深見 つむぎ(普段) 深見 つむぎ

代表的な3つ。
(1)訓練データを「訓練/検証/テスト」に分割、(2)正則化(regularization)で重みに罰則、(3)ドロップアウトで一部ニューロンを無効化する手法ね。

雪村 ましろ(あせる) 雪村 ましろ

ふぇぇ、カタカナばっかりでちょっと混乱してきましたぁ…。

香月 リサ 先生(笑顔) 香月 リサ 先生

ましろちゃん、イメージで大丈夫よ。
要は「あえて完璧に覚え込ませない仕掛け」を入れるの。
毎回違うメンバーで勉強会をすると偏った暗記を防げる、みたいな発想ね。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

なるほど、訓練時に意図的に難易度を上げる感じか。

深見 つむぎ(普段) 深見 つむぎ

反対の概念として未学習(アンダーフィッティング)もあって、こちらは「勉強不足」状態。
両者のバランスが取れた状態を目指すのが汎化性能の最適化と呼ばれるわ。

雪村 ましろ(笑顔) 雪村 ましろ

勉強しすぎてもダメ、不足でもダメ…人間と一緒ですねぇ。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

ちょうどいい勉強量か。
バドミントンの練習もオーバートレーニングで怪我するって言うし、AIも同じじゃん。

香月 リサ 先生(普段) 香月 リサ 先生

試験では「過学習=訓練データに過度に適合」「汎化性能の低下」「防止策(正則化・ドロップアウト・データ分割)」の3点セットを押さえてね。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

そういや学習曲線ってグラフ、本で見たんだけど、どう見ればいいの?

深見 つむぎ(普段) 深見 つむぎ

横軸が学習の進行、縦軸が損失(誤差)。
訓練データの損失は下がり続けるけど、検証データの損失が途中で反転して上がり始めた点が過学習のサインね。

雪村 ましろ(普段) 雪村 ましろ

交差点みたいなポイントがあるんですねぇ。
そこで学習をやめればいいってことですかぁ?

香月 リサ 先生(笑顔) 香月 リサ 先生

その通り。
これを『早期終了(Early Stopping)』というの。
よく使われる実務テクニックよ。

確認クイズ

過学習(オーバーフィッティング)の説明として最も正しいものはどれか。

  1. 学習データが少なすぎて性能が出ない状態
  2. 訓練データに適合しすぎて未知データに対応できない状態
  3. 学習を途中で停止してしまう状態
  4. 学習速度が極端に遅い状態
こたえを見る

正解: 2. 訓練データに適合しすぎて未知データに対応できない状態

過学習は訓練データに過度に適合し、未知データ(テストデータや本番データ)に対する汎化性能が低下した状態です。人間で言う「過去問の丸暗記」に近く、少し表現が変わると解けなくなります。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。