用語集 · 機械学習
ショートカット学習
別名:Shortcut learning、giveaway、giveaways、spurious correlation、Clever Hans、tell、data leak、疑似相関、賢いハンス、クレバー・ハンス、データリーク、近道学習
本当に学んでほしかったものではなく、学習中にたまたま答えを当てられる簡単な手がかりをモデルが学んでしまうことです。
学習するシステムは、答えを最も簡単に予測できる信号なら何でも使います。学習データに、意味を持つはずのない手がかりがあって、それがたまたま答えと一致していると、その手がかりを学んでしまうことがよくあります。
古典的な話が、1900年代初めのドイツにいた馬、賢いハンス(クレバー・ハンス)です。ハンスは蹄を鳴らして答えを示し、算数ができるように見えました。実は質問者の顔を読んでいたのです。正しい回数に達すると、質問者の表情がゆるんだからです。機械学習では、肺炎の画像分類器が、どの病院のスキャナーで撮ったX線かを見分けるように学んでしまった有名な例があります。ある病院のほうが重症の患者が多かったためです。
これは報酬ハッキングのいとこのようなものです。報酬ハッキングでは、エージェントは自分が報われるものの欠陥を突きます。ショートカット学習では、自分に見せられるものの欠陥を突きます。どちらもテストには通りますが、本当のタスクには失敗します。
見つけ方と直し方
- 手がかりだけを変え、他は何も変えずに、振る舞いが変わるかを見ます。本当の信号が動いてもモデルが同じように動くなら、本当の信号を使っていません。
- 環境やデータからその手がかりを取り除きます。ペナルティを与えてもうまくいくことはまれで、モデルは次の手がかりを見つけます。
- 続けていくつも出てくると考えておきます。1つの近道を直すと、次に簡単な近道が現れることがよくあります。
このプロジェクトでは
ブロックの記事では、ファイターは対戦相手がどのパンチを打ってくるかを読まなければなりませんでした。4回、代わりにパンチがばれてしまう手がかりを見つけてしまいました。対戦相手はパンチとパンチの間は固まって立っていて、各パンチの 0.18 s 前に動き出していました。パンチの種類ごとにそれぞれの距離から打たれていて(トニーが気づきました)、一部が重なる距離でもまだ見抜けてしまいました。すべてに1つの距離の範囲を使っても、アッパーカットでは対戦相手がまだ4〜5 cm 低く立っていました。1つずつ取り除いていき、ようやくファイターはパンチを待って読むようになりました。それを確かめた方法は、対戦相手のパンチを時間的にあとにずらし、ファイターのブロックがそれと一緒に動くかを見ることです。