Semi-Supervised Learning

半監督式學習

只有一小撮貼了標籤,剩下一大票都是文盲。
這是機器學習裡最省錢、最會「以少帶多」的一派。

—— 犬蔥評論 · 演算法省錢特輯

前面聊過:監督式學習要人工把每筆資料標好答案,貴又累;非監督式完全不用標,但常常學得心虛。半監督式學習說:小孩子才做選擇,我兩個好處都要一點。

它的設定超貼近現實——你手上有一小撮標好的資料(貴,所以少),外加一大坨沒標的資料(便宜,所以海量)。它的絕活就是:用那一小撮當種子,想辦法把知識「傳染」給那一大坨文盲,讓整體表現逼近「全部都標」的效果,但省下九成標註成本。

能這樣搞,靠的是兩個很樸素的假設:長得像的資料八成是同一類(平滑假設)、同一群人會自動聚成一團(聚類假設)。下面這五招,全都圍著這個中心思想打轉。

Five Methods · 以少帶多的五種招式

半監督式學習

同一個目標——讓沒標籤的資料也能出力——五個門派,五種「傳染」哲學。

01

自訓練

Self-Training
「自己教自己:先學一點,再拿自己最有把握的猜測當新教材。」

最直覺的一招。先用那一小撮標好的資料訓練一個模型,再讓它去猜那些沒標的。挑出最有信心的猜測,直接當成「真答案」加回訓練集,重新訓練,如此反覆滾雪球。

好處是任何模型都能套、簡單好用。風險也很誠實:一開始猜錯又自信滿滿,錯誤會越滾越大(確認偏誤),像一個學渣自學還越背越歪。所以「信心門檻」要設得夠嚴。

關鍵 只採納高信心預測、設好門檻,避免錯誤自我放大
02

偽標籤

Pseudo-Labeling
「先給沒標的資料發一張『暫定身分證』,一起丟進去練。」

自訓練的近親、深度學習圈的當紅炸子雞。模型對未標資料給出預測,把高信心的那些直接當成「偽標籤」,和真標籤混在一起訓練。差別在於它常常邊訓練邊生成偽標籤,和神經網路無縫接軌。

它是現代很多半監督演算法的基本零件。一樣要小心:偽標籤品質決定生死,通常會搭配信心門檻、或只在訓練後期才啟用。

關鍵 高信心才給偽標籤,常與資料增強、門檻策略搭配
03

協同訓練

Co-Training
「兩個模型從不同角度看資料,互相幫對方補課。」

如果資料能從兩種獨立視角來看(例如一個網頁,可以看「內文」也可以看「連結」),就訓練兩個模型各看一個視角。然後——A 最有把握的猜測拿去教 B,B 最有把握的拿去教 A,兩人互相補課、共同進步。

妙處在於:一個模型的盲點,剛好是另一個模型的強項,錯誤比較不會兩邊一起放大。前提是那兩個視角要夠獨立才靈。

關鍵 需要兩個充分且相對獨立的特徵視角(multi-view)
04

標籤傳播

Label Propagation
「把所有資料連成一張社群網,讓標籤像八卦一樣傳出去。」

這招走圖論路線。它把每筆資料當成一個節點,長得越像就連得越緊,織成一張大網。然後讓那一小撮已知標籤,順著網路的邊「擴散」出去——你的鄰居是貓,你八成也是貓,一傳十、十傳百。

它一次性看清資料的整體結構,特別擅長找出「同一團但沒標到」的資料。缺點是資料一大,那張圖就吃記憶體、也怕雜訊把錯誤標籤一路傳歪。

關鍵 建相似度圖,標籤沿邊擴散(含 Label Spreading 變體)
05

一致性正則化

Consistency Regularization
「同一張圖稍微加點雜訊,模型的答案也不准亂變。」

現代半監督(FixMatch、MixMatch 那一票)的靈魂招式。核心信念超簡單:一筆資料就算被輕微擾動(旋轉、加噪、遮一塊),它本質還是同一個東西,模型的預測就該保持一致

於是就算沒有標籤,也能拿「同一輸入的不同版本,輸出要一樣」當作訓練訊號,逼模型學到穩健、抓本質的特徵。這正是近年半監督效果突飛猛進的關鍵引擎。

關鍵 擾動不變性 + 資料增強,代表作 FixMatch / MixMatch
這五招看似各走各路,其實信的是同一句話:
「沒標籤的資料不是廢料,它們藏著資料的形狀。」
誰能把那個形狀讀出來,誰就能用一點點標籤,撐起一整片江山。
Reality Check

省了成本,但真的有效嗎?

半監督最怕的是「自我感覺良好」——用一堆偽標籤練得很開心,結果全是幻覺。這裡有幾個檢查點。

拿基準線對照

比比看:只用那一小撮標籤 vs 加了未標資料。有變好才算真的有用,否則是白忙。

偽標籤純度

若手上有驗證集,抽查生成的偽標籤對不對。偽標籤爛,整個模型跟著爛。

假設成不成立

「相似即同類、同類會聚團」若不成立(類別嚴重重疊),半監督反而可能幫倒忙。

獨立測試集

最終還是要用一批乾淨、有真標籤的測試資料驗收,確認它不是在自我催眠。