1行定義
データ拡張とは、学習データに意味を変えない範囲の変換を加えて新しいデータを作り、学習データの量と多様さを増やす手法のことです。
試験範囲としての全体像はシラバス項目『データ拡張』の要点まとめで整理しています。
くわしく
データ拡張は、手元の学習データを少しずつ変えたコピーを作り、学習データを実質的に増やす工夫です。猫の写真を左右反転しても、少し明るくしても、写っているのは猫のままです。人はこうした違いを気にせず猫だと分かりますが、モデルは見せられたデータのくせを覚え込みがちです。さまざまに変えた画像で学習させると、向きや明るさの違いに左右されにくい判断が身につきます。
なぜ効くのか
学習データが少ないと、モデルは細部まで丸暗記して過学習を起こし、未知のデータで精度が落ちます。データ拡張で多様さを補うと過学習が抑えられ、汎化性能が上がります。新しくデータを集めてラベルを付けるより、費用もずっと少なく済みます。2012年のAlexNetも、画像の切り出しや左右反転で学習データを増やしていました。ただし、元のデータにまったく含まれない種類の物や状況までは作り出せません。
主な手法
- 基本の変換:Random Flip(反転)、Rotate(回転)、Crop(切り出し)、Brightness(明るさ)、Contrast(明暗の差)
- 一部を隠す:Cutout、Random Erasing
- 2枚を混ぜる:Mixup、CutMix
- 変換をランダムに組み合わせる:RandAugment
- 文章向け:paraphrasing(言い換え)、noising(小さな乱れの付加)
音声でも、雑音を重ねたり話す速さを変えたりする拡張が使われます。
使うときの注意
変換の後も正解が変わらないことが前提です。数字の6を180度回転すると9に見えます。文章から否定の語を消すと、感情のラベルが逆になります。また、拡張は学習用のデータにだけ行います。学習用と評価用に分ける前に拡張すると、ほぼ同じデータが両方に入り、評価が実際より甘くなります。これはデータリーケージの一種です。
覚え方
「見た目は変えても、答えは変えない」が、データ拡張の基本です。
G検定での出題
出題のされ方
過学習を抑えて汎化性能を高めるという目的、画像と文章それぞれの代表的な手法の違い、変換で正解ラベルが変わる場合の扱い、拡張を学習データだけに行う理由が問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
データ拡張を使うと、新たにデータを集めてラベルを付ける作業を増やさずに、学習データの多様さを高められる。
答えを見る
答え ◯ 正しい
手元のデータを変換して新しいデータを作るため、追加の収集やアノテーションの費用をかけずに済みます。これがデータ拡張の大きな利点です。
-
データ拡張は画像専用の手法であり、文章や音声のデータには使えない。
答えを見る
答え × 誤り
文章では言い換え(paraphrasing)や小さな乱れの付加(noising)、音声では雑音を重ねる方法などがあります。画像以外でも広く使われます。
-
手書きの数字を分類するモデルでは、画像をどの角度で回転させても正解は変わらないため、回転の角度に上限を設ける必要はない。
答えを見る
答え × 誤り
6を180度回転すると9のように見え、正解が変わってしまいます。数字や文字の分類では、回転を小さな角度にとどめるのが一般的です。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目25 データ拡張)
- Connor Shorten, Taghi M. Khoshgoftaar, A survey on Image Data Augmentation for Deep Learning, Journal of Big Data 6, 60 (2019)
- Bohan Li, Yutai Hou, Wanxiang Che, Data Augmentation Approaches in Natural Language Processing: A Survey (arXiv 2021, AI Open 2022)
- Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, ImageNet Classification with Deep Convolutional Neural Networks, Advances in Neural Information Processing Systems 25 (NIPS 2012) (4.1 Data Augmentation)