スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.2767
ディープラーニングの学習におけるバッチサイズに関する記述として、不適切なものを1つ選べ。

【正解の解説】

バッチサイズを大きくすることで、1エポックあたりのパラメータ更新回数が増加し、学習時間を大幅に短縮できる。

バッチサイズを大きくすると、一度にたくさんのデータを確認してからまとめて方針を決めるため、トータルの方向修正回数(パラメータ更新回数)はむしろ減少します。これは、学校のテストで「1問解くごとに先生の丸付けを受ける」のがバッチサイズ1、「100問全部解いてからまとめて採点してもらう」のが大きなバッチサイズであるのと同じです。後者の方が先生のところに行く回数が減るのと同じ原理で、1エポックあたりの更新回数は減ってしまいます。

スポンサーリンク

【その他の選択肢の解説】

バッチサイズを小さくすることで、勾配の分散が小さくなり、局所最適解に陥るリスクを効果的に回避できる。

バッチサイズを小さくすると、データの偏りの影響を強く受けるため、進むべき方向を示す勾配のブレ(分散)は大きくなります。しかし、この「良い意味でのブレ」が、トレーニング中にハマり込んだ変な沼(局所最適解)からピョンと飛び出すジャンプ台の役割を果たしてくれます。つまり、勾配の分散が小さくなるのではなく大きくなることで、結果的に局所最適解を脱出しやすくなるという逆の現象が起きます。

バッチサイズを大きくすることで、並列計算の効率が向上し、GPUのメモリ使用量を最適に抑えることができる。

バッチサイズを大きくするということは、一度に大量のデータをGPUのメモリ上に読み込んで計算するということなので、メモリの使用量は劇的に増加します。これは、料理で大きな鍋に大量の材料を一度に放り込んで調理するようなもので、鍋(メモリ)があふれそうになってしまいます。並列計算の効率は上がりますが、メモリが足りずにエラーを起こすリスクが高まるため、ハードウェアの限界を考慮して慎重に調整する必要があります。

バッチサイズを小さくすることで、1回のパラメータ更新にかかる計算量が減り、全体としての汎化性能が向上する。

バッチサイズを小さくすると、1回あたりのパラメータ更新にかかる計算量自体は減りますが、全体として更新回数が爆発的に増えるため、トータルの計算時間は長くなる傾向があります。また、ミニバッチ学習特有のランダムなノイズが適度な正則化効果を生むため、未知のデータに対して強い汎化性能を獲得しやすいというメリットは本物の記述ですが、計算量の変化と混同させないように注意が必要です。