學習範式
單樣本學習(one-shot learning)
/ WUN-shot LER-ning /
你和一位同事只見過一面,第二天就能在熙攘的房間裡一眼認出他的臉。見這一面就夠了。單樣本學習就是它的機器版:只憑恰好一個例子,就學會認出或處理一個新類別。它是少樣本學習的極端角落——有意義的最小例子數,就一個。
從零開始僅憑一個例子學習是不可能的,所以單樣本系統靠的是比對,而非死記。它們問的不是「這是哪一類?」,而是學著問「這和我被展示過的那一個參照,有多相似?」一種常見設計是孿生網路:同一個網路的兩份副本,把每個輸入各自變成一個緊湊的表示,系統則在大量其他資料上訓練,好把相似的東西擺得近、不同的東西拉得遠。如此一來,一個參照樣本就夠了;新輸入只需按距離去和它匹配。
人臉辨識解鎖和簽名核驗,通常正是這麼工作的:錄入一張照片或一個簽名,然後比對。它能憑一個例子奏效的原因,又一次在於此前已經完成的全部學習——網路早已懂得是什麼讓臉孔相似或相異。要誠實地說說它的邊界:一個例子幾乎說不清一個類別能有多大變化,因此單樣本系統很容易被異常的角度、光照或貨真價實的「撞臉」騙倒。它的可靠並不來自那唯一的例子,而來自底下那個強大的表示。
手機的人臉解鎖,只錄入你臉部的一張參照掃描。每次你看向手機,它把新影像轉成一個表示,再量它與你錄入那張之間的距離。足夠近,就解鎖。它從沒拿你成千上萬張照片去「訓練」過——一張參照,加上一個預訓練好的相似度模型,就辦成了事。
靠與一個參照的相似度來匹配,背後是事先學好的表示。
一個例子說不清一個類別會有多大變化,所以單樣本系統在異常角度、光照或真正的「撞臉」面前會失靈。力量藏在事先訓好的相似度模型裡,而非那個孤零零的例子。
又稱
另見