本文へ移動

G検定(ジェネラリスト検定)

えぽっく

エポック

Epoch

エポックは、訓練中にモデルが訓練セットのすべての事例を1回ずつ処理し終えたことを指す単位です。エポック数は学習を始める前に決めるハイパーパラメータの1つです。

詳しい説明

訓練セットを1周すると1エポック

エポック(Epoch)とは、訓練中にモデルが訓練セットに含まれるすべての事例(example)を1回ずつ処理し終えたことを指す言葉です。訓練に使うデータを最初から最後まで一通り使い切った時点で、1エポックと数えます。モデルが何回重みを更新したかではなく、訓練セット全体を何周したかを表す単位です。

1エポックは複数回のイテレーションから成る

訓練セットが数十万件、数百万件と大きいとき、全事例をまとめて処理してから重みを更新するのは現実的ではありません。そのため、訓練セットをミニバッチという小さなまとまりに分け、まとまりごとに処理して重みとバイアスを更新する方法(ミニバッチ確率的勾配降下法)が広く使われます。この場合、1エポックを終えるまでに、この処理と更新を何回か繰り返すことになります。この1回分をイテレーション(反復)と呼びます。

具体例で確かめます。

  • 訓練セット: 1,000事例
  • ミニバッチサイズ: 100事例

1回のイテレーションで処理するのは100事例なので、1,000事例すべてを処理し終えるには10回のイテレーションが必要です。つまり、この条件では1エポックが10回のイテレーションから成ります。

1エポックあたりのイテレーション回数は、訓練セットの事例数とミニバッチサイズで決まります。エポックは訓練セット全体を何周したかを数え、イテレーションはその1周の中で何回処理と更新をしたかを数えます。この2つを取り違えないことが大切です。

訓練には多くのエポックが必要

訓練セットを1周しただけで訓練が終わることは普通ありません。訓練には通常多くのエポックが必要で、システムは訓練セットの全事例を何度も処理します。同じ事例を何周も処理しながら、モデルは重みとバイアスを更新し続けます。

エポック数はハイパーパラメータ

ハイパーパラメータとは、訓練のさまざまな面を制御する変数です。代表的なものとして、次の3つが挙げられます。

1. 学習率
2. バッチサイズ(重みとバイアスを更新する前にモデルが処理する事例の数)

3. エポック数

エポック数は、モデルが学習を始める前に設定するハイパーパラメータです。訓練の途中でモデルが学び取る重みやバイアスとは違い、何周分訓練するかは人が前もって決めます。上の例でいえば、ミニバッチサイズを100にし、エポック数を決めることで、訓練全体で何回のイテレーションを行うかも決まります。

試験で問われること

G検定

  • エポックとは、訓練中にモデルが訓練セットのすべての事例を1回ずつ処理し終えたことを指し、重みの更新回数ではなく訓練セットを何周したかを数える単位である。
  • 訓練セット1,000事例、ミニバッチサイズ100事例の場合、1回のイテレーションで100事例を処理するため、1エポックを終えるには10回のイテレーションが必要になる。
  • 1エポックは複数回のイテレーションから成り、1エポックあたりのイテレーション回数は訓練セットの事例数とミニバッチサイズで決まるという関係を押さえておく。
  • 訓練には通常多くのエポックが必要であり、システムは訓練セットの全事例を1回で終えず、何度も繰り返して処理しながら重みとバイアスを更新していく。
  • エポック数は学習率やバッチサイズと並ぶ代表的なハイパーパラメータで、訓練中に学習される重みとは違い、モデルが学習を始める前に人が設定する値である。

最終更新日: 2026/09/23