Shortcut Learning
ショートカット学習とは、モデルがX線画像上の病院マーカーなどの見せかけの手掛かりに依存することです。テストには合格しても、実環境では失敗します。
ショートカット学習とは、モデルが学習データ内でラベルを予測する単純な手掛かりを使って学習タスクを解くものの、その手掛かりが本来学ぶはずの概念とは無関係な状態です。その手掛かりを含むテストセットでは高いスコアを得ますが、手掛かりが消えると失敗します。Robert Geirhosらは、2020年のNature Machine Intelligenceの展望論文ディープニューラルネットワークにおけるショートカット学習でこの問題を特徴付けました。ショートカットを、標準ベンチマークでは良好に機能するものの、実環境での使用など、より難しい条件には転移しない決定規則と定義しています。よく知られた類例は、算術ができるように見えながら、実際には調教師の身振りを読み取っていた馬、クレバー・ハンスです。
公開済みモデルにおけるショートカット#
ショートカットは、公開済みの多くのモデルで見つかっています。
- 医用画像における病院の特徴: John Zechらによる2018年の研究では、複数の病院システムの胸部X線画像で学習した肺炎分類器が、画像をどの病院が撮影したかを識別できることが分かりました。病院によって疾病率が異なるため、撮影元の情報が診断予測に役立っていました。学習データに含まれない病院では性能が低いことが多く、これは放射線科におけるAIで繰り返し見られるリスクです。
- COVID-19のX線画像: Alex DeGraveらによる2021年の分析では、COVID-19検出器が肺の所見ではなく、テキストマーカー、患者の姿勢、データソース間の違いに依存しており、新しい病院のデータでは精度の多くが失われることが分かりました。
- カメラトラップ写真の背景: Sara Beeryらによる2018年の「Recognition in Terra Incognita」研究では、画像分類モデルが動物と撮影場所や背景を関連付けることを示しました。そのため、新しいカメラ設置場所では精度が低下します。これは野生生物保全におけるAIで知られている問題です。論文は、商用画像分類器が認識に失敗した、ビーチにいる牛の写真から始まります。一方、アルプスの牧草地にいる牛は正しく分類されました。
- 形状よりテクスチャ: 2019年にGeirhosらが示したように、ImageNetで学習した畳み込みニューラルネットワークは、猫の形状とゾウの皮膚のテクスチャを持つ画像をゾウと分類しました。
標準的な検証で見逃される理由#
ランダムに学習用と検証用に分割すると、ショートカットが両方にコピーされるため、検証データでの精度は非常に高く見えます。失敗が現れるのは、新しい場所、カメラ、病院、季節、期間など、異なる方法で収集したデータを使った場合だけです。
これがショートカット学習と関連する問題との違いです:
- 過学習: 学習データ固有のノイズを記憶することで、学習スコアと検証スコアの差として現れます。同じ情報源から得た検証セットに対しては、ショートカットが完全に汎化することがあります。
- データリーク: 予測時には存在しない情報が特徴量や分割に入り込みます。リークは、ショートカットがデータセットに入り込む具体的な方法の1つで、多くの場合は意図せず発生します。
- データセットバイアス: 収集データの偏りです。たとえば、陽性例がすべて1台のスキャナーから得られた場合、モデルがショートカットに依存する手掛かりになります。
scikit-learnの数行のコードで、2つの特徴量を使うロジスティック回帰により、この失敗を再現できます。一方は弱い本質的なシグナル、もう一方は学習時にラベルとほぼ完全に連動するショートカットです。
import numpy as np
from sklearn.linear_model import LogisticRegression
rng = np.random.default_rng(0)
labels = rng.integers(0, 2, 2000)
# A weak genuine signal and a shortcut that tracks the label almost perfectly
signal = labels + rng.normal(0, 1.0, labels.size)
shortcut = labels + rng.normal(0, 0.1, labels.size)
model = LogisticRegression()
model.fit(np.column_stack([signal, shortcut]), labels)
# At deployment the shortcut no longer carries any label information
shifted = rng.permutation(shortcut)
print(f"In-distribution accuracy: {model.score(np.column_stack([signal, shortcut]), labels):.2f}")
print(f"Shifted accuracy: {model.score(np.column_stack([signal, shifted]), labels):.2f}")ショートカットをシャッフルすると、精度は1.00から0.52に低下します。本質的なシグナルだけなら精度は約70%ですが、モデルはシグナルより約18倍大きい係数をショートカットに割り当てたため、より難しい手掛かりからほとんど学習しませんでした。
ショートカットの検出と除去#
最も信頼できるテストでは、ランダムに画像を選ぶのではなく、サイト、カメラ、期間全体を学習データから除外し、ショートカットが追随できないデータで評価します。そのスコアが同一分布内のスコアより大きく低ければ、背景、照明、センサーの手掛かりが原因かもしれません。データ探索は、学習前に候補を見つけるのに役立ちます。Ultralytics Platformのクラスタリングパネルは、視覚的に似た画像を2Dマップ上で近くに配置し、クラス、分割、画像の幅や高さに応じて色分けします。あるクラスの画像が1台のカメラから撮影されたために独立した島を形成している場合、YOLO26モデルが物体ではなくカメラを学習する前に発見できます。
反実仮想編集では、疑わしい手掛かりを直接テストします。背景を入れ替えたり、オーバーレイを削除したり、マーカーを切り取ったりしても、正しい予測は変わらず、ショートカットに依存した予測は反転します。説明可能なAI(XAI)の顕著性マップなどの帰属手法は、どのピクセルが予測を導いたかを示します。COVID-19研究では、肺ではなく画像の縁やテキストが強調されました。
ショートカットの解消には、通常データの変更が必要です。すべてのトレーや背景で不良部品を撮影するなど、手掛かりとラベルが一致しない例を収集すれば、相関を崩せます。色、スケール、配置を変えるデータ拡張は、それらの特性に結び付いた手掛かりを弱めます。ドメインランダム化も、合成画像のテクスチャ、照明、背景をランダム化することで同じ効果をもたらします。ショートカットに関わるグループが分かっている場合、グループ分布ロバスト最適化では平均損失の代わりに、最も性能の低いグループの損失を最小化します。










