注目される自己教師あり学習
近年、機械学習やディープラーニングの手法の一つである、自己教師あり学習に関する研究開発は広く取り組まれています。
人間が正解ラベルを付けていない大量の学習データを活用できる可能性のある、自己教師あり学習は様々な領域への応用を含め、日々研究が進んでいます。
今日は、自己教師あり学習の実験や実装に役立つ、
- ライブラリ
- オープンソースプロジェクト
などを紹介します。
自己教師あり学習の実装に役立つリソース
SEERとVISSL
SEERは、2021年3月にFacebookが発表した自己教師あり学習のモデルです。
このモデルでは、Instagramの大量の画像データを使って学習することにより、画像処理のタスクで高いスコアを実現したとされています。
自己教師あり学習の一段階目の学習である、事前学習にInstagramの画像データを使用したということです(Pretraining data)。
Facebookは、SEERの研究開発でも活用したコンピュータビジョン用自己教師あり学習のライブラリVISSLをオープンソースとして公開しています。
VISSLは、PythonのディープラーニングライブラリPyTorchがベースとなっています。
VISSLには
- SwAV
- SimCLR
- MoCo(v2)
- PIRL
- NPID、NPID++
- DeepClusterV2
- Jigsaw
などの自己教師あり学習の各種モデルが実装されています。
また、様々なベンチマークを揃え、60以上の学習済みモデルも用意されています。
チュートリアルが用意されています。
TensorFlowでの実装
VISSLは、PyTorchベースのライブラリですが、ディープラーニングに活用されているもう一つの有名なライブラリ、TensorFlowでの自己教師あり学習の実装も多数あります。
SimCLR – A Simple Framework for Contrastive Learning of Visual Representations
SimCLRのTensorFlowでの実装です。
Transformerアーキテクチャを採用した自己教師あり学習の言語モデルALBERTのTensorFlowでの実装です
S4L: Self-Supervised Semi-Supervised Learning
Self-Supervised Semi-Supervised Learning論文のTensorFlowでの実装です。
SelFlow: Self-Supervised Learning of Optical Flow
SelFlow論文のTensorFlowでの実装です。
その他の実装やモデルZoo
ここまでに紹介したライブラリや実装以外にも、自己教師あり学習の実験や実装に活用できるリソースはあります。
Papers With Codeでは、論文と合わせ、プログラミングのソースコードを参照可能なプロジェクトを探すことができます。
自己教師あり学習に関係するプロジェクトは多数見つかります。
PyTorch Lightningで自己教師あり学習
PyTorch Lightningは、ディープラーニングのライブラリです。PyTorchのインターフェースのようなもので、よりディープラーニングの研究開発に取り組みやすくなるように色々な工夫が施されています。
PyTorch Lightningを用いて、自己教師あり学習に取り組むことができます。
PyTorch Lightningで
- SwAV
- SimCLR
などの自己教師あり学習モデルを使用する方法についての解説動画リストが公開されています。
活況を帯びる自己教師あり学習
ディープラーニングの著名な研究者であるYann LeCun氏を筆頭に、自己教師あり学習の重要性が指摘されています。
今日紹介したように、オープンソースのプロジェクトやライブラリが多数出てきています。
研究だけではなく、開発や社会への応用も今後さらに進んでいくことが予想されます。
多様なリソースが公開されています。
自己教師あり学習に興味が出た人は、
- ライブラリを使ってみる
- 公式ドキュメントを確認してみる
- ソースコードを読んでみる
など、公開されているリソースを活用するのも良いかもしれません。
コメント