エポック【epoch】

概要

エポックとは、画期的な出来事、時代、紀元などの意味を持つ英単語。機械学習の分野では、学習プロセスの繰り返し単位で、学習データ全体を一通りモデルに与えて学習を完了させることを指す。モデルの性能改善が頭打ちになるまで、これを繰り返し実施する。
エポックのイメージ画像

用意された学習データのセットを一巡し、すべてのデータの特徴を反映し終えた状態が1エポックとなる。ニューラルネットワークなどの学習では、更新されたパラメータを用いて再び同じデータを一巡させ、エポックを単位に何度も学習を繰り返す。パラメータの値が収束して更新されなくなったら最適化が完了したとみなして学習を終了する。

ニューラルネットワークは表現力が高いため、エポック数を増やして学習データへの適合度合いを高めていくと、学習データにたまたま含まれるノイズや外れ値などにも過剰に適合してしまい、未知データへの適合度が下がってしまう「過学習」(overfitting)という問題が生じる。エポックは単に多ければ良いというものではなく、汎化性能を最も高めるように適切な回数を選ぶ必要がある。

学習手法によっては、1エポックの中で複数回のパラメータ更新が行われることがある。パラメータ更新の回数を「イテレーション」(iteration)という。学習データが1024個ある場合、すべてのデータを計算してパラメータ更新を行う「バッチ学習」では1エポック1イテレーションだが、データを1つずつ取り出してその都度更新を行う「オンライン学習」では1エポック1024イテレーションとなる。少数のデータ群ごとに更新を行う「ミニバッチ学習」では、一度に取り出すデータの数(バッチサイズ)によってイテレーションは異なり、16個ずつなら64イテレーション、32個ずつなら32イテレーションとなる。

(2025.12.3更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。