AIが「勉強しすぎて応用がきかなくなる」現象、それが過学習です。
テスト前に過去問を丸暗記してた友達が、本番で少しだけ表現が変わった問題に全滅しちゃった話、聞いたことあるんだけど…。
ふふ、それが過学習(オーバーフィッティング)の人間版ね。
AIにも全く同じ現象が起きるのよ。
補足すると、過学習は訓練データには異常に高い精度を示すけれど、見たことのないテストデータや本番データでは精度が急落する状態のこと。
訓練データの答えを丸暗記しすぎちゃったAIってことですかぁ?
そう。
パターンそのものではなく、訓練データ固有のノイズ(偶然の特徴)まで学習してしまうの。
これだと新しいデータに対応できなくなってしまうのよ。
なるほど、それは困るじゃん。
で、対策はあるの?
代表的な3つ。
(1)訓練データを「訓練/検証/テスト」に分割、(2)正則化(regularization)で重みに罰則、(3)ドロップアウトで一部ニューロンを無効化する手法ね。
ふぇぇ、カタカナばっかりでちょっと混乱してきましたぁ…。
ましろちゃん、イメージで大丈夫よ。
要は「あえて完璧に覚え込ませない仕掛け」を入れるの。
毎回違うメンバーで勉強会をすると偏った暗記を防げる、みたいな発想ね。
なるほど、訓練時に意図的に難易度を上げる感じか。
反対の概念として未学習(アンダーフィッティング)もあって、こちらは「勉強不足」状態。
両者のバランスが取れた状態を目指すのが汎化性能の最適化と呼ばれるわ。
勉強しすぎてもダメ、不足でもダメ…人間と一緒ですねぇ。
ちょうどいい勉強量か。
バドミントンの練習もオーバートレーニングで怪我するって言うし、AIも同じじゃん。
試験では「過学習=訓練データに過度に適合」「汎化性能の低下」「防止策(正則化・ドロップアウト・データ分割)」の3点セットを押さえてね。
そういや学習曲線ってグラフ、本で見たんだけど、どう見ればいいの?
横軸が学習の進行、縦軸が損失(誤差)。
訓練データの損失は下がり続けるけど、検証データの損失が途中で反転して上がり始めた点が過学習のサインね。
交差点みたいなポイントがあるんですねぇ。
そこで学習をやめればいいってことですかぁ?
その通り。
これを『早期終了(Early Stopping)』というの。
よく使われる実務テクニックよ。
確認クイズ
過学習(オーバーフィッティング)の説明として最も正しいものはどれか。
- 学習データが少なすぎて性能が出ない状態
- 訓練データに適合しすぎて未知データに対応できない状態
- 学習を途中で停止してしまう状態
- 学習速度が極端に遅い状態
こたえを見る
正解: 2. 訓練データに適合しすぎて未知データに対応できない状態
過学習は訓練データに過度に適合し、未知データ(テストデータや本番データ)に対する汎化性能が低下した状態です。人間で言う「過去問の丸暗記」に近く、少し表現が変わると解けなくなります。