最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

ViT論文逐段精讀【論文精讀】(續(xù))

2021-12-23 15:40 作者:如果我是泡橘子  | 我要投稿

由于vision transformer這篇論文之前說了,它的預(yù)訓(xùn)練比用卷積神經(jīng)網(wǎng)絡(luò)便宜,所以這里就需要做更多的實(shí)驗(yàn)來支持它的論斷,因?yàn)榇蠹覍?duì)transformer的印象都是又大又貴,很難訓(xùn)練,下圖圖五中畫了兩個(gè)表

圖五
  • 左圖的average-5就是他在五個(gè)數(shù)據(jù)集(ImageNet real、pets、flowers、CIFAR-10、CIFAR-100)上做了evaluation,然后把這個(gè)數(shù)字平均了

  • 因?yàn)镮mageNet太重要了,所以作者將ImageNet單獨(dú)拎出來又畫了一張表,如右圖所示

  • 但是其實(shí)這兩張表的結(jié)果都差不多

  • 藍(lán)色的圓點(diǎn)表示vit

  • 灰色的圓點(diǎn)表示resnet

  • 橙色的加號(hào)表示混合模型(前面是卷積神經(jīng)網(wǎng)絡(luò),后面是transformer)

  • 圖中大大小小的點(diǎn)就是各種配置下大小不一樣的vision transformer的變體,或者說是resnet的變體

  • 左右兩張圖中所有的模型都是在JFT 300M數(shù)據(jù)集上訓(xùn)練的,作者這樣訓(xùn)練的目的不想讓模型的能力受限于數(shù)據(jù)集的大小,所以說所有的模型都在最大的數(shù)據(jù)集上做預(yù)訓(xùn)練

上圖中幾個(gè)比較有意思的現(xiàn)象

  • 如果拿藍(lán)色的圓圈所表示的vit去跟灰色圓圈的resnet作比較,就會(huì)發(fā)現(xiàn),在同等計(jì)算復(fù)雜度的情況下,一般transformer都是比resnet要好的,這就證明了:訓(xùn)練一個(gè)transformer是要比訓(xùn)練一個(gè)卷積神經(jīng)網(wǎng)絡(luò)要便宜的

  • 在比較小的模型上面,混合模型的精度是非常高的,它比對(duì)應(yīng)的vision transformer和resnet都要高,按道理來講,混合模型都應(yīng)該是吸收了雙方的優(yōu)點(diǎn):既不需要太多的數(shù)據(jù)去做預(yù)訓(xùn)練,同時(shí)又能達(dá)到跟vision transformer一樣的效果

  • 但是當(dāng)隨著模型越來越大的時(shí)候,混合模型就慢慢的跟vision transformer差不多了,甚至還不如在同等計(jì)算條件下的vision transformer,為什么卷積神經(jīng)網(wǎng)絡(luò)抽出來的特征沒有幫助vision transformer更好的去學(xué)習(xí)?這里作者對(duì)此也沒有做過多的解釋,其實(shí)怎么預(yù)處理一個(gè)圖像,怎么做tokenization是個(gè)非常重要的點(diǎn),之后很多論文都去研究了這個(gè)問題

  • 如果看整體趨勢(shì)的話,隨著模型的不斷增加,vision transformer的效果也在不停地增加,并沒有飽和的現(xiàn)象(飽和的話一般就是增加到一個(gè)平臺(tái)就不增加了),還是在不停的往上走的。但是但從這個(gè)圖中來看的話,其實(shí)卷積神經(jīng)網(wǎng)絡(luò)的效果也沒有飽和

分析完訓(xùn)練成本以后,作者也做了一些可視化,希望通過這些可視化能夠分析一下vit內(nèi)部的表征

  • vision transformer的第一層(linear projection layer,E),下圖展示了E是如何embed rgb value,這里主要展示了頭28個(gè)主成分,其實(shí)vision transformer學(xué)到了跟卷積神經(jīng)網(wǎng)絡(luò)很像,都是這種看起來像gabor filter,有顏色和紋理,所以作者說這些成分是可以當(dāng)作基函數(shù)的,也就師叔,它們可以用來描述每一個(gè)圖像塊的底層的結(jié)構(gòu)

  • 位置編碼是如何工作的?如下圖所示,這張圖描述的是位置編碼的相似性,數(shù)字越大相似性越高(-1到1,cos),橫縱坐標(biāo)分別是對(duì)應(yīng)的patch,如果是同一個(gè)坐標(biāo),自己和自己相比,相似性肯定是最高的。從圖中可以發(fā)現(xiàn),學(xué)到的位置編碼是可以表示一些距離信息的,同時(shí)它還學(xué)習(xí)到了一些行和列的規(guī)則,每一個(gè)圖像塊都是同行同列的相似性更高,也就意味著雖然它是一個(gè)1d的位置編碼,但是它已經(jīng)學(xué)到了2d圖像的距離概念,這也可以解釋為什么在換成2d的位置編碼以后,并沒有得到效果上的提升,是因?yàn)?d已經(jīng)夠用了

  • 最后作者想看一下自注意力是否起作用了,只為之所以想用transformer,就是因?yàn)樽宰⒁饬Φ牟僮髂軌蚰M長(zhǎng)距離的關(guān)系。在NLP中,一個(gè)很長(zhǎng)的句子里開頭的一個(gè)詞和結(jié)尾的一個(gè)詞也能互相有關(guān)聯(lián),類比在圖像里很遠(yuǎn)的兩個(gè)像素點(diǎn)也能夠做自注意力,所以作者就是想看一下自注意力到底是不是想期待的一樣去工作的。下圖展示的是vit large 16這個(gè)模型,vit large有24層,所以橫坐標(biāo)所表示的網(wǎng)絡(luò)深度就是從0到24,圖中五顏六色的點(diǎn)就是每一層的transformer block中多頭自注意力的頭,對(duì)于vit large來說一共有16個(gè)頭,所以每一列其實(shí)有16個(gè)點(diǎn)??v軸所表示的是mean attention distance(平均注意力的距離:假如說圖上有兩個(gè)點(diǎn),平均注意力距離表示的就是整兩個(gè)點(diǎn)真正的像素之間差的距離乘以他們之間的attention weights,因?yàn)樽宰⒁饬κ侨侄荚谧觯哉f每個(gè)像素點(diǎn)跟每個(gè)像素點(diǎn)都會(huì)有一個(gè)自注意力權(quán)重,平均注意力的距離就能反映模型到底能不能注意到兩個(gè)很遠(yuǎn)的像素)。圖中的規(guī)律還還是比較明顯的:投機(jī)層中,有的自注意力中的頭注意的距離還是挺近的,能達(dá)到20個(gè)像素,但是有的頭能達(dá)到120個(gè)像素,這也就證明了自注意力真的能夠在網(wǎng)絡(luò)最底層,也就是剛開始的時(shí)候就已經(jīng)能夠注意到全局上的信息了,而不是像卷神經(jīng)網(wǎng)絡(luò)一樣,剛開始第一層的receptive field(感受野)非常小,只能看到附近的一些像素;隨著網(wǎng)絡(luò)越來越深,網(wǎng)絡(luò)學(xué)到的特征也會(huì)變得越來越高級(jí),越來越具有語義信息;大概在網(wǎng)絡(luò)的后半部分,模型的自注意力的距離已經(jīng)非常遠(yuǎn)了,也就是說它已經(jīng)學(xué)到了帶有語義性的概念,而不是靠鄰近的像素點(diǎn)去進(jìn)行判斷

  • 為了驗(yàn)證上面所得到的結(jié)論,作者又畫了另外一個(gè)圖,如下圖所示。圖中是用網(wǎng)絡(luò)中最后一層的out token所作的圖,從圖中可以發(fā)現(xiàn),如果用輸出的token的自注意力折射回原來的輸入圖片,可以發(fā)現(xiàn)模型確實(shí)是學(xué)習(xí)到了這些概念。對(duì)于全局來說,因?yàn)檩敵龅膖oken是融合了所有的信息(全局的特征),模型已經(jīng)可以關(guān)注到與最后分類有關(guān)的圖像區(qū)域



在文章的最后,作者還做了如何用自監(jiān)督的方式去訓(xùn)練vision transformer的測(cè)試

這篇論文算上附錄22頁,在這么多的結(jié)果中,作者把別的結(jié)果都放到了附錄里,而把自監(jiān)督放到了正文中,可見它的重要性。它之所重要主要是因?yàn)樵趎lp領(lǐng)域,transformer這個(gè)模型確實(shí)起到了很大的推動(dòng)作用,但另外一個(gè)真正讓transformer火起來的原因其實(shí)是大規(guī)模的自監(jiān)督訓(xùn)練,二者缺一不可。NLP中的自監(jiān)督無非就是完形填空或者是預(yù)測(cè)下一個(gè)詞,但是因?yàn)檫@篇論文主要仿照的是BERT,所以作者就想能不能也借鑒BERT這個(gè)目標(biāo)函數(shù)去創(chuàng)建一個(gè)專屬于vision的目標(biāo)函數(shù),BERT使用的就是完形填空(mask language modeling,給定一個(gè)句子,然后將一些詞mask掉,然后通過一個(gè)模型,最后將它預(yù)測(cè)出來),同理,本文就仿造了一個(gè)mask patch prediction,意思就是給定一張圖片,將它打成很多patch,然后將某些patch隨機(jī)抹掉,通過這個(gè)模型以后,再將這些patch重建出來。

但是最后vit base 16在ImageNet只能達(dá)到80的左右的準(zhǔn)確率,雖然相對(duì)于從頭來訓(xùn)練vision transformer已經(jīng)提高了兩個(gè)點(diǎn),但是跟最好的有監(jiān)督的訓(xùn)練方式比差了4個(gè)點(diǎn),所以作者將跟對(duì)比學(xué)習(xí)的結(jié)果當(dāng)作是未來的工作(對(duì)比學(xué)習(xí)是去年CV圈最火的人們?cè)掝},是所有自監(jiān)督學(xué)習(xí)中表現(xiàn)最好的,所以緊接著vit MoCo v3和DINO就出現(xiàn)了,這兩篇論文都是用對(duì)比學(xué)習(xí)的方式去訓(xùn)練了一個(gè)vision transformer)



8、評(píng)價(jià)

這篇論文寫的還是相當(dāng)簡(jiǎn)潔明了的,在有這么多內(nèi)容和結(jié)果的情況下,做到了有輕有重,把最重要的結(jié)果都放到了論文里,圖和表也都做的一目了然

從內(nèi)容上來說,可以從各個(gè)角度來進(jìn)行分析、提高或者推廣vision transformer

  • 如果從任務(wù)角度來說,vision transformer只是做了分類,所以還可以拿他去做檢測(cè)、分割甚至別的領(lǐng)域的任務(wù)

  • 如果從改變結(jié)構(gòu)的角度來講,可以去改變剛開始的tokenization,也可以改中間的transformer block,后來就已經(jīng)有人將自注意力換成了MLP,而且還是可以工作得很好(幾天前,甚至有一篇論文叫做mataformer,他認(rèn)為transformer真正工作的原因是transformer這個(gè)架構(gòu)而不是因?yàn)槟承┧阕?,所以他就將自注意力直接換成了池化操作然后發(fā)現(xiàn),用一個(gè)甚至不能學(xué)習(xí)的池化操作(文中提出了一個(gè)pool former模型)也能在視覺領(lǐng)域取得很好的效果),所以在模型的改進(jìn)上也大有可為

  • 如果從目標(biāo)函數(shù)來講,可以繼續(xù)采用有監(jiān)督,也可以嘗試很多不同的自監(jiān)督訓(xùn)練的方式

最重要的是vit打破了NLP和CV之間的鴻溝,挖了一個(gè)更大的多模態(tài)的坑,可以用它去做視頻、音頻,甚至還可以去做一些基于touch的信號(hào),也就是說各種modality的信號(hào)都可以拿來使用





----end----

ViT論文逐段精讀【論文精讀】(續(xù))的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
巢湖市| 榆林市| 兴隆县| 新疆| 平南县| 岫岩| 新巴尔虎左旗| 互助| 喀喇| 浏阳市| 芮城县| 贡山| 达尔| 涞水县| 互助| 河池市| 清河县| 禄丰县| 广饶县| 沙田区| 林周县| 松阳县| 驻马店市| 古浪县| 长春市| 鄂托克前旗| 吴桥县| 清水河县| 河津市| 奉新县| 汤阴县| 扬州市| 丹寨县| 海阳市| 梧州市| 乐亭县| 宁南县| 托克逊县| 鱼台县| 延长县| 花莲县|