【でーたかくちょう】
データ拡張 とは?
💡 少ないデータを工夫して増やす「AIの節約術」
📌 このページのポイント
なんでデータを増やす必要があるの?
機械学習モデルはデータが多いほど性能が良くなる傾向があるんだ。でも実際のプロジェクトではデータ収集にコストがかかる。そこで既存データに変換を加えて擬似的に増やすことで、低コストで性能向上を狙えるんだよ。
画像のデータ拡張って具体的にどうやるの?
例えば猫の画像があったとして、左右反転しても猫は猫だよね。90度回転しても、少し拡大しても、明るさを変えても猫は猫。こういう「意味が変わらない変換」を加えて、1枚の画像から何枚もの訓練データを作るんだ。モデルは「いろんな角度や明るさでも猫は猫」と学べるようになるよ。
やりすぎると問題にならない?
良い質問だね。不適切な変換をすると逆効果になることもあるよ。例えば数字の「6」を180度回転すると「9」に見えてしまう。データの意味が変わらない範囲で変換することが大事なんだ。ドメイン知識を使って適切な変換を選ぶのがポイントだよ。
テキストデータでもデータ拡張ってできるの?
できるよ。同義語に置き換える「同義語置換」、文中の単語をランダムに入れ替える「ランダムスワップ」、文を別の言語に翻訳してから戻す「バックトランスレーション」などがあるんだ。最近はLLMを使って「同じ意味の別の言い回し」を生成するパラフレーズ拡張も人気だよ。実は画像のデータ拡張で有名な「MixUp」という手法は、2つの画像を半透明に重ね合わせてラベルも混ぜるというユニークなもので、直感に反するけど汎化性能が上がることが示されているんだ。
まとめ:ざっくりこれだけ覚えればOK!
「データ拡張」って出てきたら「既存データに変換を加えて疑似的にデータ量を増やし、モデルの汎化性能を上げる手法だな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Data Augmentation」 = データの拡張・増強
💬 「Augmentation(拡張・増強)」は「増やして強化する」という意味。データ量を増やしてモデルを強化する手法を表すよ