S4L, 是Self-Supervised Semi-Supervised Learning的縮寫。即將半監督學習和自監督學習結合起來的一種學習方式。
自監督學習,可以理解為沒有label,但是可以用數據集的特性創造出一些label來預測,從而學習到數據中的規律,所謂的規律在當前階段一般是指數據到embedding的轉換,比如Bert預訓練的時候就是自監督,mask一些詞語進行預測。
半監督學習,就是數據有label,但是label不全的時候的模型學習。這個topic也有很多算法變種,比如一種naive的方法如下:
可以通過在已標註數據上進行模型訓練,用得到的模型在無標註的數據上進行預測,把比較confident的預測值當做是無標註的數據的label,再進行訓練,以此類推。為什麼要有自監督學習和半監督學習呢?主要原因是純粹的監督學習需要大量的標註數據,但大量標註數據一方面成本很高,另一方面就是有很多場景沒有辦法標記。比如,youtube推薦了一組視頻,只有第一個被點了,相當於只有第一個有感興趣label,但其他的都算不感興趣嗎?未必,剩下的數據就無法有標記。
參考論文[1]提出了一種將半監督和自監督結合起來的方法。應用在半監督圖像分類學習中,能夠提升效果。
半監督+自監督半監督和自監督結合的方式就是目標函數的混合,如下所示,標註數據是Dl, 未標註數據是Du。在標註數據上直接分類即可,自監督學習也是一個分類任務,只不過是創造出來的,有兩種:
S4L-Rotation: 圖像翻轉,即預測圖像是翻轉90度,180度,270度還是0度S4L-Exemplar: 圖像變換等價性,即做多種變換操作後,圖像的embedding應該要基本保持不變。這裡使用triplet loss實現。而圖像的變換操作包括:random horizontal mirroringHSV space color normalization實驗表明,w=1是比較好。
在訓練中,理論上可以用不同的batch_size去計算Ll和Lu。但為了方便,使用了同樣的batch_size。
在每個batch,還可以選擇是否將Dl也加入到Lu的計算中來。
對於自監督學習,圖像翻轉任務每次產生4個圖像,圖像變換任務則每次產生八張圖像。實驗表明,將產生的這些圖像全都參與到訓練中來,效果會好。
下圖是當自監督學習任務為旋轉任務時的圖示:
半監督baseline半監督的baseline包括下面兩種方法:
Virtual Adversarial Training(VAT): 核心思想是當輸入有擾動的時候,預測值應該有魯棒性。公式如下:Conditional Entropy Minimization(EntMin): 這個方法是假設無標註數據都應該有一個很confident的label,因此,可以通過最小化條件熵來達到這一點,公式如下。但在神經網絡的條件下,這個損失只需要調最後一層就可以很快最小化。所以,在當做baseline的時候,跟VAT在一起使用,同樣使用加權來組合loss。Pseudo Label: 即使用監督數據訓練模型來對未標註數據進行預測,將confident的預測加入到監督數據中重新訓練。實驗還有一種策略就是使用自監督的方式預訓練然後用半監督去fine-tune或者加一個線性變換層。這兩種也可以當做baseline。那麼效果如下:
最後,提出了一種大混合的方式將論文提到的技術全都應用上,即MOAM(Mix Of All Models)方法。具體步驟如下:
使用Rotation+VAT+EntMin來做訓練。相當於聯合訓練S4L-Rotation+VAT+EntMin損失。得到的結果如下:
結論論文的主要價值是展示了一種方法,即有一個設計的比較好的自監督任務,可以幫助提升半監督任務的效果。
參考文獻[1]. Zhai, X., Oliver, A., Kolesnikov, A., & Beyer, L. (2019). S4l: Self-supervised semi-supervised learning. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 1476-1485).進技術交流群請添加AINLP小助手微信(id: ainlper)關於AINLP
AINLP 是一個有趣有AI的自然語言處理社區,專注於 AI、NLP、機器學習、深度學習、推薦算法等相關技術的分享,主題包括文本摘要、智能問答、聊天機器人、機器翻譯、自動生成、知識圖譜、預訓練模型、推薦系統、計算廣告、招聘信息、求職經驗分享等,歡迎關注!加技術交流群請添加AINLPer(id:ainlper),備註工作/研究方向+加群目的。
閱讀至此了,分享、點讚、在看三選一吧🙏