一日一分のE資格問題にチャレンジ!本日のお題は「バッチ正規化」
問題
[問題]
以下のうち、バッチ正規化について誤っているものはどれか。
(A) 畳み込みニューラルネットワーク (CNN) の学習では、ミニバッチを各バッチごとにチャンネル方向に正規化し、スケーリングとシフトを行う。
(B) バッチ正規化によりニューラルネットワークの学習を効率的に行うことができるため、学習速度が向上する。
(C) バッチ正規化を行うことで、重みの初期値の影響を低減させることができる。
(D) バッチ正規化では過剰適合を抑制する効果も得られるため、ドロップアウトなどの必要性を減らすことができる。
答え
A
解説
バッチ正規化とはモデルの学習の際にミニバッチを平均が0、分散が1となるように正規化を行う手法です。具体的には、ニューラルネットワークの各層の手前にバッチ正規化層を設け、そのバッチ正規化層に入力されたミニバッチを平均0、分散1となるように正規化を行い、その後、スケールγとシフトβのパラメータにより分布を調整して出力します。
また、畳み込みニューラルネットワーク (CNN) に適応する場合は、ミニバッチを各チャンネルごとにバッチ方向に正規化し、スケーリングとシフトを行います。したがって、(A)は誤った記述です。
バッチ正規化により適度な広がりを持ったデータが各層を流れるため、ニューラルネットワークの学習を効率的に行うことができ、学習速度が向上します。逆に偏りのあるデータが各層に流れると、勾配消失や表現力の制限の問題により、学習がうまく進まない場合があります。したがって、(B)は正しい記述です。
一般的にニューラルネットワークは学習率を上げるとパラメータのスケールの問題により、勾配消失・爆発しやすくなります。バッチ正規化を行うことで、重みパラメータのスケールの影響を受けにくくなるため、学習率を上げても安定した学習が可能になる。
ニューラルネットワークの学習では重みの初期値によって、各層を流れるデータの分布に影響するため、初期値の設定は非常に重要ですが、バッチ正規化によりデータの分布を調整することができるため、重みの初期値にそれほど依存しなくなります。したがって、(C)は正しい記述です。
バッチ正規化では毎回違うバッチごとの平均・分散で正規化するため、同じサンプルでも毎回少しずつ異なる入力になります。それがノイズとなり、ネットワークを汎化させる正則化の効果が得られます。したがって、(D)は正しい記述です。
E資格の勉強方法はコチラも参考にしてみてください。
コメント