详解下一代神经网络-无监督对比学习框架SimCLR
?
背景
?
今天介紹下SimCLR,也是Hinton老爺子在今年提出的工作。首先介紹下為什么下一代神經(jīng)網(wǎng)絡(luò)需要無監(jiān)督對比學(xué)習(xí)。目前整個人工智能行業(yè)的落地,其實都依賴于監(jiān)督學(xué)習(xí)模式,無論是OCR、ASR、TTS、ImageDetection,如果沒有大量的標(biāo)注,是很難訓(xùn)練出商業(yè)化程度的模型的。這個模式需要被打破,因為世界上存在太多的未知場景,完全依賴人肉標(biāo)注是不行的。
所以未來無監(jiān)督學(xué)習(xí)大勢所趨。其實在這方面之前已經(jīng)有了一些工作,比如Bert模型,就可以基于大量的unlabeled數(shù)據(jù)訓(xùn)練,然后在小數(shù)據(jù)集上Fintune來取得效果。類似Bert這一類的訓(xùn)練模式叫做自監(jiān)督學(xué)習(xí)。這種模式在NLP領(lǐng)域會有比較好的效果,但是在圖像領(lǐng)域效果不明顯,因為圖像的數(shù)據(jù)表示會比語意復(fù)雜得多。
舉個簡單例子,“喜歡_ _ _ _的人都會關(guān)注凡人機(jī)器學(xué)習(xí)”,這句話雖然空了4個字,但是根據(jù)上下文不難猜出這4個字是“機(jī)器學(xué)習(xí)”。所以在NLP領(lǐng)域,自監(jiān)督是比較好實現(xiàn)的。但是在圖像方面,假設(shè)戴了墨鏡,你能根據(jù)一個人的鼻子、嘴和耳朵推測出這個人墨鏡后面的樣子么?所以圖像領(lǐng)域的無監(jiān)督學(xué)習(xí)要難的多。
SimCLR基本原理
?
?
SimCLR使用無監(jiān)督對比學(xué)習(xí)模式在圖像領(lǐng)域取得了突破性的成果,可以看下在ImageNet數(shù)據(jù)集的表現(xiàn)。
?
那SimCLR究竟是怎么實現(xiàn)的呢,我們分步驟介紹下,看下圖:
?
第一步:Augmentation
無監(jiān)督對比學(xué)習(xí)的本質(zhì)其實是讓模型通過不同的類別數(shù)據(jù)的對比學(xué)習(xí)出相同類別的屬性。所以為了增強(qiáng)同一類別的數(shù)據(jù)的特征表現(xiàn),需要做Augmentation,包含數(shù)據(jù)裁剪、翻轉(zhuǎn)、顏色轉(zhuǎn)換等。
第二步:CNN
可以選用CNN的Resnet網(wǎng)絡(luò),做數(shù)據(jù)的向量表示。Resnet也是最終的分類器模型。
第三步:MLP
通過MLP,也就是全連接層,可以學(xué)習(xí)出數(shù)據(jù)的非線性信息,是對上一步的一個增強(qiáng)。通過這一步的學(xué)習(xí)就可以得出同一類別數(shù)據(jù)的共同信息特點。如下圖所示:
第四步:Optimization
在Optimization這一步,Lossfunction的求法就是要讓相同類別的數(shù)據(jù)對比的Loss最小。比如同是來源于“貓”的圖片,他們之間的Loss需要很小,這個Loss的計算需要通過L(貓,貓)去除以L(貓,貓)+L(貓,其它類別)的和。
?
最終通過Loss去優(yōu)化CNN和MLP,CNN的輸出結(jié)果就可以作為最終的模型輸出結(jié)果了。
參考文獻(xiàn):
[1]https://ai.googleblog.com/2020/04/advancing-self-supervised-and-semi.html
[2]https://blog.csdn.net/u011984148/article/details/106233313/
?
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的详解下一代神经网络-无监督对比学习框架SimCLR的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅析人类最贵、最大的机器学习模型GPT-
- 下一篇: 开源在线机器学习Online Learn