質問: 独学で深層学習を学び始めた初学者です。 表題の3種類の学習法について、以下の理解でよろしいでしょうか。 1000枚の訓練画像でエポック数20の場合、 ・オンライン学習 - 1回の学習で全てのデータを使用するため、1エポック内で学習は1回 ・バッチ学習 - 1枚ずつ重みの更新をするため、1エポック内で学習は1000回 ・ミニバッチ学習 - バッチサイズ10の場合、訓練画像は100セットに分けられるため、1エポック内で学習は学習は100回 1エポックは全ての(に相当する)訓練データを使用した学習が1回終わることと理解しています。 よろしくお願いします。
回答: 厳密にはバッチ、オンライン、ミニバッチとは、ネットワークのパラメータ(重み)更新のタイミングです。 バッチ:全部学習してから更新(学習する順番の影響がない、メモリ容量が大きくなりがち) オンライン:1データ学習する毎に更新(最初より最後のデータの影響が大きい) ミニバッチ:N個(分類したいクラス数より大きい数 10倍くらい)のデータを学習してから更新 ネットワークのパラメータ(重み)は最初はランダムで、損失が少なくなるように更新する(学習)ことで、 学習データの特徴を反映した出力を得ることができます。