データ拡張とは

でーたかくちょうdata augmentation別名 Data Augmentation、データオーグメンテーション、データの水増し

1行定義

データ拡張とは、学習データに意味を変えない範囲の変換を加えて新しいデータを作り、学習データの量と多様さを増やす手法のことです。

くわしく

データ拡張は、手元の学習データを少しずつ変えたコピーを作り、学習データを実質的に増やす工夫です。猫の写真を左右反転しても、少し明るくしても、写っているのは猫のままです。人はこうした違いを気にせず猫だと分かりますが、モデルは見せられたデータのくせを覚え込みがちです。さまざまに変えた画像で学習させると、向きや明るさの違いに左右されにくい判断が身につきます。

なぜ効くのか

学習データが少ないと、モデルは細部まで丸暗記して過学習を起こし、未知のデータで精度が落ちます。データ拡張で多様さを補うと過学習が抑えられ、汎化性能が上がります。新しくデータを集めてラベルを付けるより、費用もずっと少なく済みます。2012年のAlexNetも、画像の切り出しや左右反転で学習データを増やしていました。ただし、元のデータにまったく含まれない種類の物や状況までは作り出せません。

主な手法

  • 基本の変換:Random Flip(反転)、Rotate(回転)、Crop(切り出し)、Brightness(明るさ)、Contrast(明暗の差)
  • 一部を隠す:Cutout、Random Erasing
  • 2枚を混ぜる:Mixup、CutMix
  • 変換をランダムに組み合わせる:RandAugment
  • 文章向け:paraphrasing(言い換え)、noising(小さな乱れの付加)

音声でも、雑音を重ねたり話す速さを変えたりする拡張が使われます。

使うときの注意

変換の後も正解が変わらないことが前提です。数字の6を180度回転すると9に見えます。文章から否定の語を消すと、感情のラベルが逆になります。また、拡張は学習用のデータにだけ行います。学習用と評価用に分ける前に拡張すると、ほぼ同じデータが両方に入り、評価が実際より甘くなります。これはデータリーケージの一種です。

覚え方

「見た目は変えても、答えは変えない」が、データ拡張の基本です。

G検定での出題

過学習を抑えて汎化性能を高めるという目的、画像と文章それぞれの代表的な手法の違い、変換で正解ラベルが変わる場合の扱い、拡張を学習データだけに行う理由が問われます。

◯×チェック

  1. データ拡張を使うと、新たにデータを集めてラベルを付ける作業を増やさずに、学習データの多様さを高められる。

    答えを見る

    答え ◯ 正しい

    手元のデータを変換して新しいデータを作るため、追加の収集やアノテーションの費用をかけずに済みます。これがデータ拡張の大きな利点です。

  2. データ拡張は画像専用の手法であり、文章や音声のデータには使えない。

    答えを見る

    答え × 誤り

    文章では言い換え(paraphrasing)や小さな乱れの付加(noising)、音声では雑音を重ねる方法などがあります。画像以外でも広く使われます。

  3. 手書きの数字を分類するモデルでは、画像をどの角度で回転させても正解は変わらないため、回転の角度に上限を設ける必要はない。

    答えを見る

    答え × 誤り

    6を180度回転すると9のように見え、正解が変わってしまいます。数字や文字の分類では、回転を小さな角度にとどめるのが一般的です。

練習問題

データ拡張の問題(15問)
  1. プーリングの選択と不変性の範囲
  2. 画像データ拡張手法の区別
  3. 拡張とデータ分割の順序
  4. 物体検出での拡張と座標
  5. 隠れに強くする拡張
  6. 文章の拡張とラベルの保持
  7. 文章のデータ拡張の分類
  8. CutMixのラベル計算
  9. RandAugmentの探索の工夫
  10. 小さな欠陥の画像の拡張
  11. Mixupの画素値とラベル計算
  12. データ拡張の目的と限界
  13. 撮影条件に合う変換の選択
  14. 拡張を加えるタイミング
  15. CutMixの提案のねらい

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術25

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習