DeepApex株式会社のロゴ
Contrastive Loss/Supervised Learning

Contrastive Loss/Supervised Learning とは【AIスタートアップが解説】

2020-05-14

(更新: 2021-03-02)

技術
AI
AI開発

目次

Contrastive loss対照損失)は一言で言うと、Embedding空間上での2点間の距離をベースに算定される損失のことを意味します。

一般的に画像等の分類で使われる、ロジスティック損失ヒンジ損失のような予測誤差ベースの損失関数は、正解ラベルや数値を直接予測する目的で用いられるのに対し、Contrastive lossはインプットデータ間の距離を予測するために用いられる点で異なります。

このような距離ベースの損失関数を用いて学習を行う手法を、距離学習Metric Learning)といいます。

Metric Learningとは

距離学習を用いることが多いAIシステムの代表的な例としては、人間の顔認証AIなどが挙げられます。

Deep Learningを用いた距離学習で使われる損失関数の種類としては、Contrastive lossの他に、有名なところではTriplet lossがあります。Contrastive lossは通常ペアのインプット(2つの異なる正のサンプル)を用いて計算される意味で使われるのに対し、Triplet lossは3つのインプット(2つの異なる正のサンプルと1つの負のサンプル)を用いて計算される点で異なります。

これら距離ベースの損失関数では、似ているサンプルの集団はEmbedding空間上近くに表現されるように計算及び学習が行われます。

Contrastive Loss Function

Contrastive lossを用いた学習では、画像のペアがモデルに投入され、2つの画像が類似している場合は1、そうでない場合は0の値が与えられます。損失関数は以下の通りです。

yd^2 + (1-y)max(margin - d,0)^2,

dは空間に埋め込んだ2点の画像特徴量間の距離を算出する距離関数で、幾つか選択肢がありますが、最もスタンダードなところではユークリッド距離が用いられることが多いです(d = ||f1 – f2||2.)。

marginはハイパーパラメターで、marginより遠い距離について強制的にlossをゼロに収束させる目的で使われます。marginの値は1と設定することが多いようです。

Contrastive lossが損失関数として使われているネットワーク構造の代表例としては、Simese Network(シャムネットワーク)が挙げられます。

なお、参考までに、Triplet lossについては以下の式で計算されます。

max(||fa - fp||^2 - ||fa - fn||^2 +m, 0)

Supervised Contrastive Learning とは

下記のリンクで説明されているSimCLRは、Contrastive Learningの中でも、画像の特徴量を学習する際には教師データを必要としない、Self-supervised Contrastive Learning自己教師あり学習)を用いたフレームワークでした。

最先端の自己教師あり学習モデルSimCLRを追う【AIスタートアップが解説】

これに対し、Supervised Contrastive Learning(教師あり学習)と呼ばれる手法も登場しており、ResNet-50とResNet-200の両方において交差エントロピーを1%以上上回り、また、AutoAugmentデータ拡張を使用する手法の中では、78.8%という最高水準をマークしたことで話題を呼びました。

以下に、論文の要旨部分について、紹介させていただきます。

クロスエントロピーは、画像分類モデルの教師付き学習において最も広く用いられている損失関数である。本論文では、様々なアーキテクチャとデータ拡張にまたがる教師付き学習タスクにおいて一貫してクロスエントロピーを上回る、新たな学習方法を提案する。

本研究では、自己教師ありの設定下で強力な表現を学習するのに非常に効果的であることが最近明らかになったバッチContrastive lossを、一部変更し利用している。これにより、クロスエントロピーよりも効果的にラベル情報を活用することができるようになった。

同じクラスに属する点のクラスタは埋め込み空間内で近くに寄せられる一方で、異なるクラスのサンプルのクラスタは離れるように設定されている。これに加え,大規模なバッチサイズや正規化された埋め込みなどの重要な要素を利用することで,自己教師付き学習に対して一定の効果があることが示された.

研究の結果、ResNet-50とResNet-200の両方において、クロスエントロピーを1%以上も上回り、AutoAugmentデータ拡張を使用する手法の中では、78.8%という最高水準値を記録した。

なお、この損失は、データの自然的な破損に対する頑強性についても、カリブレーションと精度の両方の標準的なベンチマークにおいて明らかな利点を示した。
さらに、オプティマイザやデータ拡張などのハイパーパラメータ設定に関しても、クロスエントロピーと比較して、本研究における教師付きContrastive lossの方が安定している結果となった。

Supervised Contrastive Learning

Prannay Khosla, Piotr Teterwak, Chen Wang, Aaron Sarna, Yonglong Tian, Phillip Isola, Aaron Maschinot, Ce Liu, Dilip Krishnan
[v1] Thu, 23 Apr 2020

https://arxiv.org/abs/2004.11362

上記の通り、インプットデータ画像間における距離についても、同クラス内の画像については小さくなるよう学習する工夫がされていることが、Supervised Contrastive Learningの特徴と言えるでしょう。

まとめ:Contrastive Learningの時代に備える

SimCLRの研究成果に加え、教師ありのContrastive Learningについても大きな成果を上げていることにより、今後益々、Contrastive lossを用いたネットワークモデルの研究と実装が進んでいくと思われます。

弊社DeepApexにおいても、世界最先端の動向を追いながら、引き続き技術研究に取り組んでいきたいと思います。

資料請求・無料相談

社内業務におけるDX・IT投資に関することならお気軽にご相談ください

概要を知りたい方
詳細を知りたい方(1回45分/Webミーティング)

©2021 DeepApex Inc.,