零樣本學習

零樣本學習（zero-shot learning，簡稱：ZSL）3是機器學習中的一種問題設定，指模型在沒有目標類別或目標任務標註樣本的情況下，對這些「未見」類別或任務作出預測。經典零樣本學習通常以類別為單位劃分訓練和測試：訓練集只包含「見過類」（seen classes）的標註樣本，測試階段則要求模型識別訓練時沒有出現過的「未見類」（unseen classes）。為了實現這種遷移，模型通常需要藉助類別屬性、文本描述、詞向量、知識圖譜或其他語義表示，把訓練類別和測試類別聯繫起來。

零樣本學習與小樣本學習、單一樣本學習相近，但含義不同。少樣本學習要求模型只用少量標註樣本完成新任務，單樣本學習通常只給出一個樣本；零樣本學習則不向模型提供目標類別的標註樣本。在大語言模型和提示工程語境中，零樣本也常指提示詞只說明任務，不給出示例；若提示詞包含一個或多個示例，則通常稱為單樣本或少樣本提示。

## 概念與問題設定

在經典分類問題中，模型訓練時已經見過所有候選類別，測試樣本只是在同一標籤空間內作出歸類。零樣本學習則把標籤空間分成訓練類別和測試類別，二者沒有交集。零樣本圖像識別可以概括為訓練集包含樣本及其可見類別標籤，測試集則來自不可見類別，且可見類別集合與不可見類別集合不相交，最終分類器需要把輸入樣本映射到不可見類別。

這種設定的核心困難在於，模型不能單純依靠目標類別的訓練樣本學習決策邊界，而必須利用輔助語義信息進行遷移。例如在動物圖像識別中，訓練集中可能沒有「斑馬」的圖像，但類別描述中包含「有條紋」、「四足動物」、「類似馬」等屬性。模型若已經從其他動物類別中學會這些屬性和視覺特徵之間的關係，就可能在沒有斑馬訓練圖像的情況下識別斑馬。

## 發展

零樣本學習的思想與遷移學習、語義表示和弱監督學習關係密切。2008年前後，自然語言處理和機器學習研究中已經出現「零數據學習」（zero-data learning）和「無數據分類」（dataless classification）等相關表述。當年發表的的零數據學習研究，討論了在某些類別或任務沒有訓練數據、只有任務描述的情況下進行學習的問題。同年的的無數據分類研究則嘗試藉助語義表示和外部知識，在沒有標註訓練數據的條件下完成文本分類。

2009年的論文《Zero-Shot Learning with Semantic Output Codes》中系統使用了「zero-shot learning」一詞，提出以語義輸出編碼連接已見類別和未見類別。同年的論文提出通過類別屬性遷移來檢測未見物體類別，成為電腦視覺中零樣本學習的重要早期工作。此後，零樣本學習逐漸形成以屬性學習、視覺—語義嵌入、生成式模型和廣義零樣本學習為代表的多條研究路線。

## 方法

零樣本學習方法通常需要建立樣本特徵與類別語義之間的聯繫。早期視覺識別研究常採用人工定義的屬性，如顏色、形狀、部件、紋理和行為特徵。模型在訓練類別中學習圖像特徵與屬性之間的對應關係，再根據未見類別的屬性描述作出判斷。這一路線具有較強可解釋性，但屬性標註成本較高，也容易受到屬性設計質量的限制。

另一類方法把圖像、文本或類別標籤映射到共同的語義空間。常見語義空間包括人工屬性空間、詞向量空間、句向量空間和知識圖譜嵌入空間。模型可以學習從視覺特徵到語義空間的映射，也可以學習從語義描述到視覺特徵空間的映射，或直接學習兩者之間的兼容性函數。在深度學習興起後，研究者還提出了生成式零樣本學習方法，用生成對抗網絡、變分自編碼器等模型合成未見類別的特徵，再把零樣本問題轉化為常規監督分類問題。

傳統零樣本學習通常假定測試樣本全部來自未見類別，但真實應用中，測試樣本可能同時來自見過類和未見類。為此，還有研究中又提出「廣義零樣本學習」（generalized zero-shot learning）。在這一設定下，模型需要同時區分見過類和未見類，且常出現偏向見過類的現象，因為見過類擁有真實訓練樣本，而未見類只有語義描述。Xian等人指出，零樣本學習長期存在數據集劃分、評測協議和比較標準不統一的問題，並提出統一評測方案和新的數據集劃分。

## 應用

零樣本學習最常見的應用領域之一是電腦視覺，包括圖像分類、物體檢測、動作識別和場景識別。其價值主要體現在長尾類別、稀有類別和標註成本高的場景中。例如，某些動植物、醫學影像類別或工業缺陷類型難以收集足夠樣本，零樣本學習可以嘗試利用類別描述和相近類別知識完成初步識別。

在自然語言處理中，零樣本學習常用於文本分類、情感分析、主題識別和跨領域遷移。零樣本文本分類可轉化為自然語言推理問題，即給定一段文本和一個候選標籤，把「這段文本屬於某標籤」視為假設，再判斷文本是否蘊含該假設。Hugging Face等平台也把零樣本文本分類列為自然語言處理任務之一，說明模型可在沒有針對目標標籤重新訓練的情況下，根據提示和候選標籤完成分類。

零樣本學習也被用於金融文本分析。2023年，兩篇研究論文測試了ChatGPT在金融相關任務中的表現。一項任務要求其判斷美聯儲聲明偏鷹派還是偏鴿派，另一項任務要求其判斷公司新聞標題對股價的潛在影響。報導指出，ChatGPT可在未專門訓練的情況下完成類似任務，其中關於美聯儲文本的研究顯示，這種零樣本學習表現已超過此前技術，而利用具體樣本進行微調後效果進一步提高。

## 大模型與多模態模型中的零樣本學習

隨著預訓練語言模型和多模態模型發展，「零樣本」一詞的使用範圍進一步擴大。在GPT-3論文中，模型使用方式分被為微調、少樣本、單樣本和零樣本等形式。零樣本設置下，模型只接收任務說明，不接收示例，也不進行梯度更新；少樣本設置下，模型則在上下文中接收少量示例。這種用法更強調模型通過自然語言提示理解任務，而不一定要求訓練類和測試類在傳統分類意義上完全不相交。

在多模態學習中，OpenAI提出的CLIP模型通過大量圖像—文本對訓練視覺模型，使模型能夠用自然語言標籤或提示完成圖像分類。OpenAI官方說明稱，CLIP可以把候選類別寫成文本提示，再比較圖像與文本的匹配程度；在沒有使用ImageNet全部標註樣本進行專門訓練的情況下，CLIP的零樣本ImageNet表現可接近原始ResNet-50。論文《Learning Transferable Visual Models From Natural Language Supervision》也將這種做法描述為利用自然語言監督實現可遷移視覺模型，並在多個數據集上評估零樣本遷移能力。

大語言模型中的零樣本提示還可通過提示詞設計提高表現。在問題後加入「Let's think step by step」等提示，可在不給出人工示例的情況下提升大型語言模型在若干推理任務上的表現，這類方法通常稱為零樣本思維鏈提示。

## 局限

零樣本學習依賴輔助語義信息，因此語義描述的質量會直接影響模型表現。若未見類別的屬性描述過於粗略，或語義空間與視覺、文本特徵之間存在較大差距，模型容易發生誤判。視覺零樣本學習中還常見「語義鴻溝」「投影偏差」（Projection bias）和「樞紐點問題」（Hubness problem）等現象，即模型在高維語義空間中偏向少數類別，或把樣本投射到與真實類別不一致的位置。

評估零樣本學習時還需要注意數據洩漏和預訓練影響。大規模預訓練模型可能在訓練階段已經接觸過測試類別名稱、圖像、文本描述或相近任務，因此「零樣本」結果並不總是等同於完全沒有先驗接觸。Xian等人指出，不同論文使用的數據劃分和評測協議可能不同，導致結果難以直接比較。在大語言模型和多模態模型中，提示詞措辭、候選標籤寫法和模型偏見也可能顯著影響零樣本結果。OpenAI在CLIP說明中指出，CLIP在計數、細粒度分類和複雜視覺任務上仍有局限，並可能繼承訓練數據中的社會偏見。