犬の写真の一部を四角く切り取って、そこに猫の写真を貼り付ける。ラベルは「犬70%・猫30%」。そんな一見奇妙な学習データを作るのがCutMixです。CutoutとMixupの「いいとこ取り」として提案され、G検定ではこの3手法の違いを正確に区別できるかが問われる要注意キーワードです。

📖 ひと言でいうと

CutMixとは、1枚目の画像の矩形(長方形)領域を切り取り、そこへ2枚目の画像の対応する領域を貼り付けて新しい画像を作り、ラベルも貼り付けた面積の比率に応じて混合するデータ拡張手法です。

例えるなら、2枚の写真でパッチワークを作るイメージです。犬の写真の右下の一角だけを猫の写真のパッチに差し替えたら、その画像の正解は「犬でもあり、少し猫でもある」。厳密には、画像に占める面積の比率(たとえば犬領域7割・猫領域3割)をそのままラベルの混合比率にします。

🖼 1枚でわかるCutMix

CutMix
  • 操作 — 画像Aの矩形領域を、画像Bの対応領域で置き換える
  • ラベル — 置き換えた領域の面積比に基づいて線形に混合
  • 出自 — CutoutとMixupの特徴を組み合わせた手法
  • 利点 — 情報の消失を防ぎつつ正則化効果を高める
  • 応用 — 物体検出でも有効。画像以外のデータ形式にも適用可能
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

画像認識モデルの汎化性能を向上させることを目的としている。この手法は、既存のデータ拡張技術である「Cutout」と「Mixup」の特徴を組み合わせたもので、2枚の画像を部分的に切り取り、互いに貼り合わせることで新たな学習データを生成する。具体的には、まず1枚目の画像からランダムに矩形領域を選択し、その部分を2枚目の画像の対応する領域で置き換える。この際、置き換えた領域の面積比に基づいて、ラベルも線形に組み合わせる。これにより、モデルは異なるクラスの特徴を同時に学習し、より多様なデータ分布に対応できるようになる。CutMixの利点として、従来のCutoutやMixupと比較して、情報の消失を防ぎつつ、モデルの正則化効果を高める点が挙げられる。特に、物体検出タスクにおいても有効性が確認されており、モデルの精度向上に寄与している。また、CutMixは画像データだけでなく、音声やテーブルデータなど他のデータ形式にも適用可能であることが報告されている。これにより、さまざまな分野でのデータ拡張手法としての応用が期待されている。さらに、PyTorchのライブラリ「timm」を使用することで、CutMixを簡単に実装できる方法も紹介されており、研究者やエンジニアが手軽にこの手法を試すことが可能となっている。

読み解きのカギは「Cut」と「Mix」という名前そのものにあります。Cutoutから受け継いだのが「矩形領域を切り取る(Cut)」操作、Mixupから受け継いだのが「2枚の画像とラベルを混ぜる(Mix)」考え方です。ただし切り取った部分を空白にせず別画像で埋める点がCutoutと違い、画像全体を薄く重ねるのではなく領域単位で貼り替える点がMixupと違います。ラベルは貼り替えた面積の比率で線形に混合します。

🔍 しっかり理解する

処理の流れ

2枚の画像を選ぶ
例: 犬の画像Aと猫の画像B
矩形領域を選択
画像Aからランダムに長方形を選ぶ
貼り替え
その領域を画像Bの対応部分で置換
ラベルを面積比で混合
例: 犬0.7+猫0.3のソフトラベル

たとえば貼り替えた猫パッチが画像全体の30%を占めるなら、この学習データの正解ラベルは「犬:0.7、猫:0.3」というソフトラベルになります。モデルは1枚の画像から2つのクラスの特徴を同時に学ぶことになり、判断根拠が画像の一部分に偏ることを防げます。

なぜ「いいとこ取り」なのか

Cutoutは画像の一部を塗りつぶすことで「隠れた部分があっても認識する力」を鍛えますが、塗りつぶした領域は完全に無情報になり、その分のピクセルが学習に使われないもったいなさがあります。一方Mixupは2枚の画像を画素レベルで半透明に重ねるため情報は捨てませんが、出来上がる画像は現実には存在しない「幽霊のような二重写し」になります。

CutMixは、切り取った領域を別の実画像で埋めるため、画像のどのピクセルにも意味のある情報が残ります(情報の消失を防ぐ)。同時に、一部が別クラスに差し替わることで特定領域への過度な依存を防ぐ正則化効果も得られます。さらに、局所的にはそれぞれ本物の画像なので、「どこに何があるか」を扱う物体検出タスクでも有効性が確認されています。

💡 具体例で考える

CutMixは2019年に提案された比較的新しい手法で、画像分類ベンチマークでCutoutやMixupを上回る精度改善を示したことで広く使われるようになりました。現在では、PyTorch向けの画像モデルライブラリ「timm」に組み込みの実装があり、学習設定でオンにするだけで手軽に試せます。Kaggleなどの画像コンペでも、Mixupと並ぶ定番の拡張手法として登場します。

具体的な学習の様子を想像してみましょう。犬猫分類において、犬画像の「顔の部分」がたまたま猫パッチに差し替えられたとします。モデルが顔だけを見て判断するクセを持っていたら、この画像を「猫」と答えて大きな誤差を受けます。正解は「犬0.7・猫0.3」なので、体つきや毛並みなど顔以外の犬の特徴にも目を向けなければ正解に近づけません。こうして「一部の特徴への過度な依存」が矯正されていくのです。

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

💡 ポイント
  • Cutoutとの違い——Cutoutは矩形領域を一定の値で塗りつぶすだけで、ラベルは元のまま変えません。CutMixは塗りつぶす代わりに別画像を貼り、ラベルも面積比で混合します。「切り取るだけ」か「貼り替え+ラベル混合」かが分かれ目です。
  • Mixupとの違い——Mixupは画像全体を画素レベルで線形に混ぜ合わせ(2枚が半透明に重なる)、ラベルも同じ比率で混合します。CutMixは領域単位の貼り替えで、各ピクセルはどちらか一方の画像のままです。
  • ラベル混合比の根拠——CutMixのラベル混合比は「置き換えた領域の面積比」で決まります。「ランダムに決めた比率でラベルだけ混ぜる」わけではありません。
  • 「画像専用の手法」ではない——公式テキストにあるとおり、音声やテーブルデータなど他のデータ形式への適用も報告されています。「画像にしか使えない」という記述は誤りです。

📝 試験でのポイント

💡 ポイント
  • CutoutMixupの特徴を組み合わせた手法」という出自の説明は、CutMixを特定させる定番のヒントです。
  • 手順の記述(矩形領域を選択→別画像の対応領域で置き換え面積比に基づいてラベルを線形に組み合わせ)の穴埋め・正誤に備えましょう。
  • 3手法の対応関係を整理: 塗りつぶしのみ・ラベル不変=Cutout、全体を画素混合・ラベル混合=Mixup、領域貼り替え+面積比ラベル混合=CutMix。入れ替えた誤り選択肢が想定されます。
  • 利点として「情報の消失を防ぎつつ正則化効果を高める」「物体検出でも有効」という記述が挙げられている点も確認しておきましょう。

📚 まとめ

CutMixは、1枚目の画像からランダムに選んだ矩形領域を2枚目の画像の対応領域で置き換え、ラベルを面積比で線形混合するデータ拡張手法です。Cutoutの「切り取り」とMixupの「混合」を組み合わせることで、情報を捨てずに正則化効果を得られるのが強みです。試験ではCutout(マスクのみ・ラベル不変)、Mixup(画素混合・ラベル混合)との違いを正確に区別できることが最大のポイントになります。