DeepApex株式会社のロゴ
simclrイメージ

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

2020-04-21

(更新: 2021-03-02)

技術
AI
AI開発
論文

目次

コンピュータサイエンス界のノーベル賞とも呼ばれるチューリング賞を2019年に授賞された、AI界のゴッドファーザー、ジェフリー・ヒントン先生(Geoffrey Everest Hinton)が新たに革新的な論文を発表されました。

A Simple Framework for Contrastive Learning of Visual Representations
Ting Chen, Simon Kornblith, Mohammad Norouzi, Geoffrey Hinton
[v1] Thu, 13 Feb 2020
https://arxiv.org/abs/2002.05709

SimCLRとは

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

本論文では、SimCLRと呼ばれる、視覚表現の対照学習(contrastive learning)のためのシンプルなフレームワークについて述べる。本研究では、近年において提案されている自己教師あり学習アルゴリズムを、特殊なアーキテクチャやメモリバンクを必要とせずに単純化している。対照予測タスクが何をもって有用な表現を学習することができるのかを理解するために、我々のフレームワークの主要な構成要素を体系的に研究する。その結果、(1)効果的な予測タスクを定義するためには、Data Augmentationの構成が重要な役割を果たすこと、(2)学習可能な非線形変換を表現と対照損失(contrastive loss)の間に導入することで、学習された表現の質が大幅に向上すること、(3)教師あり学習と比較して、より大きなバッチサイズとより多くの学習ステップから対照学習の利点が得られること、を示した。これらの知見を組み合わせることで、ImageNet上での自己教師あり学習および半教師あり学習について、従来の手法を大幅に上回る結果を得ることができた。SimCLRによって学習された自己教師あり表現で訓練された線形分類器は76.5%のtop-1精度を達成、これは従来の最高水準から7%の相対的な改善であり、教師ありResNet-50の性能に匹敵するものである。なお、ラベルの僅か1%をファインチューニングした結果、**85.8%**のトップ5精度を達成し、100倍少ないラベルでAlexNetを上回る性能をも示している。

SimCLRモデルの精度

SimCLRモデルの精度

自己教師あり手法により訓練された表現を用いて学習された線形分類器の、ImageNet Top-1の精度の図です。灰色の×は教師ありResNet-50を示し、SimCLRは太字で示されています。

Self-Supervised Learning(自己教師あり学習)とは?

現在のAI作成は、教師あり学習と呼ばれる、人間が大量の正解データを準備した上でAIが学習を開始できるような仕組みを用いることが大半です。一方自己教師あり学習は、その名の通り人間による訓練を大幅に減らし、より自ら学ぶことが可能となるような仕組みの概念です。

今回の研究成果は、正に必要な正解データ量を従来の1%など大幅に削減する一方で、同程度の性能を発揮するという偉業を成し遂げました。

SimCLRの構造

SimCLRの構造

視覚表現の対照学習のためのシンプルなフレームワークのアーキテクチャイメージ図です。

2つの独立したData Augmentation演算子が、同じData Augmentation演算子ファミリー(t∼Tとt0∼T)からサンプリングされ、2つの相関のあるビューを得るために各データ例に適用される構造となっています。

ベースエンコーダネットワークf(-)とプロジェクションヘッドg(-)は、対照損失を用いてその一致度が最大になるように訓練され、また訓練終了後は、プロジェクションヘッドg(-)を破棄し、エンコーダf(-)と表現hをダウンストリームタスクに利用するとのことです。

上記の図の通り、SimCLRフレームワークは主に以下の4つの要素から構成されています。

- 確率的Data Augmentationモジュール(与えられたデータ例をランダムに変換して、同じ例の相関のある2つのビューを正のペアとみなす)
- ニューラルネットワークベースのエンコーダ(拡張データ例から表現ベクトルを抽出する)
- 小型のニューラルネットワークプロジェクションヘッド(対照損失が適用される空間に表現をマッピングする)
- 対照予測タスクのために定義された**対照損失関数

また、正のペアの損失関数は以下の式で表されます。

損失関数

捕捉:最終的な損失は、ミニバッチ内のすべての正のペア、(i, j)と(j, i)の両方に渡って計算されます。

最後に、ここまでご紹介したSimCLRのメイン学習アルゴリズムをコードに落とし込むと、以下のようになります。

SimCLRのメイン学習アルゴリズム

まとめ:SimCLRの実装

SimCLRの研究成果により、従来の自己教師あり学習、半教師あり学習、転移学習の仕組みは大幅に改善されることとなりました。今後は世界中の研究機関での実装や実用化が進められていくことと思います。

また、自己教師あり学習は近年アカデミアにおける研究対象として極めて関心が高かったにも関わらず、その構造を今回のように大幅にシンプル化できたという事実は、AIにはまだまだ研究の余地が多く残されていることに多くの研究者が改めて気付かされるきっかけとなったと言えます。

弊社DeepApexにおいても、引き続き最先端技術について研究に取り組んでいきたいと思います。

資料請求・無料相談

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

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

©2021 DeepApex Inc.,