學習範式
少樣本學習(few-shot learning)
/ FYOO-shot LER-ning /
給一個孩子看兩三張斑馬的圖片,從此他就能一輩子認出斑馬。他不需要一萬個例子,因為他早已懂得動物、條紋和形狀——這個新概念,恰好嵌進了他原本就豐富的理解裡。少樣本學習追求的正是這個:只用一小把例子——常常每個類別僅一到五個——就教會模型一個新類別或新任務。
訣竅在於,真正的重活早先就幹完了。少樣本系統是搭在一個已經廣泛學習過的模型之上的——透過預訓練、自監督學習或元學習——因此它身上帶著強大的通用表示。有了這層底子,幾個例子就足以「指向」那個新事物,而不必從零去「定義」它。在大型語言模型裡,這常表現為「上下文內」的少樣本學習:你把幾個例子直接放進提示裡,模型當場就領會了規律,連一個權重都不用改。
在帶標籤資料稀缺或昂貴的地方——罕見病、小眾語言、照片寥寥的新產品——它確實威力不小。但要誠實地說清它為何奏效:它並非從無到有地學,而是死死地倚靠先前學到的一切。如果新任務落在基礎模型已有理解之外,幾個例子也救不了它。而且例子如此之少,結果會很「吵」——你恰好挑中的是哪一小把,往往會讓結果大幅擺動。
你想讓一個語言模型把客服工單分成「帳單」「故障」或「功能請求」三類。你不去微調,而是在提示裡寫下三個帶標籤的例子——每類一個——再跟上那條新工單。模型從這三個例子裡讀出規律,就把新工單正確地歸了類。這就是少樣本的、上下文內的學習,全程無需重新訓練。
提示裡幾個例子就教會了任務,權重紋絲不動。
少樣本學習並非從零開始學——它大量借用了廣泛的先驗訓練。如果任務落在基礎模型已知範圍之外,再多幾個例子也補救不了。
又稱
另見