學習範式

自監督學習(self-supervised learning)

/ self-soo-per-VIZED LER-ning /

把句子裡的一個詞遮住——「貓坐在那塊___上」——然後讓學習者把它補出來。要補得好,它就得弄明白語法、含義,乃至世界運轉的方式,儘管從頭到尾沒有任何人寫下過一個答案。這正是自監督學習的訣竅:資料悄悄地監督了它自己。機器遮住自己輸入的一部分,再訓練去把它還原,於是從原始資料中源源不斷地造出練習題。

從技術上講,自監督學習是一種在無標籤資料上做「類監督」訓練的巧辦法。你定義一個「前置任務」——預測被遮住的詞、猜出影片的下一幀、判斷兩塊裁剪是否來自同一張照片——其正確答案可以直接從資料本身讀出來。因為標籤是免費且自動生成的,你便能在海量的文字、影像或音訊上訓練。模型其實並不真在乎自己擅不擅長填空;那樁苦差事只是逼它建立起豐富的內部表示,而這些表示能遷移到你真正關心的任務上。

這正是當今大型語言模型和許多視覺系統背後的引擎:先用一個自監督目標在汪洋般的無標籤資料上預訓練,再在一小批帶標籤的資料上為真實任務做微調。要誠實地說說它的邊界:設計一個好的前置任務是門手藝;預訓練在算力和能耗上極其昂貴;而且模型可能把前置任務玩得很溜,卻仍把原始訓練資料裡的偏見與錯誤一併吸收了進去。

遮罩語言建模:取「巴黎是[MASK]的首都」,刪掉「法國」,再訓練模型把它預測出來。在數十億個句子上重複這一過程。沒有任何人標註過任何東西——被刪掉的詞就是它自己的答案——可模型出爐時,已對語言和事實知道了一大堆。

被遮住的詞,就是那個免費又自動的標籤。

自監督學習是無監督學習的一個子類:兩者都用無標籤資料,但自監督會從資料裡自造答案卡,從而把問題重新變回普通的監督式訓練。

又稱
self-supervisionSSL自监督学习自監督學習