自監督學習

自監督學習（self-supervised learning，縮寫：SSL）是機器學習中的一種學習範式，指模型在沒有人工標註標籤的情況下，從輸入數據本身構造監督信號，並通過這種自動生成的任務學習可遷移的表示。自監督學習通常被視為無監督學習的一類，但訓練過程又具有監督學習的形式。及模型會根據數據內部結構生成目標標籤，例如預測被遮蔽的詞、還原被遮擋的圖像塊、判斷兩個增強視圖是否來自同一圖像，或預測音訊片段中被遮蔽的潛在表示。

自監督學習的目標通常不是直接完成預訓練時設置的任務，而是藉助這些任務學習通用特徵，再遷移到圖像分類、目標檢測、語音識別、機器翻譯、問答、推薦系統、醫學影像分析和圖表示學習等下游任務。隨著大規模預訓練模型、Transformer、大語言模型和視覺基礎模型的發展，自監督學習成為深度學習中利用大規模未標註數據的重要方法之一。

## 概念

自監督學習的典型流程包括兩個階段。第一階段是預訓練，模型在沒有人工標籤的數據上完成「預設任務」（pretext task），並在這一過程中學習數據的結構特徵。第二階段是遷移或微調，預訓練得到的模型或表示被用於「下游任務」（downstream task），下游任務可以使用少量標註數據，也可以通過線性分類器、提示詞或其他方式評估表示質量。

自監督學習和監督學習的區別在於監督信號來源不同。監督學習依賴人工標註或外部標籤，而自監督學習的標籤由數據自身導出。例如，在文本中遮蔽一個詞後要求模型預測原詞，在圖像中遮住若干圖塊後要求模型重建缺失部分，或把同一張圖像的兩個隨機增強版本視為正樣本對。自監督學習和半監督學習也不同，半監督學習通常同時使用標註數據和未標註數據；自監督學習的預訓練階段可以完全不依賴人工標註，但在下游任務中仍可與監督微調結合。

## 方法

自監督學習方法常按訓練目標分為生成式、對比式以及二者結合的方法。生成式方法要求模型根據部分輸入生成或重建目標內容，常見形式包括自動編碼器、去噪自動編碼器、語言模型和遮蔽建模。BERT使用遮蔽語言模型和下一句預測進行預訓練，其中遮蔽語言模型要求模型根據左右文預測被遮蔽的詞元。Google Research在開源BERT時將其描述為一種自然語言處理預訓練技術，可在大型文本語料上訓練通用語言理解模型，再遷移到問答等下游任務。

在電腦視覺中，生成式方法還包括遮蔽圖像建模。遮蔽自動編碼器（Masked Autoencoders，MAE）隨機遮蔽輸入圖像的大量圖塊，只把可見圖塊送入編碼器，再通過解碼器重建缺失像素。該方法把自然語言處理中遮蔽建模的思想遷移到視覺領域，並顯示出隨模型和數據規模擴大而提升的能力。

對比式方法通過拉近相關樣本表示、拉遠不相關樣本表示來學習特徵。常見做法是對同一數據樣本生成兩個或多個增強視圖，把同源視圖作為正樣本，把其他樣本或視圖作為負樣本。對比預測編碼（Contrastive Predictive Coding，CPC）通過在潛在空間中預測未來表示來學習跨模態特徵。SimCLR通過組合數據增強、投影頭、對比損失、大批量訓練和更長訓練時間，顯著提升了視覺自監督表示學習效果。MoCo則把對比學習視為字典查詢問題，通過隊列和動量編碼器維持大而一致的負樣本字典。

部分方法不依賴顯式負樣本，而通過聚類、自蒸餾、冗餘約束或停止梯度等機制避免所有樣本坍縮到同一表示。這類方法試圖保留對比學習的表示能力，同時減少大批量負樣本或複雜記憶庫帶來的成本。圖數據中的自監督學習還會利用節點屬性、邊結構、子圖、隨機遊走或圖增強構造預設任務，可分為對比式、生成式和預測式等路線。

## 發展

自監督學習與早期的無監督表示學習、自動編碼器、語言模型和遷移學習有共同淵源。2010年代中期以後，深度學習研究者在電腦視覺中設計了多種無需人工標註的預設任務。空間上下文預測方法從未標註圖像中抽取圖像塊，要求卷積神經網絡預測一個圖塊相對於另一個圖塊的位置，從而迫使模型學習物體及其部件關係。拼圖任務把圖像切分並打亂，要求模型恢復圖塊順序，從而學習物體局部和空間結構。旋轉預測任務則通過判斷圖像被旋轉的角度來學習視覺特徵。

在自然語言處理領域，自監督學習隨大規模預訓練語言模型而廣泛應用。BERT通過遮蔽詞預測等任務學習雙向文本表示，GPT系列則主要通過給定前文預測下一個詞元來訓練自回歸語言模型。GPT-3論文把大規模語言模型的訓練和推理能力聯繫起來，顯示預訓練模型可在無梯度更新的條件下，通過提示和少量示例完成多類任務。這類語言模型的預訓練目標通常不需要人工標註，但其下游使用方式可以是零樣本、少樣本、監督微調或強化學習微調。

2020年前後，對比學習成為視覺自監督學習的重要方向。SimCLR和MoCo等方法縮小了自監督預訓練與監督預訓練在多個視覺任務上的差距。2021年，Meta AI發布SEER，稱其為十億參數規模的自監督電腦視覺模型，可從網際網路上隨機圖像集合中學習，而不需要傳統電腦視覺訓練中大量人工清洗和標註。《Wired》同年報導，SEER使用超過十億張Instagram圖像進行訓練，並以較少標籤完成圖像識別任務，反映出自監督視覺學習在大規模未標註數據上的應用潛力。

## 應用

在自然語言處理中，自監督學習是大規模語言模型和文本編碼器的基礎訓練方式之一。遮蔽語言模型、下一詞預測、句子關係預測和去噪自編碼等任務使模型能夠從大規模文本中學習語法、語義和上下文表示，再遷移到問答、文本分類、資訊檢索、機器翻譯、摘要和對話系統等任務。

在電腦視覺中，自監督學習用於圖像分類、目標檢測、語義分割、影片理解和多模態表示學習。視覺自監督預訓練可減少對人工標註的依賴，尤其適用於長尾類別、稀有缺陷、醫學影像和遙感圖像等標註成本較高的場景。視覺模型常通過遮蔽圖像建模、對比學習、聚類、自蒸餾或預測時空關係學習特徵，再在有標註任務上微調。

在語音處理領域，自監督學習可以直接利用未轉寫音訊。wav2vec 2.0在潛在空間中遮蔽語音表示，並通過對比任務預測被遮蔽片段，使模型在較少轉寫數據下完成語音識別。HuBERT則使用聚類得到的隱藏單元作為預測目標，並只在遮蔽區域計算預測損失，從而學習聲學和語言層面的表示。

圖神經網絡、推薦系統、生物資訊學和異常檢測也使用自監督學習。圖自監督學習可以通過節點屬性預測、邊預測、子圖對比、圖結構重建和圖增強一致性學習節點、邊或整圖表示。

## 評估

自監督學習模型常用線性評估、微調評估、遷移評估和少標籤評估來衡量表示質量。線性評估通常固定預訓練模型參數，只在其輸出特徵上訓練一個線性分類器，用於測試表示本身是否具有可分性。微調評估則把預訓練模型作為初始化，在下游標註數據上更新全部或部分參數。遷移評估關注模型在不同數據集、不同任務或不同領域中的泛化能力。

在視覺領域，ImageNet線性分類、PASCAL VOC目標檢測、COCO檢測與分割等任務常被用於比較自監督方法。SimCLR報告的線性評估結果顯示，自監督表示在ImageNet上可接近監督式ResNet-50；MoCo還強調預訓練表示向檢測和分割任務遷移時的表現。在語音領域，語音識別的詞錯誤率、低資源標註條件下的性能和跨語料遷移能力常被用作評估指標。

## 局限

自監督學習降低了人工標註需求，但並不等同於完全無成本學習。大規模預訓練通常需要大量數據、算力和工程資源；預設任務、數據增強、批量大小、優化器、溫度係數、遮蔽比例和模型結構等設計選擇都會顯著影響結果。對比學習還可能受到假負樣本、表示坍縮和數據增強偏差影響；生成式方法可能過度關注低層像素或局部重建，而未必學習到最適合下游任務的語義特徵。

數據質量也是重要限制。自監督學習雖然不需要人工標籤，但會繼承訓練數據的偏差、噪聲、重複樣本、版權風險和隱私問題。大規模網路文本、圖像或音訊數據中的社會偏見和錯誤信息可能進入模型表示，並在下游任務中表現出來。模型在預訓練數據和下游數據差異較大時還可能出現領域遷移不足，因此仍需要謹慎的數據治理、評估和校準。

## 與相關學習範式的關係

自監督學習與無監督學習關係密切，二者都可不依賴人工標籤；區別在於自監督學習通常顯式構造一個可優化的監督式預設任務。自監督學習也不同於自訓練（self-training）：自訓練通常先由已有模型給未標註數據生成偽標籤，再把偽標籤用於訓練；自監督學習的目標標籤則通常直接從輸入數據結構中產生。

自監督學習還與遷移學習和基礎模型密切相關。遷移學習強調把一個任務或數據集上學到的知識轉移到另一個任務；自監督學習則提供了一種不依賴人工標註的大規模預訓練方式。實際應用中，二者常結合使用：模型先通過自監督目標在大規模未標註數據上預訓練，再遷移到具體任務中進行監督微調、少樣本學習或零樣本提示。