犬の写真と猫の写真を半透明に重ねて、ラベルも「犬60%・猫40%」にする——現実には存在しない"中間のデータ"をあえて学習させるのがMixupです。シンプルなのに過学習の抑制や敵対的攻撃への耐性向上まで報告されている強力な手法で、CutMix・Cutoutとの区別がG検定の定番論点です。

📖 ひと言でいうと

Mixupとは、2つの訓練データ(入力)とそれぞれのラベルを一定の比率で線形にブレンドし、新たな入力とラベルのペアを作り出すデータ拡張手法です。

例えるなら、2色の絵の具を混ぜる作業に近いイメージです。赤6割と青4割を混ぜれば紫寄りの色ができるように、犬の画像60%と猫の画像40%を画素レベルで混ぜた画像を作り、正解も「犬0.6・猫0.4」という混合ラベルにします。厳密には、画像を視覚的に「重ねて表示」するのではなく、対応するピクセル値同士を比率どおりに足し合わせる数値的な操作です。

🖼 1枚でわかるMixup

Mixup
  • 操作 — 2つの入力データを一定の比率で線形にブレンド
  • ラベル — 同じ比率で混合したソフトラベルを使う
  • 効果 — 汎化性能の向上・過学習の抑制
  • 追加の効果 — 敵対的攻撃への耐性向上も報告
  • 適用範囲 — 画像認識のほか自然言語処理などにも応用
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

異なる訓練データ同士を線形に組み合わせ、新たなデータを生成する技法。具体的には、2つの入力データとその対応するラベルを選び、一定の比率でブレンドすることで、新たな入力データとラベルのペアを作成する。この手法により、モデルはより多様なデータパターンを学習し、汎化性能の向上が期待できる。また、Mixupはモデルの過学習を抑制し、敵対的攻撃に対する耐性を高める効果も報告されている。この技法は、画像認識や自然言語処理など、さまざまな分野で応用されている。

短い説明ですが、キーワードは「線形に組み合わせ」「入力とラベルのペア」の2つです。「線形に」とは、比率を決めて足し合わせる(60%と40%なら 0.6×A + 0.4×B)という意味で、入力データとラベルの両方に同じ比率を適用するのがMixupの本質です。画像だけ混ぜてラベルを片方のままにするのではなく、必ず「ペアで」混ぜる点を押さえてください。

🔍 しっかり理解する

処理の流れ:「入力もラベルも同じ比率で」

2つのペアを選ぶ
(犬画像, 犬ラベル)と(猫画像, 猫ラベル)
混合比率を決める
例: 0.6対0.4(毎回ランダムに変える)
入力をブレンド
画素値を0.6×犬+0.4×猫で合成
ラベルもブレンド
正解を「犬0.6・猫0.4」に設定

出来上がる画像は、2枚が半透明に重なったような、現実には存在しない画像です。「そんなものを学習して大丈夫?」と不思議に思うかもしれませんが、そこにこそ狙いがあります。

なぜ「あり得ない画像」で汎化性能が上がるのか

通常の学習では、モデルは「この画像は100%犬」「あの画像は100%猫」という断定的なラベルばかりを見せられます。するとモデルは訓練データの一点一点に過剰にフィットし、データとデータの「間」の領域でどう振る舞うべきかを学びません。この隙間が、過学習や、わずかなノイズで誤分類を誘発する敵対的攻撃(アドバーサリアル・アタック)につけ込まれる弱点になります。

Mixupは「犬と猫の中間のデータには、中間の確信度で答えるべき」という教師信号を与えます。これにより、モデルの予測がデータ間で滑らかに変化するようになり、訓練データの丸暗記が抑制されます。公式テキストの「過学習を抑制し、敵対的攻撃に対する耐性を高める効果も報告されている」という記述は、この滑らかさの効果を指しています。

なお、混合比率は毎回固定ではなく、学習のたびにランダムに選ばれます(原論文ではベータ分布という確率分布からサンプリングします)。ほぼ元画像に近い混合から半々の混合まで、多様な中間データが自動的に生成される仕組みです。

💡 具体例で考える

Mixupは2017年に発表された論文で提案され、画像分類ベンチマークで一貫した精度改善を示したことから、現在では画像コンペや実務の学習レシピに標準的に組み込まれる手法になりました。実装は「2つのバッチを比率で足し、損失も同じ比率で混ぜる」だけなので、数行のコードで導入できます。

また、公式テキストにあるとおり適用先は画像に限りません。自然言語処理では、文をそのまま画素のように混ぜることはできないため、単語埋め込みや文の特徴ベクトルの段階で線形に混合する形で応用されています。「入力とラベルを同じ比率で線形補間する」という考え方自体がデータの種類を選ばない、汎用性の高いアイデアなのです。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • CutMixとの違い——CutMixは画像の矩形領域を切り取って別画像を貼り付ける「領域単位の置き換え」で、各ピクセルはどちらか一方の画像のままです。Mixupは全ピクセルを画素レベルで混ぜ合わせるため、画像全体が二重写しのようになります。ラベル混合はどちらも行いますが、比率の根拠がCutMixは「貼り替え面積比」、Mixupは「ブレンド比率」です。
  • Cutoutとの違い——Cutoutは1枚の画像の一部をマスクするだけで、他の画像もラベル混合も関与しません。「2枚使う+ラベル混合」の時点でMixup/CutMix、「1枚だけ・ラベル不変」ならCutoutです。
  • 「ラベルは多い方に決める」は誤り——混合後のラベルは多数決で1つに決めるのではなく、「犬0.6・猫0.4」のような比率のままのソフトラベルとして学習に使います。
  • ラベルスムージングとの混同——正解ラベルを和らげる点は似ていますが、ラベルスムージングは1つのデータのラベルを一律に少し崩す手法で、データ自体は混ぜません。Mixupは入力とラベルの両方を2データ間で混合します。

📝 試験でのポイント

💡 ポイント
  • 「2つの入力データとその対応するラベルを、一定の比率でブレンドする」という定義文からMixupを特定できることが第一目標です。
  • 効果は「汎化性能の向上」「過学習の抑制」に加えて「敵対的攻撃への耐性向上」まで公式テキストに記されています。この3点セットは正誤問題の材料になります。
  • Cutout・CutMix・Mixupの3手法識別: 画素レベルで全体を混ぜるのはMixupだけです。「矩形領域」という言葉が出たらCutMixかCutout、と切り分けましょう。
  • 適用分野が「画像認識や自然言語処理など」と画像以外にも及ぶ点も、ひっかけ対策として覚えておきましょう。

📚 まとめ

Mixupは、2つの訓練データとラベルを同じ比率で線形にブレンドし、新たな入力・ラベルのペアを生成するデータ拡張手法です。現実に存在しない「中間のデータ」を学習させることでモデルの予測が滑らかになり、汎化性能の向上、過学習の抑制、敵対的攻撃への耐性向上が報告されています。試験では、領域を貼り替えるCutMix、マスクするだけのCutoutとの違い——「画素混合+ラベル混合」がMixup——を正確に区別できるようにしておきましょう。