LLM(大規模言語モデル)にそれまで一度も見たことのないことについて話しかけてみましょう。モデルは理解できるのでしょうか?これは知能の真価が問われるテストともよく言われます。訓練データなしに推論や一般化で学ぶモデルのことを、ゼロショット学習(zero-shot learning)と呼びます。
従来、AIモデルは巨大なラベル付きデータセットを必要としました。ゼロショット学習は、訓練データがない状態で即座に学習することを求めます。ただし、従来の訓練そのものの代わりではありません。ゼロショットは事前訓練済みモデルの応用範囲を拡張するために使われます。一度も見たことのない問題にAIを投げ込んでも、ゼロショットがあると優れたパフォーマンスを発揮できます。
この記事でゼロショット学習の仕組みや活用方法を詳しく解説します。
ゼロショット学習はどんな分野で使われている?
あなたは誰かに新しい視点で自分の仕事を見てもらったことがありますか?そんな時こそゼロショットの出番です。ゼロショット学習では、AIモデルは訓練なしで入力を処理し、見解を示します。これはさまざまな業界で有望な成果を生み出しています。未知のものをAIに処理させ、なんらかの結果を得られる——これがゼロショット学習の実例です。
- ヘルスケア: 珍しい、または前例のない疾患を診断する際に、モデルはゼロショット学習を利用して希少疾患などを診断します。このような場合、データは非常に限られているか存在しません。
- 製薬: これまで見たことのないデータを分析し、まだ存在しない化合物の効果を予測するのに利用できます。
- 自然言語処理: LLM(大規模言語モデル)は24時間体制で人々と会話しています。新語や個別の悩み相談にもゼロショットで推論・一般化して対応します。
- コンピュータービジョン・ロボティクス: モデルを現実世界で出会う全ての画像で訓練するのは事実上不可能です。新しい画像にも対応し、自律走行車は初めて見る交差点で止まり、ルンバは家具を避けます。
- エンタメ・クリエイティブ: ゼロショットにより、ユニークなゲームキャラクターを生み出せます。DALL-Eなどは誰も見たことのない新しいアートを生成します。
ゼロショット学習は世界中ですでに活用されています。AIの導入が進むほど、ゼロショットの応用範囲も拡大し続けるでしょう。
ゼロショット vs. 他のパラダイム
あなたは劣悪なマネジメントの下、まともな研修もなしに仕事をしたことがありますか?それ、”ゼロショット学習”の体験です。ゼロショット学習は「Nショット学習」と呼ばれる枠組みの一部です。Nはラベル付きサンプル数です。ゼロショットは「前例ゼロ」、つまり過去の訓練が全くありません。一方、伝統的な機械学習は膨大なラベル付きインプットを使います。
- ワンショット学習: 各クラスごとにラベル付きサンプルが1つだけで訓練します。
- フューショット学習: 少数のラベル付きサンプルでモデルを訓練します。
- 伝統的機械学習: 巨大なラベル付きデータセットでモデルを訓練します。ゼロショットとは真逆の考え方です。
- ゼロショット学習: モデルはこれまで全く見たことも教わったこともないものに直面します。丸投げ状態でも自力で学び、対応します。
ゼロショット学習は「現場に放り込まれてとにかくやりながら覚えよ」という実践型の学び方です。
従来型ゼロショット学習(ZSL)
役に立たない情報の山から、たった1つの実用的答えを導く技……それはLLMの得意分野です。LLMは従来型ZSLの典型例と言えるでしょう。これらのモデルは想像を絶する規模のデータで事前訓練されています。Wikipedia、SNS、本数千冊などなど。
AIを正式に訓練する際には、まず「クラス」が与えられます。例:馬について訓練するなら、馬の画像や資料を与えて「Horse」クラスを作ります。モデルは内部でルールや一般化を生成し、「horse」クラスに関連する情報を処理できるようになります。
充分な事前訓練を経ると、新たなデータから自分でクラスを作れます。たとえば「馬」で訓練したモデルにシマウマの画像を見せると、「縞模様の馬はシマウマだ」と推測できます。シマウマで訓練していなくても、「Zebra」クラスを内部で生成し、情報処理ルールを作り始めるのです。
このように大規模な事前訓練が必要なため、ZSLには高いコストがかかります。モデルがシマウマを理解できても、半分世界中のデータを使って訓練している!と言えるくらいです。効率的とは言いづらく、たとえばChatGPTにちょっとした質問をしたときも、膨大な事前訓練の恩恵で答えてくれていると知っておきましょう。
一般化ゼロショット学習(GZSL)
GZSLは、ZSLの考え方をさらに効率化したものです。GZSLでは、混沌(未知要素の同時投入)で学習プロセスをシンプルにします。複数の未知を同時に組み合わせて学習し、モデルが一般化を用いてクラスやルールを内部生成します。
例えば、「馬だけを事前訓練する」のではなく、「馬とシマウマが写った一枚の画像」と簡単なテキスト「この画像には数頭の馬とシマウマが写っています。シマウマは縞模様の馬です。」を与えるだけでどうでしょう?
この情報だけでモデルは馬クラス、シマウマクラスを作り出せます。
- 馬クラス: 縞模様のない馬たちを「馬クラス」に登録します。
- シマウマクラス: 簡単な説明としま模様の馬から「シマウマクラス」を作ります。
これなら訓練データは大幅に減ります。普通なら馬4頭のために最低16kb(1頭4kb)必要ですが、1枚の画像とテキストなら4kbで済みます。GZSLにより、より少量高品質データで素早く学習でき、小型モデル化も可能です。
ゼロショット学習の仕組み
仮想のLLMの脳内を覗いて、何が起きているのか見てみましょう。モデルはインプットデータを受け取り、自律的にルールやクラスを作ります。このプロセスを細かく見ていきましょう。
ラベル
事前訓練は学校のようなものです。モデルは情報処理や「考え方」の基礎を学びます。訓練が終わると、たくさんのラベル付きクラスとルールを覚えます。この段階で様々なラベルやクラスを与える役目は私たちにありますが、卒業後は自力で「学び方」を身につけています。
モデルはもう私たちがラベルをつけるまで待ちません。先ほどの馬とシマウマの例のように、自分でクラスを作り自動ラベリングします。これにより訓練コストを削減しつつ、モデル自身の自律性も養われます。
転移学習
モデルは推論を行います。例えば馬で訓練したモデルがシマウマを学習する場合、既存の馬クラスのルールを多くそのままシマウマクラスへ転用します。知識がモデル内部で転移されるのです。
たとえばGoogleのホテルデータをスクレイピングするモデルを訓練し、次にBooking.comのスクレイピングを教えます。Bookingの学習時、Googleで得た知見が大いに活きます。
推論
ゼロショット学習の核心は「推論力」です。訓練も経験もなしで新しい職場に放り込まれたとき、あなたはどうやって生き延びましたか? きっと理詰めや常識でうまくやったはずです。例えばAIに「See and Say」タイプのデータセットを与えます。「牛はモーと鳴く」のように、クラスごとにルールを書きます。
しかしAIが成長したら、もう細かくルール付けする必要はありません。たとえばキャプションが「cluck」や「羽」などぶっきらぼうな鶏の画像を見せても、事前訓練済みモデルならそこから「鶏」だと推測したり、鶏クラスを生成し始めます。このとき、モデルは常識に近い推論能力でさまざまな現実的な問題を解決します。
事前訓練済みファンデーションモデル
モデルのスタートは人間の赤ちゃんそっくりです。最初は無力で何もできません。ゼロショット学習のためには、まず事前訓練で「学び方」を身につける必要があります。
人間もまずミルクの飲み方、固形食を噛むこと、起き上がることから始めます。1歳ごろには歩く・話す、といった次の段階へ。AIモデルはまず算数、言語処理といった基本概念を学びます。その後データ受け入れを学習します。
データの扱い方が分かれば、ありったけのデータを与えます。やがてモデルは自分でクラスを読み書きし、一般化→推論と能力を進化させていきます。しっかりした事前訓練があってこそ、ゼロショット学習で自律的な学習が可能になるのです。
ゼロショット学習手法
外から見ればゼロショット学習は魔法のようですが、実際は特有の技術によって成り立っています。生データを実際の答えへ変換する仕組みを見ていきましょう。
属性(アトリビュート)
モデルがさまざまな動物を見分けるためには、「属性」が役立ちます。属性は動物の特徴のことです。モデルは画像の動物をその特徴から推測します。
- 馬: いななき、4本脚、蹄。
- 鶏: コケコッコー、2本脚、翼。
- 牛: モー、4本脚、蹄。
属性を使うことで、機械も人間のように「推測」できるのです。
エンベディング
機械は私たちのようにデータを見ません。数値データ(マトリックス)として持っています。馬・鶏・牛の属性を数値で表現してみましょう。
Animal Sound Legs Features
Horse Neigh 4 Hooves
Chicken Cluck 2 Wings
Cow Moo 4 Hooves
各行はリスト化できます。
- 馬:
[Neigh, 4, Hooves]
- 鶏:
[Cluck, 2, Wings]
- 牛:
[Moo, 4, Hooves]
しかしこれではまだ機械が処理しやすいとは言えません。そこで属性をそれぞれ数値エンコードします。「いななき = 1」「コケコッコー = 2」「モー = 3」、特徴は「蹄=1」「翼=2」としましょう。
- 馬:
[1, 4, 1]
- 鶏:
[2, 2, 2]
- 牛:
[3, 4, 1]
このように数値で埋め込むことで、AIは関係性やルールを効率よく発見できます。これが一般化や推論力の基盤となります。詳細はエンベディング解説へ。
生成的手法
モデルは新しいクラスを“無”から創出できます。生成的手法(Generative)は、埋め込み属性の関係性を見て結論を導きます。訓練していない状態でもゼブラ(シマウマ)を見抜いたのは生成的推論です。しま模様の馬を見て「これはシマウマである」と新しい結論を生み出したのです。
例えば「ホテルの評価」が無くても、AIは提供された他情報から新評価を生成できます。「大きなベッドとジャグジーが付いていれば5つ星」といった具合です。これは非常に強力な一方で、幻想(hallucination)が発生する危険も孕みます。
生成的手法を使う際は慎重さが必要です。例えばホテル評価を自動付与するのは便利ですが、もし「孔子が2025年に最後に書いたことは?」と聞くと、孔子は何千年も前に亡くなっていますが、AIはたいてい「分かりません」とは言わず、何かを生成して返してしまいます。
最近のAIは幻想対策が強化されています。よほど強く指示しない限り暴走しませんが、モデルが「自由に想像して良い」と伝えると、どこまでも奇抜な答えを作り出します。
コントラスティブラーニング(対照学習)
AIは訓練されずともネコとイヌの違いをどうやって識別するのでしょうか?その鍵はコントラスト(差異)にあります。イヌ、ネコも属性化しましょう。
- イヌ: ワンワン、4本脚、肉球
- ネコ: ニャー、4本脚、肉球
ほとんど同じですが「鳴き声」が異なります。モデルはこの差異を数値化・抽出して情報を整理します。ゼロショット学習により、モデルはエンベディングから対照情報を素早く見つけ出せるのです。
プロンプトエンジニアリング
プロンプトエンジニアリングは「AIへの問いかけ方」のノウハウです。書き方次第で思い通りの出力を誘導できます。以前のClaudeでのWebスクレイピング解説記事では、こんなプロンプトを使いました。
""“Hello, please parse this chunk of the HTML page and convert it to JSON. Make sure to strip newlines, remove escape characters, and whitespace: {response.text}”""
明確な指示によって、モデルはページから引用文リストを返します。例えば次のJSONの抜粋です。
“quotes”: [
{
“text”: “The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.”,
“author”: “Albert Einstein”,
“tags”: [“change”, “deep-thoughts”, “thinking”, “world”]
},
{
“text”: “It is our choices, Harry, that show what we truly are, far more than our abilities.”,
“author”: “J.K. Rowling”,
“tags”: [“abilities”, “choices”]
}
]
データ形式を明示しなければ出力はプレーンテキストだけになるでしょう。プレーンテキストは人間が読むには十分でも、プログラム用途にはJSONが好ましいですね。モデルはこちらの意図通りに出力してくれます。プロンプトエンジニアリングで生成的出力を調整し、正確で整った結果を引き出すことができます。
ゼロショット学習の課題・限界
ゼロショット学習には代償もあります。先述の通り、幻想(hallucination)が発生しやすいです。AIモデルは「知りません」「分かりません」とはなかなか言いません。
幻想防止のため、事前訓練に大きく依存します。訓練データは高価で、かつ雑多なケースが多いです。もし自分でデータを集めるならETLパイプライン(Extract, Transfer, Load)が必要です。ETLは超大規模データの収集・クレンジング・投入プロセスで簡単ではありません。
私たちBright Dataでは、クリーンな既成データセットを用意しています。これにより事前訓練の質と効率を劇的に上げることができ、抽出や加工にかかる時間も大幅短縮できます。ぜひ弊社構造化データセット一覧もご覧ください。
まとめ
ゼロショット学習は、事前訓練なしでも新情報を処理できるAIの時代を切り開いています。今後、AI導入がさらに拡大するにつれ、この技術の重要性は高まる一方でしょう。
高品質データであなたのAIをさらに進化させませんか?Bright Dataの無料トライアルで一流データセットを体験できます!
クレジットカードは必要ありません