オンライン学習、バッチ学習、ミニバッチ学習の違い


独学で深層学習を学び始めた初学者です。  
表題の3種類の学習法について、以下の理解でよろしいでしょうか。

1000枚の訓練画像でエポック数20の場合、  
・オンライン学習 - 1回の学習で全てのデータを使用するため、1エポック内で学習は1回  
・バッチ学習 - 1枚ずつ重みの更新をするため、1エポック内で学習は1000回  
・ミニバッチ学習 - バッチサイズ10の場合、訓練画像は100セットに分けられるため、1エポック内で学習は学習は100回

1エポックは全ての（に相当する）訓練データを使用した学習が1回終わることと理解しています。  
よろしくお願いします。




厳密にはバッチ、オンライン、ミニバッチとは、ネットワークのパラメータ（重み）更新のタイミングです。

バッチ：全部学習してから更新（学習する順番の影響がない、メモリ容量が大きくなりがち）  
オンライン：１データ学習する毎に更新（最初より最後のデータの影響が大きい）  
ミニバッチ：N個（分類したいクラス数より大きい数 10倍くらい）のデータを学習してから更新

ネットワークのパラメータ（重み）は最初はランダムで、損失が少なくなるように更新する（学習）ことで、  
学習データの特徴を反映した出力を得ることができます。

