ゼロショット学習の説明: ラベルのない機械学習の未来
公開: 2025-01-13ゼロショット学習 (ZSL) は、モデルがこれまで遭遇したことのない概念の結果を分類または予測できるようにすることで、機械学習 (ML) に革命をもたらし、大量のラベル付きデータを必要とする従来のアプローチからの脱却を示しています。このガイドでは、ZSL の仕組み、そのアプリケーション、少数ショット学習 (FSL) との比較、その課題と将来の可能性について説明します。
目次
- ゼロショット学習とは何ですか?
- ゼロショット学習の仕組み
- ゼロショット学習と少数ショット学習およびワンショット学習
- ゼロショット学習とゼロショットプロンプト
- ゼロショット学習の応用
- ゼロショット学習のメリット
- ゼロショット学習の課題
ゼロショット学習 (ZSL) とは何ですか?
ZSL を使用すると、機械学習モデルは、目に見えないカテゴリに関する特定のトレーニング サンプルを必要とせずに、それらのカテゴリについての予測を行うことができます。すべてのカテゴリを明示的に表現する必要があるラベル付きデータセットに大きく依存する従来の教師あり学習モデルとは異なり、ZSL は、セマンティック埋め込みや属性などの補助情報を活用して知識を一般化します。
たとえば、動物を分類するためにトレーニングされた教師あり学習モデルでは、それらを認識するために「犬」、「猫」、「シマウマ」のラベル付けされた例が必要ですが、動物の画像でトレーニングされた ZSL モデルは、「」のような記述的な属性に基づいてシマウマを識別できます。たとえ前の例に触れていなくても、「縞模様」と「馬のような」。このため、ZSL は、ラベルのない大規模なデータセットを含むタスクや、ラベル付きデータの収集が現実的ではない状況に特に役立ちます。そのアプリケーションは、コンピューター ビジョン、自然言語処理 (NLP)、ロボット工学などに及びます。
ゼロショット学習の仕組み
ZSL モデルはまず、大規模なラベル付きデータセットで事前トレーニングされ、ナレッジ ベースを作成します。モデルは、色、形状、感情などの特徴を含む補助情報をラベル付きデータから抽出します。
次に、これらの機能を使用して、データの目に見えるカテゴリ (またはクラス) 間の意味論的な関係をマッピングします。知識伝達と呼ばれるこのプロセスにより、ZSL モデルは、たとえば、アヒルとガチョウがどちらもくちばし、羽毛、水かきのある足を持っているため、それらが親戚であることを理解できるようになります。
最も一般的な手法は、属性ベースの ZSL、セマンティック埋め込みベースの ZSL、および一般化された ZSL です。以下、それぞれを検討していきます。
属性ベースのゼロショット学習
属性ベースの ZSL モデルは、コンピューター ビジョン タスクに最もよく使用されます。これらは、人間がラベル付けした画像のデータセットをトレーニングすることで機能します。ラベルは、ラベルを付ける人が有用であると考える属性で構成されます。画像ごとに、色、形、その他の特徴などの特徴を説明するテキストを適用します。
たとえば、画像分類では、「灰色」、「四本足」、「犬」などの属性がさまざまなカテゴリを表す場合があります。トレーニングを通じて、モデルはこれらの属性を特定のカテゴリに関連付けることを学習します。
モデルに何か新しいものの例 (これまで見たことのない種類の動物など) を示すと、モデルはトレーニングで見られたクラスと似ているが同じではないクラスを見ているかどうかを判断できます。
モデルが目に見えないカテゴリ (オオカミなど) に遭遇すると、「オオカミ」ラベルがトレーニングに明示的に含まれていない場合でも、学習したカテゴリに共有される属性を分析することによってクラスを推測できます。これらの人間が解釈可能な属性により説明可能性が向上し、モデルを新しいクラスに一般化できるようになります。
セマンティック埋め込みベースのゼロショット学習
このアプローチは属性ベースの ZSL に似ていますが、人間がトレーニング用の属性ラベルを作成する代わりに、モデルはトレーニング データのセマンティック埋め込みと呼ばれるものを生成します。これらのセマンティック埋め込みは、ベクトル (現実世界のオブジェクトを表す数学的方法) としてエンコードされ、埋め込み空間にマッピングされます。
埋め込みスペースにより、モデルは関連情報をより近くにグループ化することで、コンテキストに基づいた知識を整理できます。たとえば、意味論的特徴が共有されているため、「犬」と「オオカミ」のカテゴリは、「犬」と「鳥」のカテゴリよりも埋め込み空間内で互いに近くなります。これは、大規模言語モデル (LLM) が意味の埋め込みを使用して、意味が似ている同義語をクラスター化する方法と似ています。
モデルに目に見えないカテゴリ (「モデルがこれまで遭遇したことのない新しいデータ」の別の言い方) が与えられると、モデルはそれらの新しいクラスからのベクトルを同じ埋め込み空間に投影し、それらのベクトルとすでに知っているクラスのベクトルとの間の距離を測定します。について。これにより、モデルに未知の例のコンテキストが与えられ、既知のクラスと未知のクラス間の意味論的な関係を推論できるようになります。
一般化されたゼロショット学習
ほとんどのゼロショット学習手法は、1 種類のデータに基づいてモデルをトレーニングし、それを別の関連する問題に適用します。これが「ゼロ ショット」のアイデアです。モデルは、実際に新しいクラスに遭遇する前に、そのサンプルにさらされることはありません。
ただし、実際のアプリケーションは、必ずしも白か黒かがはっきりわかるわけではありません。 ZSL モデルを分類したいデータセットには、新しいクラスとともに既知のクラスのものが含まれている可能性があります。
問題は、従来の ZSL モデルでは、新しいクラスと使い慣れたクラスを混在させると、新しいクラスをすでに知っているものとして誤ってラベル付けするという強いバイアスが表示される場合があることです。したがって、トレーニングですでに確認されているクラスを含む可能性のあるデータセットに一般化できる ZSL モデルがあると便利です。
一般化 ZSL では、モデルは既知のカテゴリに対するバイアスを減らすために追加の手順を実行します。分類を実行する前に、まず問題のオブジェクトが既知のクラスに属するか未知のクラスに属するかを決定します。
ゼロショット学習と少数ショット学習およびワンショット学習
ZSL と同様に、少数ショット学習 (FSL) とワンショット学習 (OSL) により、深層学習モデルは最小限のデータ、または新しいデータなしで新しいタスクを実行できます。 3 つのアプローチはすべて、既知の例の特徴間の関係をマッピングして、未知の例のパターンを推測することに依存しています。彼らの主な目標は、データが不足している場合、または特定のタスク用に新しいモデルをトレーニングする時間がない場合に、現実世界のシナリオで効果的なモデルを作成することです。
主な違いは、新しいデータの処理方法にあります。
- FSL では、識別する必要がある新しいクラスの少数のラベル付きサンプルをモデルに提供することが含まれます。
- OSLはより具体的なケースで、モデルには新しいクラスのラベル付き例が 1 つだけ示されています。
FSL と OSL はどちらも、ZSL と比較して追加のトレーニング ステップが必要なため、新しいタスクの学習に必要な時間が長くなります。ただし、この追加のトレーニングにより、モデルの事前トレーニングされた知識から大幅に逸脱するタスクを処理できるようになり、実際の適応性が高まります。
ZSL は、新しいタスクにラベル付きのサンプルを必要としないため、「柔軟」であると見なされることもよくありますが、この柔軟性は主に理論上のものです。実際のアプリケーションでは、ZSL メソッドは次のような問題に直面する可能性があります。
- 既知の例と未見の例の組み合わせを含むタスク (例: 一般化された ZSL シナリオ)
- モデルのトレーニング データと大幅に異なるタスク
ZSL モデルは、事前トレーニングおよび評価中にデータセットがどのように分割されるかなどの要因にも敏感であり、パフォーマンスに影響を与える可能性があります。一方、FSL と OSL は、学習プロセスに新しい例を組み込むことで、タスクの適応にさらに実用的な柔軟性を提供し、さまざまなシナリオでより優れたパフォーマンスを発揮できるようにします。
ゼロショット学習とゼロショットプロンプト
ZSL は、さまざまな深層学習タスク用に設計されたモデル アーキテクチャの一種です。対照的に、ゼロショット プロンプトとは、ChatGPT や Claude などの LLM に、応答をガイドする具体的な例をプロンプト内に提供せずに出力を生成するよう依頼することを指します。どちらの場合も、モデルは、タスクに含まれる内容の明示的な例なしでタスクを実行します。
ゼロショット プロンプトでは、タスクに関連するサンプルをモデルに提供しません。代わりに、LLM の事前トレーニングされた知識に依存して、タスクを推論して実行します。
たとえば、レストランのレビューのテキストを入力し、参考として使用するサンプル レビューを提供せずに、LLM にそれを肯定的、中立的、否定的のいずれかに分類するよう依頼することができます。 LLM は事前トレーニングを利用して、レビューに適切なラベルを決定します。
ゼロショット学習とゼロショットプロンプトは、例なしでタスクを実行するという概念を共有していますが、重要な違いがあります。
- ゼロショット学習は、そのようなタスクのために構築されたモデル アーキテクチャの一種です。
- ゼロショット プロンプトは、LLM との対話に固有の手法であり、モデル アーキテクチャではありません。
ゼロショット学習の応用
ZSL は、深層学習モデルが新しいタスクに適応できるよう支援することに重点を置いているため、コンピューター ビジョン、NLP、ロボット工学など、ML の多くの分野にわたるアプリケーションを備えています。 ZSL は、ヘルスケア、感情分析、顧客サービス、文書翻訳、サイバーセキュリティなどに使用できます。
- センチメント分析:ニュース速報が発生すると、ゼロショット NLP モデルはパブリック コメントに対してセンチメント分析を実行し、ほぼリアルタイムで大衆の反応を確認できます。
- 多言語文書処理:英語の税務書類から情報を抽出するようにトレーニングされた NLP ゼロショット モデルは、追加のトレーニングなしでスペイン語の税務書類に対しても同じ抽出を実行できます。
- 医療診断:ZSL モデルは、視覚的な例がなくても、新型コロナウイルス感染症患者の X 線写真を識別するために使用されてきました。これらの識別は、現場で働く医師によって作成された、陽性 X 線がどのようなものであるかについてのテキストによる説明に基づいています。
- より微妙なチャットボット: ZSL NLP モデルは、人々とのチャット中にこれまでに遭遇したことのないスラングやイディオムを理解できるため、特に対応するように訓練されていない質問に対して、より有意義に応答できるようになります。
- 異常検出: ZSL をサイバーセキュリティで使用すると、ネットワーク活動の異常なパターンを検出したり、新たな脅威が出現したときに新しい種類のハッキング攻撃にラベルを付けることができます。
ゼロショット学習のメリット
従来の教師あり学習アプローチは、必要な大規模なデータセット、トレーニング時間、資金、計算リソースを考慮すると、多くの実世界のアプリケーションでは非現実的であることがよくあります。 ZSL は、これらの課題の一部を軽減できます。利点には、新しいモデルのトレーニングに関連するコストの削減や、データが不足している、またはまだ利用できない状況への対処が含まれます。
費用対効果の高い開発
教師あり学習に必要な大規模なラベル付きデータセットの取得とキュレーションには、費用と時間がかかります。高品質のラベル付きデータセットでモデルをトレーニングするには、サーバー、クラウド コンピューティング スペース、エンジニアのコストに加えて、数万ドルの費用がかかる可能性があります。
ZSL は、教育機関が追加のトレーニングなしでモデルを新しいタスクに再利用できるようにすることで、ML プロジェクトのコストを削減することが期待できます。また、小規模な組織や個人が、他人が構築したモデルを再利用することもできます。
希少なデータによる問題の解決
ZSL は柔軟性があるため、利用可能なデータがほとんどない場合、またはデータがまだ出現しつつある状況に適したツールとなります。例えば、情報がまだ広まっていない新たな病気の診断や、情報が急速に進化している災害時などに役立ちます。 ZSL は、データが大きすぎて人間のアナリストが処理できない場合の異常検出にも役立ちます。
ゼロショット学習の課題
ZSL は、カテゴリ間の意味論的な関係を理解して新しいカテゴリに一般化するために、事前トレーニング段階で高品質のトレーニング データを取得することに大きく依存しています。高品質のデータがないと、ZSL は信頼性の低い結果を生成する可能性があり、場合によっては評価が困難になります。
ZSL モデルが直面する一般的な問題には、すでにトレーニングしたタスクと異なるタスクに適応する際の困難や、まだ認識されていないクラスを予測する際に特定のラベルに過度に依存する原因となるトレーニング データの問題が含まれます。
ドメイン適応
ZSL モデルは、トレーニングされたものと大きく変わらないドメインからの新しいデータを処理するように求められた場合に最高のパフォーマンスを発揮します。たとえば、モデルが静止写真でトレーニングされている場合、ビデオを分類するのは困難になります。
ZSL モデルは、補助情報を未知のデータから既知のデータにマッピングすることに依存しているため、データ ソースがあまりにも異なる場合、モデルはその知識を新しいタスクに一般化する方法がありません。
ハブネスの問題
ZSL のハブネスの問題は、モデルが目に見えないカテゴリの予測を行うときに少数のラベルのみを使用し始めるときに発生します。これは、埋め込み特徴空間内の多くのポイントがクラスター化され、モデルを特定のラベルに偏らせる「ハブ」を形成するときに発生します。
これは、トレーニング データ内のノイズ、ある種類のデータの例が多すぎて他の種類のデータが不足している、またはモデルのセマンティック埋め込みが十分に明確ではないために発生する可能性があります。