エポック
問題集を1冊、最初から最後まで解き終える「1周」の勉強プロセスのことです。
定義 AI(人工知能)モデルが、用意されたすべての学習用データを最初から最後まで一通り目を通して学習する1サイクルのことです。AIはデータセット全体を1回学習するごとに誤差を減らし、少しずつ精度を高めていきます。
問題集の「1周」とAIの学習法
テスト勉強をするとき、分厚い問題集を1冊、最初のページから最後のページまで残さず解き切ることをよく「1周する」と言いますよね。AIがデータを学習するプロセスでも、まったく同じ考え方が使われます。
たとえば、AIに1万枚の写真を見せて「猫」を見分ける方法を教えるとしましょう。AIが1万枚の写真をすべて1回ずつ確認し、正解と見比べながら間違いを修正し終えたら、これで1エポックの学習が完了したことになります。もし「10エポック学習させた」とすれば、その1万枚の写真セットを最初から最後まで計10回復習したことになります。
コンピュータは人間と違って、複雑な写真やテキストのルールを1回見ただけでは完璧に理解できません。そのため、データ全体を何周も繰り返し学習させて、ニューラルネットワークのつながりの強さを少しずつ微調整していく必要があるのです。
より正確に言うと:バッチとステップの関係
もう少し詳しく説明すると、AIは1万枚もの膨大なデータを一度に丸ごと頭(メモリ)に詰め込むことはできません。コンピュータのメモリ容量には限界があり、一度に大量の情報を処理しようとすると計算の効率も落ちてしまうからです。
そこで開発者は、データ全体をちょうどよい小さなグループに小分けにして、順番にコンピュータへ渡します。この一度に渡すデータのまとまりのサイズをバッチサイズ(Batch Size)と呼びます。もし1万枚のデータを100枚ずつに小分けして学習する場合、この100枚のまとまりを1回学習して誤差を修正するプロセスを1回の「ステップ(Step)」または「イテレーション(Iteration)」と呼びます。
こうして100枚ずつのグループを計100回連続で学習し、用意された1万枚をすべて見終えた段階で、ようやく1つのエポックが完了します。問題集1冊をいくつかの章に分けて、1日何ページずつか解いて終わらせるのと同じ仕組みです。
エポック数をやみくもに増やすのはなぜ危険?
問題集を何百回も解き直せば確実に実力が上がりそうに思えますが、AIの世界ではそうとは限りません。エポック数が少なすぎると、基本的なルールすら身につかない「未学習(アンダーフィッティング)」が起きます。
一方でエポック数を増やしすぎると、AIは問題の本質的なルールを理解するのではなく、問題集そのものを丸暗記してしまいます。これを専門用語で「過学習(オーバーフィッティング)」と呼びます。たとえば、猫の写真の背景にある汚れや照明の色まで「猫の特徴」として覚えてしまい、いざ新しい猫の写真を見せても正しく認識できなくなってしまうのです。
そのため開発者は、学習を進めながら別の「模擬テスト用データ」を定期的に解かせて実力を測ります。エポックを重ねる中で模擬テストの点数が上がらなくなり、むしろ下がり始めたタイミングで学習をストップする早期終了(アーリーストッピング/Early Stopping)という手法を使い、最適な学習量を見極めています。
🤔 よくある誤解
エポック数が多ければ多いほど、AIの性能は必ず良くなる。
エポック数が多すぎると、データの正解だけでなく不要なノイズまで丸暗記してしまう「過学習(オーバーフィッティング)」が発生し、未知のデータに対する精度がむしろ大きく低下してしまいます。
🧺 日常で出会う場面
エポックとは、AIが用意されたすべての学習データを最初から最後まで1周して学ぶ「1巡」のサイクルのことです。