Effective Computer Science - 頂は礎の上に -

新しい技術の多くは基礎的な技術の上に成り立っています。激動の技術変化に耐えうる体系知識の習得を目的に「基礎と実践の架け橋」となるサイトを目指します。

【機械学習】エポック(epoch) と ミニバッチ(minibatch)

エポック(epoch)とは単位

  • 1エポックとは学習において訓練データをすべて使い切ったときの回数に対応
  • たとえば、10,000個の訓練データに対して100個のミニバッチで学習する場合、確率的勾配降下法を100回繰り返したら、すべての訓練データを“見た”ことになる
  • この場合、100回=1エポック
    • 1epoch×ミニバッチ個数=訓練データ数

ミニバッチ(minibatch)とは少数のサンプル集合

  • 規模が大きいニューラルネットの学習は計算コストが大きい
  • 数値計算を効率化するには、計算機がもつ並列計算資源の利用が不可欠
  • そのため、重みの更新をサンプル一つ単位で行うのではなくなく少数のサンプル集合をひとまとめにし、その単位で重みを更新する
  • そのひとまとめにしたサンプル集合がミニバッチ