エポック【epoch】
概要

用意された学習データのセットを一巡し、すべてのデータの特徴を反映し終えた状態が1エポックとなる。ニューラルネットワークなどの学習では、更新されたパラメータを用いて再び同じデータを一巡させ、エポックを単位に何度も学習を繰り返す。パラメータの値が収束して更新されなくなったら最適化が完了したとみなして学習を終了する。
ニューラルネットワークは表現力が高いため、エポック数を増やして学習データへの適合度合いを高めていくと、学習データにたまたま含まれるノイズや外れ値などにも過剰に適合してしまい、未知データへの適合度が下がってしまう「過学習」(overfitting)という問題が生じる。エポックは単に多ければ良いというものではなく、汎化性能を最も高めるように適切な回数を選ぶ必要がある。
学習手法によっては、1エポックの中で複数回のパラメータ更新が行われることがある。パラメータ更新の回数を「イテレーション」(iteration)という。学習データが1024個ある場合、すべてのデータを計算してパラメータ更新を行う「バッチ学習」では1エポック1イテレーションだが、データを1つずつ取り出してその都度更新を行う「オンライン学習」では1エポック1024イテレーションとなる。少数のデータ群ごとに更新を行う「ミニバッチ学習」では、一度に取り出すデータの数(バッチサイズ)によってイテレーションは異なり、16個ずつなら64イテレーション、32個ずつなら32イテレーションとなる。
(2025.12.3更新)