作者:人民中科研發(fā)中心張朝
摘要:在過去的很長時間里,計算機視覺領域依靠大規(guī)模的有標注數據集取得了很大的成功,特別是卷積神經網絡的應用,使得視覺各子領域實現了跨越式發(fā)展,學術界和工業(yè)界開始投入大量的研究和應用,一度使大家相信,人工智能的大廈即將建成。然而,最近關于自監(jiān)督學習(Self-supervisedLearning,SSL)、Transformer、MLP等在學術界的研究成為熱點,特別是Transformer和MLP的進擊,大有要將監(jiān)督學習和卷積結構拍死在沙灘上的節(jié)奏,作者相信,計算機視覺(CV)領域正在進入新的變革時代。
本文主要聚焦于CV領域自監(jiān)督學習的相關內容,包含基本概念,與視覺各領域的關系和應用,以及當前的進展和一些思考,關于具體的自監(jiān)督學習方法原理和技術有太多的文章進行解讀,本文暫不涉及,力求從其他角度去觀察自監(jiān)督學習的特點和當前的局限性,分析總結經驗,以求能給大家更多創(chuàng)新的想法啟發(fā)。由于作者本人也有很大的局限性,一些觀點不免有偏頗,還望各位大佬批評指正。
一、自監(jiān)督學習介紹
AAAI2020會議上,YannLeCun做了自監(jiān)督學習的報告,表示自監(jiān)督學習是人工智能的未來。從2019年底至今,MoCo系列,SimCLR,BYOL等一系列方法等井噴發(fā)展,通過無標注數據集達到了有標注數據集上的效果,幾乎所有的下游任務都獲得收益,使其成為了CV各領域的研究熱門。自監(jiān)督學習的優(yōu)勢,就是可以在無標簽的數據上完成訓練,而監(jiān)督學習需要大量的有標簽數據,強化學習需要與環(huán)境的大量交互嘗試,數據為王的時代,此特點也使得大家充分相信自監(jiān)督學習才是人工智能的發(fā)展方向。
自監(jiān)督學習是與大家熟悉的監(jiān)督學習和無監(jiān)督學習的新名詞,該類方法最早歸類于無監(jiān)督學習的范疇。關于自監(jiān)督學習的概念,Paperwithcode[1]給出的定義是,使用無標注數據用自我監(jiān)督的方式學習一種表示的方法,具體方式是通過學習一個替代任務(pretexttask)的目標函數來獲取特征表示。替代任務可以是一個預測類任務、生成式任務、對比學習任務。替代任務的監(jiān)督信息來源是從數據本身獲得的。舉個栗子,替代任務可以是圖片上色,圖片摳圖位置預測,視頻幀順序預測等。或者我們從結果反推方法,對于自監(jiān)督來說,數據本身是沒有標簽的,我們需要通過自行設計任務來確定數據的標簽。例如下圖[2]中把圖片中扣出9個塊,讓模型預測每個塊的位置,對每個塊自動構建標簽的過程就是生成標簽的過程,預測位置的工作就是替代任務。
圖1圖像塊相對位置預測
近來熱門且效果出色的自監(jiān)督模型MoCo系列、SimCLR等,除去BYOL和SimSiam舍棄了負樣本數據,基本都是采用正負樣本對間對比的方式來構建,BYOL和SimSiam也構建了兩個網絡間的對比形式,都屬于對比學習(ContrastiveLearning)任務的范疇,可以說,當前的自監(jiān)督學習的火熱就是對比學習自監(jiān)督方法的火熱。其基本原理,是采用Siamese形式的網絡結構,通過輸入正負樣本對數據,計算網絡兩個分支的輸出的損失,以使網絡能夠學習到可以將相似樣本拉近,不相似樣本拉遠的特征。自動構建標簽的過程,就是常用的各種數據增強方法,如下圖[3],原始圖采用隨機裁剪、顏色變換、模糊等方式構造相似樣本對,而不同的原圖或者增強后圖像即是非相似樣本對。訓練得到的對比學習網絡,在遷移到下游任務(分類、檢測、分割)等數據集時,表現達到了可以媲美監(jiān)督學習模型的效果。
圖2SimCLR使用的數據增強方法
基于對比的自監(jiān)督方法發(fā)展史如下圖所示,選取了幾個受關注較多的方法,時間截止2021年3月。Facebook和google兩家研究團隊神仙打架,對比學習框架逐漸去除掉一些技巧、結構,朝著中國哲學“大道至簡”這一概念前進。
圖3自監(jiān)督對比學習發(fā)展歷程
換一個角度思考,如果拋棄下游任務的finetune,只關注于替代任務的學習,那么自監(jiān)督學習就像一個大染缸,各種替代任務只要可以構造出來,將其嵌入到自監(jiān)督學習框架內,最終學習出來的特征和網絡,就具有了替代任務的判別性。由此,就像使用魔法一樣,我們就能夠實現對神經網絡能力的定制化改造。當前已經有不少研究成果發(fā)表,可以使用自監(jiān)督完成幀序列預測、視頻播放速度判斷、圖像旋轉方向預測等。
二、自監(jiān)督學習與其他領域的關系和思考
由于對比學習的強勁發(fā)展勢頭和其在自監(jiān)督領域中占有的絕對比重,本文接下來直接以對比學習代替自監(jiān)督學習的說法,在深挖對比學習框架過程中,發(fā)現其與CV的各領域其他方法如蒸餾學習、表示學習等有相似或關聯之處,下面將逐個討論。
1.對比學習和蒸餾學習
二者的網絡結構形式非常相似,同樣是雙路網絡結構,同樣是對于最終的雙路網絡輸出計算loss。不同的是,蒸餾學習往往是固定一個teacher網絡,student網絡規(guī)模要小于teacher,對比學習中,兩個網絡結構常常一致,并且是共同更新網絡參數,蒸餾學習中teacher網絡的參數固定。當然還有輸入、loss、參數更新等不同,但蒸餾網絡提供給了我們理解對比學習架構的另一種思考方式。在對比學習中常用的momentumupdate的更新方法和stopgradient技巧,可以理解成蒸餾學習的緩慢更新teacher版本和變體,由此我們可以將對比網絡理解成雙路網絡互相學習,左右互搏。甚至,論文DINO[4]中將網絡結構圖中的兩個分支直接寫成了teacher和student。
圖4DINO算法網絡結構
2.對比學習和表示學習
對比學習屬于表示學習的一種方法,通過對比學習獲得的特征,遷移到下游任務中,進行finetune即可達到監(jiān)督學習的效果,像極了早期CV領域的手工特征。對比學習的損失函數設置也是表示學習的出發(fā)點,相似樣本在特征空間的距離依然相近,反之距離較遠。監(jiān)督學習網絡也是學習到了很好的特征表示,才對我們的分類等任務有較好的表現。而現在對比學習要做的,就是在無標簽的基礎上,學習到一種泛化性更強的特征表示。可以預見的是,我們可以將對比學習模型替換掉imagenet預訓練模型作為各類任務訓練的起點,因為對比學習的訓練集規(guī)模可以輕松超越imagenet,并且訓練得到是超越分類任務的更具泛化的特征表示。
圖5監(jiān)督學習的流程
3.對比學習和自編碼器
自編碼器也是無監(jiān)督領域圖像特征提取的一種方式,該方法基于一個編碼器(encoder)將輸入映射為特征,再通過解碼器(decoder)將映射的特征恢復到原圖,以減小重構誤差為訓練目標。
圖6自編碼器網絡結構示意
自編碼器的編碼過程可以看作是對比學習的單個分枝結構,二者的區(qū)別在于自編碼器通過重構輸出來作為自監(jiān)督信息并避免平凡解,而對比網絡是依靠兩路網絡的輸出對比解決問題。從提取圖片特征來看,對比學習直接對提取的特征做約束優(yōu)化,保持了在嵌入空間中特征分布的Alignment(相似實例有相近的特征)和Uniformity(保留更多的信息,分布均勻)。此外,如果兩種方式做一種結合也不失為一種可以嘗試的方向,魔法不一定要打敗魔法,兩種魔法的加成也可能創(chuàng)造神奇的世界。
4.對比學習和自然語言處理
自然語言處理(NLP)領域自監(jiān)督學習的成功,是對CV領域對比學習熱潮的引領。詞向量(Word2Vec)等方法的成功,在視覺領域能否成功復刻,驅動著大家向自監(jiān)督視覺方向進行探索。
二者也有不同之處,單詞或短語的數量是有窮的,而圖片的數量則是無窮的,語句可以通過掩膜(mask)等方式構造出各種類型的變化,圖片領域的變化如何高效地獲得樣本對并且有利于下游任務的效果提升都是要解決和優(yōu)化的問題。也有各類簡單的應用可以直接進行遷移,比如ALBERT[5]提出了句子順序預測(SOP)任務可以直接遷移到視頻片段的順序預測上來。
5.對比學習和生成對抗網絡(GAN)
問:對比學習和GAN還能扯上關系?
答:您好,有的。
請看來自于videoMoCo[6]文章的網絡架構,其中,使用生成器作為相似樣本對的生成方式,判別器就是對比學習的框架??梢哉f,GAN中的判別器分辨真假的任務和對比學習中的判別正負樣本對的任務基本一致。
雖然videoMoCo在這里使用的生成器方式比較naive,但是給我們開闊了巨大的想象空間。對比學習的難點之一就是如何構造替代任務,當前各類對比學習方法都是采用機械的數據增強來完成,如果使用網絡來完成正負樣本對的標簽生成,是不是能促進對比學習的效果提升,甚至擴大對比學習的應用范圍。萬物皆可對比,只要能夠生成。
圖7videoMoCo算法網絡結構
6.對比學習和度量學習、圖像檢索
通過與研究度量學習的同事交流,從相關網絡算法和損失函數來看,對比學習和度量學習關系密切,或者直接看成是同一概念的兩種稱呼,目標都是使學習到的特征相似對象間距離小,不相似對象間距離大?,F在對比學習領域大多使用InfoNCE損失函數,而度量學習用的多種損失還鮮有涉及,將這些損失引用過來也是有可能進一步優(yōu)化的方向。
圖像檢索是我們嘗試將對比學習作為實際應用的重要領域,對比學習可以天然地得到圖像embeeding,并且也具有判別相似圖像或者非相似圖像的特點,在某些檢索需求下,是完美的落地應用。我們也嘗試過將對比學習模型和ArcFace訓練的模型做對比,二者在embedding之后應用于圖像檢索中,簡單驗證的差異并不大,在模型適應性上,原始的數據增強多樣性帶來的影響更大。
三、對比自監(jiān)督學習的發(fā)展趨勢
1.化繁為簡之路
大家在看之前的一些對比學習研究論文可能有一些疑惑,為什么stopgradient會起作用,momentum的作用具體是什么,好像并不是那么直觀。后續(xù)方法中,momentumupdate被舍棄,負樣本也可以舍棄,而BarlowTwins[7]則大開大合,舍棄各類奇技淫巧,將對比學習落實到最直觀的互相關矩陣上,簡潔到令人抓狂。反觀各類方法和損失的根本歸根結底就是互相關矩陣,互相關矩陣簡潔的處理了樣本對的采樣方式,相比其他算法具有更高效的數據采樣方式和數據規(guī)模,之前的各類方法就像在敵人的心臟周圍不斷揮舞,而BarlowTwins就好像劍客直刺到敵人的心臟。當然其采用的8192高維度的映射層也是值得討論的問題。
負樣本的數量對于特征的學習是十分重要的已經是對比學習中的共識。此方法以降低各特征維度的冗余為目標,換一個思考方式,咱們可以將互相關矩陣轉換為批次內圖像的相似矩陣,以此獲得大規(guī)模的負樣本數據以提升模型效果,不再受限于硬件的限制也能完成一個高效的對比模型訓練。當然這種方法的先驗假設就是,同一個批次內的圖像,都是互為負樣本對的。
損失函數的使用也有回歸傳統(tǒng)的意味,以下分別是YannLeCun于2006年論文[13]中使用的損失函數和BarlowTwins的損失函數,你瞅瞅這倆損失像不像twins呢?
2006年提出的對比損失
BarlowTwins使用的互相關矩陣對比損失
2.TransformerorMLP?
2021年4月初,陳鑫磊,何愷明等大神又發(fā)布了MoCoV3[8]版本的自監(jiān)督方法,將VisualTransformers(ViT)引入到對比學習中來。4月底,DINO[4]論文發(fā)布,指出了自監(jiān)督的ViT特征包含明顯的語義分割信息,在有監(jiān)督的ViT和卷積網絡中都沒有類似的表現。
圖8DINO算法分割效果展示
在視覺領域,大有Transformer取代卷積網絡的趨勢,好像一個初出茅廬的年輕人亂拳打死老師傅。并且已經由簡單的圖像分類進攻到了自監(jiān)督學習領域,還表現出了更厲害的特性,相信基于自監(jiān)督的Transformer還會有更多的研究出現。
或者涅槃重生的MLP[9]等方法也可能在自監(jiān)督領域大展身手,對應[9]的標題:MLP-Mixer:Anall-MLParchitectureforvision,自監(jiān)督下的MLP方法題目我都想好了:Anall-MLPArchitectureforself-supervisedLearning。
3.對比自監(jiān)督在視頻領域的應用
對比學習方法在視頻領域的應用也有很多,[10]將不同播放速度的影片輸入對比學習網絡,訓練模型用于播放速度判別;背景減除(BackgroundErasing[11])在視頻每一幀中疊加當前視頻中的隨機幀,以達到減弱背景對于模型判斷的影響,提高行為識別的準確性,網絡輸入為正常視頻和疊加幀后視頻;[12]對同一個視頻采樣不同的片段,將其看作是視頻的數據增強即正樣本對輸入到網絡中,獲得視頻特征的表示學習。
當前在視頻領域的各種應用中,替代任務和下游任務一致的現象比較嚴重,造成模型只能對特定任務具有識別效果。同時,視頻的特征的表示學習,照搬圖像方法的現象明顯,將2D卷積替換為3D卷積即可做遷移,相關研究還處于起步階段,個人認為視頻序列的特征提取可以針對其時間維度的特殊性做一些專門的工作。
視頻表示學習的進步,必將推動視頻檢索領域的發(fā)展。在視頻檢索領域,可以通過自監(jiān)督學習的方式構建檢索以視頻搜視頻的檢索方法,也可以做跨模態(tài)的視頻檢索,比如以文本搜視頻,以語音搜視頻等。反過來暢想,視頻也可以生成文本、視頻生成語音。
4.監(jiān)督的對比學習
本來在自監(jiān)督領域大放異彩的對比學習,還可以應用在監(jiān)督學習領域,論文[14]做到了這一點。自監(jiān)督領域中對比學習的依據是,兩張圖片是否同源,而和監(jiān)督學習的結合,變成了兩張圖片是否同類。在使用監(jiān)督對比損失后,獲得了超過交叉熵的表現。
圖9自監(jiān)督對比和監(jiān)督對比
不過,該方法的核心還是采用了對比學習的方式訓練了提取embedding的網絡,而后將特征提取網絡凍結,訓練了全連接的分類網絡。從本質上來講,與自監(jiān)督的網絡遷移到下游任務是一致的。關鍵在于替代任務的構建,吸納了有監(jiān)督數據的信息。再次驗證了自監(jiān)督學習的魔法光環(huán),也證明了對比損失相對于分類交叉熵損失,在提取有效特征方面的優(yōu)秀能力。
四、一些思考
1.理論原理
盡管自監(jiān)督學習取得了很好的效果,但其背后的數學原理和理論基本并沒有特別扎實,大多通過實驗結果反推模型結構和策略的效果,可能造成很多研究走了彎路,從理論基礎出發(fā),直達最終目標的效果可能會更好。
2.替代任務的構建
當前替代任務的構建特別是視頻方向,多與下游任務為主導,沒有特定的范式或者規(guī)則。替代任務所能完成的任務,就是自監(jiān)督模型能完成任務的邊界。替代任務的五花八門,導致各類任務的千差萬別,沒有辦法比較性能優(yōu)劣,只能是單純的網絡在另一個任務上的應用,當前圖片領域多基于多種數據增強方法構建替代任務,而視頻領域也可以提出統(tǒng)一的構建方式。
能夠通過“半自動”方式做出來的替代任務少之又少,在各類的圖像算法應用中,可能是影響自監(jiān)督方法適應性的絆腳石。
3.能否構建直通下游任務的端到端學習
既然[4]中已經發(fā)現自監(jiān)督中有明顯的語義分割特征,在對比模型后端加入分割分支網絡會不會對網絡學習有幫助,抑或是直接訓練得到可使用的分割網絡,都是值得研究的問題。
4.除對比的其他形式構建特征提取網絡
本質上,對比網絡是除去常規(guī)網絡之外,訓練得到特征表示的一種方式而已,與前文提到的自編碼器有異曲同工之妙。對比學習的成功在于,其訓練得到的特征提取網絡,在下游任務中表現優(yōu)異,也是所提特征有效的表現。由此我們可以得到啟發(fā),還有沒有其他的形式構建訓練網絡,也能夠提取得到有效特征。相信新模式的提出肯定也會和對比學習一樣,引領一波研究浪潮。
5.廣闊天地,大有可為
自監(jiān)督學習還處于探索階段,有很多可以深入探究的部分,相信無論在學術界和工業(yè)界自監(jiān)督學習都會有廣泛的應用。作為深度學習中的一種魔法,還需要更多的人來挖掘其潛能,創(chuàng)造更多的神跡。
總結
本文針對當前熱門的自監(jiān)督學習領域在CV領域的研究,梳理了其與其他CV的相同和不同點,以及幾個前沿研究點的探討。希望通過本文,大家對自監(jiān)督學習的有個更加明確的定位,如果對于您的研究和思路有些許幫助,將是作者的更大欣慰。
—————————————————————————————————
人民中科(濟南)智能技術有限公司是由人民網與中科院自動化所共同建設的“智能技術引擎”和“人才創(chuàng)新平臺”,聚焦音視頻內容理解技術,圍繞“內容理解+行業(yè)應用”,提供多形態(tài)的內容理解算法技術、軟件系統(tǒng)、硬件裝備等,向各行業(yè)輸出專業(yè)的AI技術解決方案。
免責聲明:以上內容為本網站轉自其它媒體,相關信息僅為傳遞更多信息之目的,不代表本網觀點,亦不代表本網站贊同其觀點或證實其內容的真實性。如稿件版權單位或個人不想在本網發(fā)布,可與本網聯系,本網視情況可立即將其撤除。