Data Augmentation
Data Augmentation
Data Augmentation(データ拡張)とは
ひとことで
手持ちの学習データに、左右反転・回転・切り取り・明るさの変更などの加工を施して、データのバリエーションを人工的に増やす手法。過学習を抑え、汎化性能を高める。
たとえると
料理の写真を1枚撮るだけでなく、角度を変えたり、照明を変えたり、少しずらしたりして何枚も撮っておくようなものです。どんな写り方をしていても「この料理だ」と見分けられるように練習できます。
現場ではこう使う
道路標識を認識するモデルを作るチームは、晴れた日の写真ばかり集まっていたため、夕方や雨の日の画像で認識精度が落ちていました。明るさやコントラストを変える、少し回転させるといったデータ拡張を行って学習し直したところ、撮影条件が違う画像でも認識しやすくなりました。
試験のポイント
EXAM POINT「反転・回転・平行移動・切り取りなどでデータを増やす」と出てきたらデータ拡張です。画像の一部を隠すCutoutや、2枚の画像を混ぜるMixupなどの手法名も問われます。数字の「6」を180度回転させると「9」に見えるように、加工によって正解ラベルの意味が変わってしまう場合は使えない点に注意しましょう。
混同しやすい用語との違い
- Transfer Learning他のタスクで学習済みのモデルを再利用してデータ不足を補う。データ拡張は手持ちのデータを加工して増やす
- Data Poisoning攻撃者が学習データに悪意あるデータを混ぜる攻撃。データ拡張は開発者が正しい目的で行う加工
- Dropoutモデル側でニューロンを無効化して過学習を抑える。データ拡張はデータ側の対策