一日一分のE資格問題にチャレンジ!本日のお題は「ミニバッチ学習」
問題
[問題]
以下のうち、バッチ学習・ミニバッチ学習について誤っているものはどれか。
(A) バッチ学習とは、すべての学習用データをモデルに入力して重みを更新する学習法である。
(B) ミニバッチ学習とは、学習用データをミニバッチ(少数のデータのかたまり)にランダムに分割し、そのミニバッチごとに重みを更新していく学習方法である。
(C) ミニバッチごとに最適化を行うため、計算コストを抑えることができる。
(D) ミニバッチ学習はイテレーションのたびに異なる目的関数を最適化することになるため、局所最小解に辿り着きやすい。
答え
D
解説
バッチ学習とは、すべての学習用データをモデルに入力して重みを更新する学習法です。したがって、(A)は正しい記述です。
バッチ学習ではパラメータの初期値を定めた後、同じデータを繰り返しモデルに投入し学習させます。したがって、全イテレーションで同じ目的関数の最適化を行うことになり、確率的に変動する要素はありません。また、すべてのデータを用いて最適化を行うため、計算コストが高く、大規模なデータセットに対して適用が困難です。
ミニバッチ学習とは、学習用データをミニバッチ(少数のデータのかたまり)にランダムに分割し、そのミニバッチごとに重みを更新していく学習方法です。したがって、(B)は正しい記述です。
ミニバッチごとに最適化を行うため、計算コストを抑えることができ、大規模なデータセットに対しても適用可能です。したがって、(C)は正しい記述です。
ミニバッチ学習ではエポックごとにミニバッチの中身を変更するため、イテレーションのたびに異なる目的関数を最適化することになります。これにより、ミニバッチ学習の方が大局的最小解に辿り着きやすいという利点を持ちます。したがって、(D)は誤った記述です。
E資格の勉強方法はコチラも参考にしてみてください。
コメント