オープンセット学習
オープンセット学習は機械学習の問題設定であり、実際のアプリケーションではトレーニング段階では見られなかったカテゴリがテスト段階で現れる可能性があるという事実に主に焦点を当てています。
従来の教師あり学習と比較して、オープンセット学習は、現実世界ではこれまで見たことのない新しいカテゴリが常に存在するため、現実世界の状況に近いものとなります。
原理
従来の分類問題では、すべてのカテゴリが既知であり、トレーニング データに現れていると仮定します。
ただし、オープン セット学習では、トレーニング フェーズでは見えなかった新しいカテゴリがテスト フェーズで出現することを許可します。
開集合学習問題を解決するには、既知のカテゴリを分類するだけでなく、未知のカテゴリに属するサンプルを識別できるモデルを設計する必要があります。これには通常、モデルに何らかの異常検出機能が必要です。
-
開集合学習問題を解決する一般的な方法は、それを二項分類問題 (既知のカテゴリと未知のカテゴリ) に変換することです。この設定では、モデルは、既知のクラスのサンプルと未知のクラスのサンプルを区別できる決定境界を学習する必要があります。
-
もう 1 つの方法は、OpenMax と呼ばれるアルゴリズムを使用することです。OpenMax は、まずサンプルが既知の各クラスに属する確率を計算し、次にこれらの確率を使用して、このサンプルが未知のクラスに属する確率を推定します。
例
画像内の動物を識別する画像分類モデルを開発しているとします。
- トレーニング データには、犬、猫、鳥の画像のみを含めてください。
- その後、テスト段階で、魚を含む画像を受け取りました。
この例では、モデルがトレーニング中に魚を見ていないため、「fish」は未知のクラスです。
モデルが従来の分類モデルである場合、魚の画像が犬、猫、または鳥として誤って分類される可能性があります。
ただし、モデルがオープンセット学習モデルの場合は、魚の画像が未知のクラスに属していることを認識できるはずです。
一般に、オープンセット学習は非常に重要かつ困難な問題です。
オープンセット学習モデルを設計するときは、未知のカテゴリの存在を考慮し、これらの未知のカテゴリに対処するための対応する方法を設計する必要があります。
CV分野におけるオープンセットとオープンワールドの違いは何ですか?
Open Set
Open World
オープンワールドの分岐点です。
- それらの間には包含関係があります。
- オープンワールドの意味は非常に広く、明確な定義はありませんが、中心となるのは現実世界の問題を解決することです。そしてオープンセットは明確に定義されています。
オープンワールドとは現実の世界を目指すということで、様々な状況に直面します。
- たとえば、オープン セット認識、つまり、モデルをトレーニングするときにすべてのカテゴリを考慮することは不可能ですが、現実世界のデータ セットにないカテゴリがいくつか存在します。
- したがって、現実世界でのトレーニング中に見られるデータの一部のカテゴリが正常に認識され、目に見えないカテゴリが未知のカテゴリとしてラベル付けされるモデルが必要です。
- オープンワールドには、他のサブフィールドもいくつか含まれています。
- 増分学習では、実際のシナリオではモデルを継続的に更新する必要があるため、継続的学習テクノロジーを使用する必要があります。
- ゼロショット学習、私たちが見たことはないものの、事前の知識によって知ることができるいくつかのオブジェクト。たとえば、シマウマは訓練されていませんが、シマウマには縞模様があり、野生の馬に似ていることを事前に予測することで、シマウマを認識できます。
- ドメイン適応、同じカテゴリのデータ、背景やシーンが変更されたときにモデルがよく認識できるかどうか。等
つまり、オープンワールドには多くの分岐が含まれており、オープンセットはオープンワールドのサブ分岐であると思います。
オープン セット学習とオープン ワールド学習は、学習タスクの 2 つの異なる設定です。どちらも、テスト時にトレーニング データに現れなかったカテゴリの状況を考慮しますが、この問題への対処方法が異なります。
-
オープン セット学習: この設定では、トレーニング中に表示されなかったクラスがテスト フェーズ中に表示される可能性があると想定されます。
- この問題の主な課題は、既知のカテゴリを正確に分類し、未知のカテゴリに属するサンプルを認識できるモデルをどのように設計するかということです。
- 一般的な解決策は、未知のサンプルと既知のクラスを区別できる決定メカニズムを設計することです。
-
オープンワールド学習: この設定は、テスト時に未知の可能性のあるクラスを考慮するだけでなく、システムが新しい情報を受け取るたびに継続的に学習して適応する必要があることを想定することで、さらに一歩進んでいます。
- つまり、新しいカテゴリのサンプルが現れた場合、システムはそれらを認識するだけでなく、同じタイプの将来のサンプルを認識できるように、この新しい情報を使用してモデルを更新する必要もあります。
- これには、モデルにオンライン学習 (オンライン学習) または増分学習 (増分学習) の機能が必要です。
たとえば、コンピュータ ビジョンには顔認識システムがあるかもしれません。オープンセット学習では、システムがこれまで見たことのない顔に遭遇した場合、その顔が既知のカテゴリに属していないことを認識できる必要があります。オープンワールド学習設定では、システムはこの新しい顔を学習し、将来同じ顔に遭遇したときにそれを認識できる必要もあります。
オープンセット学習とフューショット学習
オープンセット学習とフューショット学習はどちらも機械学習におけるタスク設定の一種ですが、主な懸念事項と課題は異なります。
1、オープンセット学習:
オープンセット学習では、トレーニング段階では見られなかったカテゴリがテスト段階で現れる可能性があるという問題に主に焦点を当てています。
- オープンセット学習では、既知のカテゴリのサンプルと未知のカテゴリのサンプルを区別できるモデルが必要です。
たとえば、動物の写真を識別するための画像分類モデルを開発しているとします。トレーニング データには、犬、猫、鳥の写真のみが含まれています。
- ただし、テスト段階では、魚の写真が送信される場合があります。この場合、モデルは、この画像が既知のカテゴリに属していないことを認識できる必要があります。
2、数回のショット学習:
フューショット学習は主に、わずかなサンプルを使用して新しいカテゴリを学習する方法に焦点を当てています。
- フューショット学習では、モデルが非常に少数のサンプルから新しいカテゴリの特徴を捕捉し、将来のタスクでこのカテゴリのサンプルを正しく分類できることを期待しています。
たとえば、画像分類モデルがトレーニング段階で犬、猫、鳥のカテゴリを学習したとします。
- 次に、テスト段階で、いくつかの魚の写真を受け取り、モデルがこれらの写真から魚のカテゴリを学習し、将来魚の写真に遭遇したときに正しく分類できるようにしたいと考えます。
3. 概要:
これら 2 つの問題の主な違いは、オープンセット学習は主に未知のカテゴリのサンプルを処理する方法に焦点を当てているのに対し、フューショット学習は主に非常に少数のサンプルから新しいカテゴリを学習する方法に焦点を当てていることです。
- 実際のアプリケーションでは、これら 2 つの問題を同時に考慮する必要があるかもしれません。
- たとえば、顔認識の応用では、見たことのない顔に遭遇する場合がありますが (オープンセット学習)、わずか 1 枚または 2 枚の写真からその人の特徴を学習する必要がある場合があります (少数ショット学習)。
ゼロショット学習
ゼロショット学習は、モデルが例なしで新しいカテゴリを認識する必要がある、より困難な学習問題設定です。
- これには、通常は人間が理解できる属性や他の既知のカテゴリとの類似性を通じて、カテゴリに関する意味論的な情報をモデルに伝える方法が必要です。
ゼロショット学習:
ゼロショット学習の主な焦点は、例を見ずに新しいカテゴリを認識する方法です。
- これには、通常は属性またはテキストの説明を介して、カテゴリの意味情報をモデルに伝える方法が必要です。
- ゼロショット学習では、モデルが既知のカテゴリの知識から未知のカテゴリの特徴を推論できるようにする必要があります。
たとえば、動物の写真を識別するための画像分類モデルを開発しているとします。トレーニング データには、犬、猫、鳥の写真が含まれています。
- 次に、トレーニング フェーズではモデルがシマウマを見ていないにもかかわらず、テスト フェーズでシマウマの写真を受け取ることがあります。ただし、「シマウマは黒と白の縞模様の四足動物です」のような属性の説明があります。
0 モデルは、シマウマの写真を直接見たことがなくても、シマウマを識別するためにこの記述を使用する必要があります。
概要:
オープンセット学習、フューショット学習、ゼロショット学習はすべて、目に見えないカテゴリを扱う方法ですが、やり方が異なります。
- オープンセット学習では、モデルが既知のカテゴリと未知のカテゴリのサンプルを区別できる必要があります。
- フューショット学習では、サンプルがわずかしかない場合でも、モデルが新しいカテゴリを学習して認識する必要があります。
- ゼロショット学習はさらに一歩進んで、モデルがそのカテゴリのサンプルをまったく参照せずに、属性または説明情報のみを通じて新しいカテゴリを認識することを要求します。
オープンセット学習とゼロショット学習
オープンセット学習とゼロショット学習はどちらも機械学習における一種のタスク設定であり、主にテスト時に訓練データに現れていないカテゴリの状況を考慮しますが、この問題への対処方法が異なります。
1、オープンセット学習:
オープンセット学習は、トレーニング段階では見られなかったカテゴリがテスト段階で現れる可能性があるという問題に主に焦点を当てています。
- オープンセット学習では、既知のカテゴリのサンプルと未知のカテゴリのサンプルを区別できるモデルが必要です。
- 実際の環境では、トレーニング中にモデルが認識しなかったカテゴリに遭遇することがよくあるため、この種の問題設定はより現実的です。
2、ゼロショット学習:
ゼロショット学習はさらに一歩進んでおり、モデルがテスト中に目に見えないカテゴリを処理できる必要があるだけでなく、これらのカテゴリがトレーニング段階で一度も出現したことがない、つまり、モデルがこれらのカテゴリのサンプルをまったく見ていないことも必要です。 . .
- この問題に対処するために、ゼロショット学習には通常、モデルがこれらの新しいカテゴリを理解するのに役立つ、カテゴリの意味論的記述やカテゴリ間の関係などの追加情報が必要です。
たとえば、画像分類タスクで、トレーニング データに犬、猫、鳥の画像のみが含まれていると仮定すると、テスト段階ではモデルが馬の画像を処理できるようにする必要があります。
-
オープンセット学習の設定では、モデルは馬の画像がどの既知のカテゴリ (犬、猫、鳥) にも属さないことを認識できる必要があります。
-
ゼロショット学習の設定では、馬を説明する意味情報 (たとえば、「馬は 4 本の足と長いつくしっぽを持つ動物です」) などの追加情報をモデルに提供する場合があります。モデルは次のとおりです。そして、この情報を使用して馬の画像を正確に識別することが期待されます。
一般に、オープンセット学習とゼロショット学習の主な違いは次のとおりです。
- ゼロショット学習では、モデルがそのカテゴリのサンプルを一度も見たことがない場合でも、そのカテゴリを認識できる必要があります。
- オープンセット学習では、モデルが既知のカテゴリと未知のカテゴリのサンプルを区別できることのみが必要です