夢晨 水木番 發(fā)自 凹非寺 這是你眼里的一只貓: 這是CNN眼里的一只貓: 這是ViT (Vision Transformer)眼里的一只貓: 從去年起,,Transformer忙著跨界CV,如ViT在圖像分類上準(zhǔn)確率已超過CNN,大有取代之勢,。 這背后的原因是什么,? 最近普林斯頓的一項(xiàng)研究認(rèn)為,,Transformer的運(yùn)作方式更接近人類,連犯錯(cuò)的方式都和人類一樣。 研究團(tuán)隊(duì)在圖像分類的準(zhǔn)確率之外,增加了對錯(cuò)誤類型的分析,。 結(jié)果發(fā)現(xiàn),,與CNN相比,ViT更擅長判斷形狀。 此前在ICLR2019上發(fā)表的一篇論文提出,,用ImageNet訓(xùn)練的CNN模型更傾向于通過紋理分類圖像。 如下圖中混合了大象皮膚紋理的貓被判斷成了大象。 △來自arXiv:1811.12231 雖然說這更可能和ImageNet的數(shù)據(jù)紋理信息更豐富有關(guān),。 但ViT模型,,使用相同數(shù)據(jù)集訓(xùn)練,就傾向于通過形狀分類圖像,,并且表現(xiàn)比CNN更好,。 用形狀分類物體也是人類的傾向,。不信的話,,試試回答下圖的問題:右面的三個(gè)物體中哪個(gè)與左邊的是同類? △來自DOI: 10.1016/0749-596X(92)90040-5 這意味著,,使用ViT不僅能建立更高效的視覺神經(jīng)網(wǎng)絡(luò),,甚至對理解人類視覺的運(yùn)作方式都有幫助。 這么神奇,? 下面來看看CNN與Transformer與人腦的聯(lián)系分別在哪里,。 CNN:從貓身上獲得靈感大腦的不同區(qū)域?qū)σ曈X信息有不同的處理方式,,CNN主要模仿的是“腹側(cè)流 (Ventral Stream)”在物體識別,、分類上的運(yùn)作方式,。 1981年獲得諾貝爾生理和醫(yī)學(xué)獎(jiǎng),,由神經(jīng)科學(xué)家Hubel和Wiesel發(fā)現(xiàn)貓的視覺皮層中有簡單細(xì)胞和復(fù)雜細(xì)胞兩種,。 每個(gè)簡單細(xì)胞對一個(gè)特定角度的長條物體反應(yīng)最強(qiáng)烈,而復(fù)雜細(xì)胞接受許多個(gè)簡單細(xì)胞傳出的信號,,就能做到將不同角度的長條物體識別成同一個(gè),。 在CNN中,這兩種細(xì)胞的工作被分配給了卷積層和池化層,。 卷積層中的神經(jīng)元像簡單細(xì)胞一樣,,僅和上一層的部分區(qū)域相連接,學(xué)習(xí)局部特征,。 而最大池化 (Max Pooling)操作就是模仿復(fù)雜細(xì)胞,,對簡單細(xì)胞中信號最強(qiáng)的作出反應(yīng),。 這就是CNN從動(dòng)物視覺中學(xué)到的第一個(gè)重要特性“局部連接”。 在卷積層和池化層中使用局部連接,僅在最后輸出結(jié)果前加入全連接層,使CNN獲得了“平移不變性”,。 也就是把圖像稍微挪動(dòng)位置,,也可以識別成相同的特征。 另外,,與全連接的神經(jīng)網(wǎng)絡(luò)相比,,局部連接的方式還大大減少了需要的參數(shù)量,,降低訓(xùn)練成本,。 為了進(jìn)一步節(jié)省資源,、提高效率,,CNN在此基礎(chǔ)上發(fā)展出另一個(gè)特性“權(quán)重共享”。 隱藏層中的每個(gè)神經(jīng)元都使用相同的過濾器,,也就是卷積核,。 就像這樣: △來自freecodecamp 卷積核中的相同的參數(shù)使用在每一次卷積操作中,,進(jìn)一步降低了需要的參數(shù)量,。 不過,,與生物視神經(jīng)的不同之處也隨之出現(xiàn)了。 ViT: 擁有多個(gè)注意力中心讓我們再來看看人眼的注意力機(jī)制,。 人是不能同時(shí)看清視野左右兩端邊緣上的物體的,。 當(dāng)你把目光聚焦到一邊時(shí),另一邊只能模糊地感覺到有無物體存在,,看不清具體的形狀或顏色,。 不信的話現(xiàn)在就可以試一試,。 這是因?yàn)楦泄饧?xì)胞在視網(wǎng)膜上的分布并是不均勻的,。 人眼的感光細(xì)胞分為視桿細(xì)胞(Rods)和視錐細(xì)胞(Cones)兩種。 視桿細(xì)胞主要負(fù)責(zé)感知光的亮度,,不能很好地分辨細(xì)節(jié),。 而在光亮度足夠時(shí)能分辨顏色和形狀的視錐細(xì)胞,集中分布在視網(wǎng)膜中心處,。 只有在目光聚焦的位置上可以看清細(xì)節(jié),,所以我們觀察時(shí)要不停地轉(zhuǎn)動(dòng)眼球,將目光聚焦在視野上的不同位置,這就產(chǎn)生了注意力機(jī)制,。 不過比人眼更先進(jìn)的是,,神經(jīng)網(wǎng)絡(luò)可以擁有多個(gè)注意力,被稱為多頭注意力(Multi-Head Attention)機(jī)制,。 一句話是一個(gè)序列 在NLP任務(wù)中,,Transformer將文本作為一個(gè)序列來處理。 有了注意力機(jī)制,,就可以在長序列中注意到每個(gè)詞與其他詞間的關(guān)系,,實(shí)現(xiàn)上下文關(guān)聯(lián)的機(jī)器翻譯。 一張圖也是一個(gè)序列 谷歌大腦團(tuán)隊(duì)進(jìn)一步提出,,圖像在分解成小塊之后,,再配合位置編碼,也可以當(dāng)作一個(gè)序列來處理,。 就像在NLP領(lǐng)域Transformer可以有效注意到一個(gè)詞與上下文的關(guān)系一樣,,在CV領(lǐng)域也可以匯總圖像的全局特征進(jìn)行學(xué)習(xí)。 用于圖像分類的ViT就此誕生,,開啟了Transformer的跨界刷屏之旅,。 犯錯(cuò)的方式都和人一樣在普林斯頓大學(xué)對比CNN和ViT的這篇論文中,還建立了錯(cuò)誤一致性這個(gè)指標(biāo)來對各個(gè)模型進(jìn)行評判,。 從WordNet中選取了16個(gè)概念(如飛機(jī)、熊,、鍵盤等)來衡量CNN和ViT犯錯(cuò)的類型,。 從結(jié)果可以看出,ViT和人類一樣,,更傾向于通過形狀判斷物體,。 未來趨勢ViT問世之初來勢洶洶,,以至于很多人都在問,注意力機(jī)制這是要取代卷積嗎,? 從最近的趨勢看來,,Transformer在CV領(lǐng)域的應(yīng)用,,反倒是刺激了二者的結(jié)合和統(tǒng)一。 卷積擅長提取細(xì)節(jié),,要掌握全局信息往往需要堆疊很多個(gè)卷積層,。 注意力善于把握整體,但又需要大量的數(shù)據(jù)進(jìn)行訓(xùn)練。 如果把兩者結(jié)合起來,,是不是能夠取長補(bǔ)短,? 把注意力引入CNN的有谷歌推出的BoTNet就是簡單把ResNet的最后瓶頸塊中的3x3卷積替換成全局自注意力,沒有別的改變,,就在減少開銷的情況下提高了性能,。 之后麥吉爾大學(xué)和微軟又把卷積引入Transformer架構(gòu)的CvT(Convolutional vision Transformers),去除了Transformer中的位置編碼,,提升對于高分辨率視覺任務(wù)的效果,。 最近,谷歌大腦Quoc Le團(tuán)隊(duì)利用簡單的相對注意力把兩大架構(gòu)自然地統(tǒng)一起來,,提出了混合模型CoAtNet,。 看來,強(qiáng)強(qiáng)聯(lián)合果然不錯(cuò),。 這還沒結(jié)束,,除了卷積與注意力的協(xié)作以外,甚至有人從更高的層面開始嘗試將二者統(tǒng)一,。 上海交大和華為的研究,,用對卷積特征的變換操作達(dá)到近似自注意力的效果,提出全新的算子X-Volution,,可以在任何現(xiàn)代神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中使用,。 港中文提出更是將CNN、Transformer以及MLP都統(tǒng)一在一起,,提出了用于多頭上下文聚合的通用結(jié)構(gòu)Container,,取得了超越三大架構(gòu)及混合架構(gòu)的成績。 ViT: ViT比CNN更像人類: CNN紋理偏差的來源: BoTNet: CvT: CoAtNet: X-Volution: Container: 參考鏈接: |
|