この章を学ぶ前に必要な知識
効果
- 学習性能の向上
解 説
Deep Learningでは幾らかの方法で層の入力を加工することで、精度を高くする手法が提案されています。 | 導入 |
Batch Normalizationは層として挿入することで学習性能と速度を改善する効果的な層の一つです。
入力するミニバッチの平均と分散から正規化してスケールシフト補正を入れて、バッチごとに大きく値が揺れ動くことを防ぎます。 | Batch Normalization層 |
Denoising AutoEncoderでも行われるように、入力にノイズを加えることで加えなかった場合よりもロバスト性をあげられることがあります。 | ノイズを加える |
特に画像データなどで、画像の意味を壊さずに伸縮、回転移動、などの加工を行ったものも訓練画像とすることで、ロバスト性をあげることや訓練画像を多くしたのに近い結果をえることができるようになります。 | 学習データを水増しする |
データの入力というよりはユニットの挙動に近いものですが、
幾らかのユニットをランダムで無効にする(計算させない)手法があります。層の50%ほど(50%でなくてよい)をランダムに非活性にすることで過学習を防ぐことができ、DeepLearningが始まってから長らく使われていました。 | ドロップアウト |
この章を学んで新たに学べる
Comments
Reasons
知識: 学習データを水増しする
英語ではData Augumentationと言います。学習データを加工したりノイズを乗せたりして学習データの種類を水増することによって、あたかも多くのデータがあるかのように見せて汎化性能をあげることができます。
知識: Batch Normalization層
Batch Normalization層は近年提案されるどのネットワークにも大体使用される学習を安定させ高速化させる技術. ミニバッチごとの平均と分散を計算して正規化し、スケールとシフト補正をする.