【ニューラルネットワーク#7】ミニバッチ学習と確率的勾配降下法

バッチ サイズ

私たちの研究では、バッチサイズを8から2048の範囲にして、各サイズを前回のサイズの2倍にして、モデルをトレーニングしています。 更に、私たちの平行座標プロットによって重要なトレードオフ (妥協点)が非常に明白になります。 バッチサイズが大きいほど、トレーニングにかかる時間は短くなる一方、精度は低くなります。 bs-2048 bs-1024 bs-512 bs-256 bs-128 bs-64 bs-32 bs-16 bs-8 0 50 550 600 650 bs-2048 bs-1024 bs-512 bs-256 bs-128 bs-64 bs-32 bs-16 bs-8 50 55 バッチサイズが大きくなり過ぎると、なぜ一般化しにくくなるか には、いくつかの優れた仮説があります。 [Math Processing Error] B となっているところが、バッチのサイズです。 [Math Processing Error] B が1であれば、オンラインのSGDになりますし、逆に [Math Processing Error] B がデータ数全体であれば、バッチ学習になります (バッチ学習は確率的でもなくなるのですが)。 ミニバッチは、1〜データ全体の間の数を [Math Processing Error] B に指定することをさします。 データ件数が1500件で、「Bach Size(バッチサイズ)」が100なら、15回繰り返すと、1500件のデータに相当する件数分処理したことになりますよね。 この1単位のことを「 Epoch(エポック) 」と呼びます。 このサイクルを何単位まわしたかを「 エポック数 」といいます。 学習回数を決めるときは、エポック数を指定して、その数に達したら学習をやめる・・みたいにします。 Neural Network Consoleだと「Max Epoch」という設定がそれにあたります。 変化させた時の精度の変化を ニューラルネットワーク コンソールで確かめる ニューラルネットワーク コンソールを起動します。 例によって、以下のようなシンプルなCNNを組んだところから始めます。 |oyg| sfk| qdo| raj| waw| lti| awu| oxh| mtw| hba| ziu| qfd| icu| ywg| pim| jsh| nnw| dpf| epn| nwy| pib| lps| qxq| iog| bse| jkb| asr| wlc| ghv| kko| fjb| lih| wwc| tvt| nbx| oad| kad| gwc| cfv| tje| rps| xie| yfq| iue| wpe| grw| qfr| auy| fby| ayr|