自己教師あり学習(じこきょうしありがくしゅう、、SSL)とは、外部から提供されるラベルに依存せず、データ自体から生成される教師信号を用いてモデルを訓練する機械学習の枠組みである。ニューラルネットワークの文脈においては、入力データに内在する構造や関係性を活用し、有意義な学習シグナルを生み出すことを目指す。SSLのタスクは、データ中の重要な特徴や関係を捉える必要があるように設計されており、入力データは通常、ノイズの追加、切り取り、回転などの方法で拡張・変換され、関連するサンプルのペアが作られる。このペアの一方が入力として用いられ、もう一方が教師信号を与える材料として利用される。 自己教師あり学習は、人間が物事の分類を学習する方法をより忠実に模倣する。

典型的には次の2段階で学習する。まず最初に、補助的(あるいは前段階)の分類タスク(pretext classification task)を疑似ラベルを用いて解き、このプロセスで得られた有用な特徴を使ってモデルのパラメータを初期化する。次に、教師あり学習または教師なし学習によって、実際のタスクが行われる。

自己教師あり学習は、近年有望な成果を上げており、音声処理で実用化され、Facebookなどの音声認識に使用されている。

種類 二値分類タスクの場合、トレーニングデータは正例と負例に分けることができる。正例とは、ターゲットと一致するものである。たとえば、鳥の識別を学習している場合、鳥が写っている写真が正例の学習データとなる。負例は、そうでないものをいう。

自己教師あり対照学習 自己教師あり対照学習()は教師ラベルを用いない対照学習である。正例を用意する代表的な方法に以下が挙げられる:

データ拡張(例: SimCLR) co-occurrence(例: CPC)

また負例を用意する代表的な方法に以下が挙げられる:

ミニバッチ内他サンプル non-co-occurrence

自己教師あり非対照学習 自己教師あり非対照学習(non-contrastive self-supervised learning、NCSSL)では、正例のみを使用する。直感に反して、NCSSLは自明解に到達するのではなく、有用な局所最小値に収束し、損失はゼロになる。二値分類の例では、NCSSLは通常、各例を正と分類するように学習する。効果的なNCSSLでは、ターゲット側に逆伝播しないオンライン側の追加の予測器を要する。

他の機械学習との比較 入力から分類された出力を生成することを目的とする限り、SSLは教師あり学習法である。そうではあるが、ラベル付きの入力と出力の組を明示的に使用する必要はない。代わりにデータから相関関係、データに埋め込まれたメタデータ、または入力に存在するドメイン知識が暗黙的かつ自律的に抽出される。データから生成されたこれらの監視信号は、トレーニングに使用することができる。

SSLは、サンプルデータにラベルを必要としない点で、教師なし学習法と似ている。ただし、教師なし学習とは異なり、データに内在する構造から学習するものではない。

半教師あり学習法(semi-supervised learning)は、教師あり学習と教師なし学習を組み合わせたもので、学習データのごく一部にラベルを付ける必要がある。

転移学習では、あるタスクのために開発されたモデルを、別のタスクで再利用する。

オートエンコーダのトレーニングは、出力パターンが入力パターンの最適な再構成になる必要があるため、本質的には自己教師ありのプロセスを構成する。しかし、現在の専門用語では、「自己教師あり(self-supervised)」という用語は、プレテキストタスク(pretext task)のトレーニング設定に基づく分類タスクに関連している。これは、完全に自己完結したオートエンコーダのトレーニングの場合とは異なり、そのようなプレテキストタスクを(人間が)設計することになる。

強化学習では、損失の組み合わせによる自己教師あり学習により、状態に関する最も重要な情報のみが圧縮された形で保持される抽象的な表現を形成することがある。

事例 自己教師あり学習は、音声認識で特に適している。たとえば、Facebookは、音声認識のための自己教師ありアルゴリズムであるwav2vecを開発し、相互に構築し合う2つの深い畳み込みニューラルネットワークを使用している。

GoogleのBERTモデルは、検索クエリのコンテキストをよりよく理解するために使用されている。

OpenAIのGPTは、言語処理に使用できる自己回帰言語モデルである。テキストの翻訳や質問への回答などに使用することができる。

Bootstrap Your Own Latent(BYOL)はNCSSLであり、ImageNetや転位、半教師ありベンチマークで優れた結果を出した。

は、自然言語処理における自己教師あり学習の例である。ラベル付けされた少数の例から、多義語のどの語義がテキスト中の特定の部分で使用されているかを予測するように学習する。

FacebookのDirectPredは、勾配更新による学習の代わりに、予測器の重みを直接設定するNCSSLである。

脚注

外部リンク