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