Introduction to Semi-Supervised Learning
探索半監督式學習
半監督式學習(Semi-supervised learning,SSL)字面意義就如同採用一半的監督式學習(Supervised learning),以及一半的非監督式學習(Unsupervised learning)來設計的方法。然而實際上會遇到的問題往往是有大量的無標籤資料,為了使用較高準確率的監督式學習方法,而開始標記少量的資料。但標記資料牽涉到許多的問題,包括需要耗費各式成本,如何訂定統一的標準等等,都造成不易產生大量標記資料的原因。因此如何在有限的標記資料下,以及善用大量未標記資料來做目標任務成為了半監督式學習著重的目標。
Google 首席科學家 Vincent Vanhoucke 闡述了對半監督式學習發展的想像,提及一個典型的機器學習工程師遇到半監督式學習的處境時,處理的過程如下圖一所示:
- 當一開始完全使用監督式學習時,只能得到糟糕的結果,不如嘗試使用半監督式學習。
- 雖然數字上升了,但還是不盡理想,還是只能嘗試多點標籤資料。
- 標籤資料越多越好了,如果拋棄半監督式學習是否能更好。
- 似乎一開始盡力標記資料就好了。
(如圖二)要達到半監督式學習高於監督式學習的程度還需要一些新的突破,例如要如何讓數據加標籤的方法更加精準,將標籤誤差或雜訊都考慮進模型訓練的依據。
以下是近年來發展半監督式學習的大致方向
如何在未標籤的資料上獲得相對應合理的標籤,以及找到標籤資料與未標籤資料的共同特性,是發展各種方法的重點之一。
Proxy-label methods
此類的做法是利用現有標記資料訓練之模型,擷取未標籤資料的特徵並得到代理標籤(Proxy label),目標是讓所有的資料都能取得對應的標籤,進而訓練完整的模型於所有資料上。
如圖五,若現有的資料集為具有標籤影像,例如貓、狗、狐狸等等,另外有未標籤的動物影像,按照 Proxy-label 方法,則步驟是:
- 利用貓、狗、狐狸等等的影像利用監督式的方法訓練出一個模型。
- 利用步驟 1. 訓練好的模型,去預測未標籤的動物影像,則會得到一組類別的機率分布(若此動物影像具有貓的特徵,預期會得到屬於貓的機率較高)。
- 界定一個閾值(Threshold),若最高機率值超過此閾值,則將此影像的標籤定為最高機率的類別,藉此得到未標籤影像的標籤,也表示對此標籤足夠具有信心;若未超過閾值,則不賦予標籤。
- 從步驟 2. 得來的未標籤影像的類別機率分布或者從步驟 3. 得來的未標籤影像的標籤,與原始未標籤影像則可視為一組已標籤的資料,再與原始標籤資料合併重新訓練模型。
Consistency regularization
假設存在一真實擾動於資料上,則轉換至低維度空間中的結果也與原始資料不會有明顯的差異,如圖六。
Consistency regularization 這類的算法基於以上假設來做進一步的訓練的目標 — 最小化轉換資料與其經擾動後轉換資料間的距離,即是
如圖七,若現有的資料集是影像資料,按照 Consistency regularization 方法,則步驟是:
- 針對影像資料添加擾動,例如增加噪點、旋轉、翻轉等。
- 對所有資料藉由模型轉換至較低維度的空間。
- 最小化具擾動的影像與原始影像轉換至低維空間中的距離,以更新模型。
Generative methods
生成模型中 Autoencoder-based(自動編碼器,AE) 方法的目標是經過重建得到與本身一樣的資料,也就是要最小化重建與輸入資料間的距離,而此過程是不需要任何標記資料,為非監督式的學習(Unsupervised learning),得到重要的資訊是透過降維後所擷取出的特徵。經由訓練的過程讓降維後的特徵有足夠的訊息量來表示原始資料,進而加入標記資料做目標任務,即是監督式的學習(Supervised learning)。
另一種 GAN-based(對抗式生成網路,Generative adversarial network) 方法的目標是透過生成器(Generator)和判別器(Discriminator) 去做到生成以及判斷是否為生成,也無須資料標籤參與訓練。然而在目標任務上需要的標籤資料則大多會與判別器結合輸出,以達到半監督式學習(Semi-supervised learning)的訓練方法。
Self-supervision
自監督式學習(Self-supervision、Self-supervised learning)基於輔助任務(Pretext task)來提供訊息作為監督式學習的目標,通常是基於特定領域、對資料的共識、特性來設計的訓練過程。然而此過程中無須存在額外的標籤,而是以資料本身通過特定轉換作為目標,預先得到好的特徵表達式以至於能遷移到其他的目標任務上。
要得到好的特徵表達式就需要設計好的輔助任務(Pretext task),在圖像上常見的方法有旋轉(Rotation)、色彩化(Colorization)、修復(Inpainting)等,另外在文本中最有名的就是利用 CBOW 以及 Skip-gram,從中學習文字間的關聯性進而得到好的特徵表達式。
Graph-based SSL
圖(Graph)的方法中需要考慮的兩個步驟是,如何建構圖(Graph construction),以及如何做標籤的推論(Label inference)。然而在推論的方法中又分為 Regularization,以及 Embedding 的方式。
- Graph regularization
目標分為兩個部分,一個是經過轉換函式後得到的值要越靠近給定的標籤,另一個是轉換的函式要足夠平滑,也就是限制模型的複雜程度。
- Graph embedding
將圖中的各個節點編碼至一個較低的維度空間中,而原始節點間的位置以及結構能夠反應在這個空間中。
在半監督式學習當中有各式解決不同資料型態,不同問題的方法,以上所列出來的方法會在後續的文章中一一介紹其中較著名的技術。
參考資料
- Ouali, Yassine, Céline Hudelot, and Myriam Tami. “An Overview of Deep Semi-Supervised Learning.” arXiv preprint arXiv:2006.05278 (2020).
- Song, Z., Yang, X., Xu, Z., & King, I. (2021). Graph-based Semi-supervised Learning: A Comprehensive Review. arXiv preprint arXiv:2102.13303.
- Jing, Longlong, and Yingli Tian. “Self-supervised visual feature learning with deep neural networks: A survey.” IEEE transactions on pattern analysis and machine intelligence (2020).
- The Quiet Semi-Supervised Revolution