対照学習Contrastive Learning

同じものを引き寄せ違うものを遠ざけて学ぶ

ポイント
  • 対照学習は同じものどうしは近くに引き寄せ、違うものどうしは遠くへ押しやりながら、資料の位置そのものを決めていく方法です。
  • 正解の名前は必要ありません。どの二つが同じものから出たかさえわかれば、それだけで学習が回ります。
  • 引き寄せるだけでは全部が一点に集まってしまいます。押しやる力があってこそ、位置が散らばって意味を持ちます。
  • 同じものをどう作り出すかが、**何を同じと見なすかをそのまま決めます。**変形の選び方が方法の性格を決めるのです。
  • 出てくるのは答えではなく、**位置です。**この位置の配置を、あとに続くさまざまな仕事に使い回します。
目次

1たとえで理解する

コピー機に書類一枚を入れて二度複写すると、出てきた二枚は原本とまったく同じではありません。一枚は少し傾き、もう一枚は上のほうが少し切れていて、どちらも原本より薄くなっています。それでも私たちは二枚が同じ書類だと一目でわかります。

今度はいろいろな種類の書類を二枚ずつ複写して混ぜ合わせ、広い机の上に並べてみましょう。ルールは一つです。**同じ原本から出た二枚は近くに置き、違う原本から出た枚は遠くに離す。**書類の見出しを読む必要すらありません。どの枚がどの原本から出たかさえわかればいいのです。このルールだけを守って位置を動かしていくと、机の上に種類ごとの場所が自然にできあがります。

2くわしく

名前なしで学べる理由

普通の学習には正解の名前が必要です。写真ごとに「猫」「犬」と付ける人の手が入らなければなりません。名前を付ける作業は遅くて費用がかかります。

対照学習はこの名前を使いません。代わりに資料自体から正解を作ります。写真一枚を取ってきて少し切り取り色を変えて二枚作れば、この二枚が組であるという事実は作った人がすでに知っているわけです。その事実だけで「この二つは近くなければならない」という問題が生まれます。残りの写真は自動的に「遠くなければならない側」になります。人が付ける名前の代わりに、複写した記録が正解の役目を果たします。

引き寄せと押しやりは一組です

引き寄せるだけをさせたらどうなるでしょう。すべての書類を机の真ん中に寄せておけば、ルールを完璧に守ったことになります。同じ原本どうしがくっついているからです。ところがその配置はまったく役に立ちません。どれがどれか区別が消えてしまったからです。

このように全部が一点に集まる状況を防ぐのが押しやりです。違う原本から出た枚を遠くへ送る力が一緒にかかっていれば、机全体に散らばるほかありません。引く力と押す力が釣り合った位置で配置が完成します。

どんな複写をするかが基準を決めます

同じ原本から出た二枚をどう作るかが、この方法の性格をまるごと決めます。色を大きく変えた二枚を組にすると、モデルは色が違っても同じものと見なすべきだと学びます。色を無視する目ができるわけです。

だからやりたい仕事に合わせて変形を選ばなければなりません。果物の写真を熟れ具合で分けたいのに色を無視するよう学ばせては困ります。逆に、切り取った一部だけを見ても同じものと見なすようにすれば、部分だけを見て全体を見分ける目ができます。変形が弱すぎると学ぶことがなく、強すぎると組でないものを組だと言い張ることになります。

押しやる相手をどう選ぶか

押しやる相手が多いほど位置がはっきりします。机に二種類しかなければ大雑把に分けても規則は守られますが、数千枚が混ざっていればずっと細かく位置を決めなければなりません。だから一度に多くの資料をまとめて扱ったり、これまで見た資料を別に集めておいて押しやる相手として取り出したりもします。

ここに落とし穴が一つあります。押しやる相手の中に、実は同じ種類が混じっていることがあります。別の猫の写真を「違うもの」として押しやってしまうわけです。名前がないので見分ける方法もありません。この問題を避けるために、押しやりをまったく使わず、同じ組だけを引き寄せつつ一点に集まらないよう構造に仕掛けを置く流派も出てきました。どちらの流派を選ぶかは、押しやる相手をどれだけ集めやすいかという実務上の事情で決まることが多いです。

3もう少し正確に

対照学習(Contrastive Learning)は、同じ原本から作った二つの標本を正の組、違う原本から来た標本を負の組として、正の組は表現空間で近づき負の組は遠ざかるよう損失を設計する自己教師あり学習の方法です。ここでの近さの判断はたいてい二つのベクトルがなす角度で測ります。学習が終わると分類器の部分は取り外し、位置を作り出す部分だけを残して、名前の少ないさまざまな課題に使い回します。

たとえがずれる点もあります。机は平面なので位置は二方向しかありませんが、実際の位置配置は数百方向を持つ空間で行われます。方向が多ければ互いに遠く離れる余裕もずっと大きくなります。もう一つ、私たちは書類を手で持って動かしますが、学習が動かすのは書類そのものではありません。**資料を座標に変える規則自体を少しずつ直すのであり、書類の位置はその結果としてついてくるだけです。**だから学習に使わなかった新しい書類も、同じ規則を通ってふさわしい位置に置かれます。書類そのものではなく、書類を位置へ移す規則を学んでいるという点が、このたとえでいちばん見落としやすいところです。

4やってみる

5よくある誤解

  • 対照学習も結局は正解の名前が必要だと思われがちですが、実際にはどの二つが同じ原本から出たかさえわかればよく、その情報は資料を変形させるだけで自然に生まれます。

  • 似たものを集めるクラスタリングと同じことだと考えられがちですが、実際には群れを分けるのではなく、資料を座標に移す規則を学ぶ作業です。

  • 変形は強くかけるほどよいと信じられがちですが、実際には何を同じと見なすかを変形が決めてしまうので、やりたい仕事に合わせて選ばなければなりません。

7ひとこと要約

つまり対照学習は、同じ原本から出たものどうしを引き寄せ違うものどうしを押しやりながら資料の位置配置を学ぶ方法で、名前がなくても使える目を作り出す道です。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02