CutMix
CutMixデータ拡張手法が過学習を防ぐ仕組みを解説します。堅牢なUltralytics YOLO26モデルのトレーニングに簡単に適用する方法を学びます。
CutMixは、1枚の画像から長方形のパッチを切り取り、対象画像に貼り付けることで、堅牢なコンピュータビジョンモデルをトレーニングするために使用される高度なデータ拡張手法です。明るさや回転を調整する単純なデータ拡張とは異なり、CutMixはトレーニングサンプルの基本的な構成を変更します。ピクセルを入れ替える際には、対応する正解ラベルもパッチの面積に比例して混合されます。これにより、人工ニューラルネットワークは部分的な視点から物体を識別する方法を学習し、物体の最も識別力の高い部分だけに注目するのではなく、複数の特徴に依存するようになります。2019年の学術論文で初めて発表されて以来、大規模なデータセット全体での過学習を防ぎ、汎化性能を向上させるためのディープラーニングフレームワークにおける標準的な処理となっています。
この手法の仕組み#
モデルのトレーニング中、アルゴリズムは中心座標とボックスサイズをランダムに選択し、別の画像から領域を抽出します。このパッチは、アクティブなバッチ内の主要画像に直接重ねて貼り付けられます。主要画像に犬が含まれ、別の画像に猫が含まれていた場合、最終画像では犬の一部が猫のパッチに置き換えられます。分類ラベルは、正確なパッチ面積に基づく線形補間を使用して更新されます。たとえば、犬0.7、猫0.3というラベルになります。物体検出タスクでは、貼り付け領域内に元の面積の一定割合(多くの場合10%)以上が残っているバウンディングボックスが保持されます。この手法は、Ultralytics YOLOでcutmixトレーニングハイパーパラメータとしてネイティブにサポートされているため、ユーザーはこの変換の確率を簡単に定義できます。
MixUpとCutoutとの違い#
CutMixは、他の2つの主要なデータ拡張手法と密接に関連していますが、それぞれの固有の制限を解消します。
- MixUpデータ拡張:MixUpは、ピクセル値の加重平均を計算することで、2枚の画像を全体的にブレンドします。効果的である一方、不自然で半透明の幻影のような画像になることが多く、局所的な空間的相関を乱してモデルを混乱させる可能性があります。これに対してCutMixは、切り取った領域内の元のピクセル強度を保持します。この特性は、Attentive CutMixのような手法で研究者によってさらに最適化されています。
- Cutoutデータ拡張:Cutoutは、ランダムな長方形領域を黒いピクセルまたはデータセットの平均値でマスクし、情報を削除します。これによりモデルは物体全体を見るよう促されますが、貴重なトレーニングテンソルが無駄になります。CutMixは、その欠落した空間を他の画像から取得した有益な画像分類パッチで置き換え、学習効率全体を高めます。
実世界での利用例#
CutMixは、深刻な遮蔽を受けた物体を認識するようモデルをトレーニングすることで、さまざまな業界における機械学習の性能を大幅に向上させます。
- 自動車AIと自動運転:自動運転車では、道路標識によって歩行者や車両が部分的に隠れている場合でも識別できるようシステムを学習させ、混雑した環境での安全性を高めます。
- 医療診断と臓器セグメンテーション:医療分野では、この手法が臓器および腫瘍のセグメンテーションに広く使用されており、解剖学的構造が重なっている場合でも、モデルが複雑な組織の境界を認識できるようにします。
- 衛星画像のリモートセンシング:この戦略は、航空画像に含まれる建物や植生など、密集して重なり合うクラスを保持します。大きく不均衡なデータにおけるロングテール認識を向上させるため、高度な派生手法が活発に研究されています。
実際の実装#
このデータ拡張をAIパイプラインに統合するのは簡単です。PyTorch TransformsやKeras前処理レイヤーなど、ほとんどの高レベルライブラリがネイティブにサポートしています。
YOLO26のようなモデルをトレーニングする場合、このデータ拡張の設定に必要なのは、1つのパラメータを調整するだけです。これにより、画像パッチの作成と複雑なバウンディングボックスのクリッピング処理の両方が自動的に行われます。
from ultralytics import YOLO
# Initialize the recommended Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Train the model with CutMix enabled at a 50% probability
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, cutmix=0.5)大規模なビジョンワークフローを管理するチーム向けに、Ultralytics Platformでは、これらのデータ拡張のベストプラクティスをクラウドインターフェースから直接調整できるため、アノテーションからモデルデプロイまでのプロセスを効率化できます。









