1 為什么要自監督學習 self-supervised learning
自監督學習是無監督學習的一種特殊方式,我們在無監督學習中講過了,標注label是十分寶貴的,一般需要人工打標,時間和人力成本都十分高昂,但現實中,獲取無標注data確實相對比較easy的事情,我們可以在網路上爬取很多很多的文本、圖片、語音、商品資訊等,如何利用這些無標注data,一直以來都是無監督學習的一個重要方向,而自監督學習則給出了一種解決方案,
自監督學習通過data的一部分,來predict其他部分,由自身來提供監督信號,從而實作自監督學習,利用自監督學習,可以學到一定的文本或圖片的表征,從而有利于下游任務的展開,這就是pretrain-finetune

2 自監督學習實作方案
自監督學習實作方案主要有
- 利用部分data來重建整個data,這其實就是Denoising Auto-Encoder的一種,NLP方面BERT系列的Mask language model,和CV領域的影像還原In-painting,都是采用了這種方案
- CV領域的一些任務,比如將圖片分割為9塊,打亂后,進行拼圖,將圖片旋轉一定角度,然后predict旋轉的角度,
- 對比學習,比如word2vec,Contrastive Predictive Coding,SimCLR
3 NLP領域的自監督學習
各種NLP預訓練模型,就是利用自監督學習實作的,比如Elmo、GPT、BERT、XLNet、Electra、T5等,它們可以看做是一種去噪自編碼器denoising Auto-Encoder,

3.1 Auto-Encoder和Auto-regressive LM
它們又分為兩種
- 自編碼器Auto-Encoder,比如BERT所采用的Mask language model,它將sequence中的部分token,進行mask,然后讓模型對mask位置進行predict,它的優點是可以充分利用兩個方向的陳述句資訊,在分類、QA、NER等任務上表現很好,缺點是sequence中只有mask位置參與了predict,訓練效率較低,另外訓練時有mask,而下游任務fine-tune時沒有mask,導致兩階段不一致,
- 自回歸語言模型 Auto-regressive LM,嚴格來說MLM掩碼語言模型不能認為是一種語言模型,GPT等自回歸方式的模型才是真正的語言模型,它利用上文來預測下文的token,它在生成任務上表現較好,優點是pretrain和fine-tune兩階段一致,且sequence中每個位置均參與了predict,訓練效率很高,缺點是只能看到上文,無法看到下文,也就是單方向,大大影響了對陳述句的語意理解,
Auto-Encoder示例如下,它可以獲取兩個方向的背景關系,有助于語意理解

Auto-regressive LM示例如下,不論是從前到后,還是從后到前,均只能單向

3.2 XLNet和PLM
XLNet則結合了二者的優點,它提出了排序語言模型PLM(Permutation LM),它分為兩步
- 排序,將sequence中的token位置打亂,實操中沒有直接對token打亂,而是利用了attention mask
- 自回歸語言模型predict,由于token的位置打亂了,所以訓練語言模型時,可以獲取到下文的資訊了,有助于對整個sequence的理解,

4 CV領域的自監督學習
CV任務上,也很容易實作自監督學習
4.1 predict missing pieces
將圖片中部磁區域挖空,然后讓模型進行預測,使輸出能盡量還原輸入圖片,

4.2 Jigsaw Puzzles 拼圖游戲
將圖片分割為多個區域并打亂,然后讓模型將它還原為原始圖片,和拼圖游戲很像,

4.3 Rotation 旋轉
將圖片旋轉一定角度,讓模型預測旋轉了多少度,或者將圖片旋轉0、90、180、270度四種類別,讓模型預測旋轉的類別,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/34450.html
標籤:其他
