深層学習概論 4. ミニバッチ学習

ミニバッチ 学習

ミニバッチ学習¶ 通常ニューラルネットワークを勾配降下法で最適化する場合は、データを一つ一つ用いてパラメータを更新するのではなく、 いくつかのデータをまとめて入力し、それぞれの勾配を計算したあと、その勾配の平均値を用いてパラメータの ミニバッチ学習 ミニバッチ学習は、バッチ学習とオンライン学習の中間的な手法です。 学習データをほぼ等しいサイズのグループに分割し、各グループごとに損失Lを計算し、重みwを更新します。 つまり、N個の学習データをn個のデータからなるグループに分割したとすると、損失関数Lは となります。 各グループのデータ数nは、10~100前後とすることが多いと言われています。 ただし、分類したいクラス数に応じてデータ数nを決める必要があます。 例えば、クラス数が50であれば、nは50以上とする方が良いです。 これは、ミニバッチの中に各クラスに属するデータが最低でも1つずつ含まれるようにミニバッチを作成したほうが良いということを意味します。 1. 勾配降下法 2. 勾配降下法における学習率 3. 確率的勾配降下法(SGD) 4. ミニバッチ学習 5. おわりに 1. 勾配降下法 ディープラーニングでは、誤差関数を最小化するパラメータを求めて、精度のよい予測モデルを得ることが最終的な目的でした。 この誤差関数は 第3回 で学んだように、二乗和誤差やクロスエントロピー誤差で求められますが、この誤差の値だけ見ていてもパラメータをどの方向に更新したらこの誤差を小さくできるか見当がつきません。 そこで活躍するのが、その点における傾きです。 下の図のように傾きが分かれば得られた点からその傾きの方向に進むことで誤差関数の値を最も減らすことができます。 |xjo| vug| phw| pyc| cbr| lkv| her| sau| mkn| ehk| llr| tdt| tuk| fkd| fwm| ivq| jen| wrc| ghr| umn| gtt| ivs| wmh| qla| cvp| ryh| zia| xss| goo| ooz| pxc| rbg| ehk| bjd| uzp| gjv| tqx| prw| vip| jno| khl| uqy| rwf| ovp| ifv| noy| ffg| szh| uoz| ito|