1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        計算機視覺“新”范式: Transformer

        共 4035字,需瀏覽 9分鐘

         ·

        2020-10-20 09:06

        點擊上方AI算法與圖像處理”,選擇加"星標"或“置頂”

        重磅干貨,第一時間送達

        凱隱 AI科技大本營(rgznai100)


        Transformer是由谷歌于2017年提出的具有里程碑意義的模型,同時也是語言AI革命的關(guān)鍵技術(shù)。在此之前的SOTA模型都是以循環(huán)神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)(RNN, LSTM等)。從本質(zhì)上來講,RNN是以串行的方式來處理數(shù)據(jù),對應(yīng)到NLP任務(wù)上,即按照句中詞語的先后順序,每一個時間步處理一個詞語。

        相較于這種串行模式,Transformer的巨大創(chuàng)新便在于并行化的語言處理:文本中的所有詞語都可以在同一時間進行分析,而不是按照序列先后順序。為了支持這種并行化的處理方式,Transformer依賴于注意力機制。注意力機制可以讓模型考慮任意兩個詞語之間的相互關(guān)系,且不受它們在文本序列中位置的影響。通過分析詞語之間的兩兩相互關(guān)系,來決定應(yīng)該對哪些詞或短語賦予更多的注意力。

        相較于RNN必須按時間順序進行計算,Transformer并行處理機制的顯著好處便在于更高的計算效率,可以通過并行計算來大大加快訓練速度,從而能在更大的數(shù)據(jù)集上進行訓練。例如GPT-3(Transformer的第三代)的訓練數(shù)據(jù)集大約包含5000億個詞語,并且模型參數(shù)量達到1750億,遠遠超越了現(xiàn)有的任何基于RNN的模型。

        現(xiàn)有的各種基于Transformer的模型基本只是與NLP任務(wù)有關(guān),這得益于GPT-3等衍生模型的成功。然而,最近ICLR 2021的一篇投稿文章開創(chuàng)性地將Transformer模型跨領(lǐng)域地引用到了計算機視覺任務(wù)中,并取得了不錯地成果。這也被許多AI學者認為是開創(chuàng)了CV領(lǐng)域的新時代,甚至可能完全取代傳統(tǒng)的卷積操作。

        論文鏈接:
        https://openreview.net/pdf?id=YicbFdNTTy

        其中,Google的Deepmind 研究科學家Oriol Vinyals的看法很直接:告別卷積。

        以下為該論文的詳細工作:

        基本內(nèi)容

        Transformer的核心原理是注意力機制,注意力機制在具體實現(xiàn)時主要以矩陣乘法計算為基礎(chǔ),這意味著可以通過并行化來加快計算速度,相較于只能按時間順序進行串行計算的RNN模型而言,大大提高了訓練速度,從而能夠在更大的數(shù)據(jù)集上進行訓練。

        此外,Transformer模型還具有良好的可擴展性和伸縮性,在面對具體的任務(wù)時,常用的做法是先在大型數(shù)據(jù)集上進行訓練,然后在指定任務(wù)數(shù)據(jù)集上進行微調(diào)。并且隨著模型大小和數(shù)據(jù)集的增長,模型本身的性能也會跟著提升,目前為止還沒有一個明顯的性能天花板。

        Transformer的這兩個特性不僅讓其在NLP領(lǐng)域大獲成功,也提供了將其遷移到其他任務(wù)上的潛力。此前已經(jīng)有文章嘗試將注意力機制應(yīng)用到圖像識別任務(wù)上,但他們要么是沒有脫離CNN的框架,要么是對注意力機制進行了修改,導(dǎo)致計算效率低,不能很好地實現(xiàn)并行計算加速。因此在大規(guī)模圖片分類任務(wù)中,以ResNet為基本結(jié)構(gòu)的模型依然是主流。

        這篇文章首先嘗試在幾乎不做改動的情況下將Transformer模型應(yīng)用到圖像分類任務(wù)中,在 ImageNet 得到的結(jié)果相較于 ResNet 較差,這是因為Transformer模型缺乏歸納偏置能力,例如并不具備CNN那樣的平移不變性和局部性,因此在數(shù)據(jù)不足時不能很好的泛化到該任務(wù)上。

        然而,當訓練數(shù)據(jù)量得到提升時,歸納偏置的問題便能得到緩解,即如果在足夠大的數(shù)據(jù)集上進行與訓練,便能很好地遷移到小規(guī)模數(shù)據(jù)集上。

        在此基礎(chǔ)上,作者提出了Vision Transformer模型。下面將介紹模型原理。

        模型原理

        該研究提出了一種稱為Vision Transformer(ViT)的模型,在設(shè)計上是盡可能遵循原版Transformer結(jié)構(gòu),這也是為了盡可能保持原版的性能。

        雖然可以并行處理,但Transformer依然是以一維序列作為輸入,然而圖片數(shù)據(jù)都是二維的,因此首先要解決的問題是如何將圖片以合適的方式輸入到模型中。本文采用的是切塊 + embedding的方法,如下圖:
        首先將原始圖片劃分為多個子圖(patch),每個子圖相當于一個word,這個過程也可以表示為:
        其中x是輸入圖片,xp則是處理后的子圖序列,P2則是子圖的分辨率,N則是切分后的子圖數(shù)量(即序列長度),顯然有。由于Transformer只接受1D序列作為輸入,因此還需要對每個patch進行embedding,通過一個線性變換層將二維的patch嵌入表示為長度為D的一維向量,得到的輸出被稱為patch嵌入。

        類似于BERT模型的[class] token機制,對每一個patch嵌入,都會額外預(yù)測一個可學習的嵌入表示,然后將這個嵌入表示在encoder中的最終輸出()作為對應(yīng)patch的表示。在預(yù)訓練和微調(diào)階段,分類頭都依賴于

        此外還加入了位置嵌入信息(圖中的0,1,2,3…),因為序列化的patch丟失了他們在圖片中的位置信息。作者嘗試了各種不同的2D嵌入方法,但是相較于一般的1D嵌入并沒有任何顯著的性能提升,因此最終使用聯(lián)合嵌入作為輸入。

        模型結(jié)構(gòu)與標準的Transformer相同(如上圖右側(cè)),即由多個交互層多頭注意力(MSA)和多層感知器(MLP)構(gòu)成。在每個模塊前使用LayerNorm,在模塊后使用殘差連接。使用GELU作為MLP的激活函數(shù)。整個模型的更新公式如下:
        其中(1)代表了嵌入層的更新,公式(2)和(3)則代表了MSA和MLP的前向傳播。

        此外本文還提出了一種直接采用ResNet中間層輸出作為圖片嵌入表示的方法,可以作為上述基于patch分割方法的替代。

        模型訓練和分辨率調(diào)整

        和之前常用的做法一樣,在針對具體任務(wù)時,先在大規(guī)模數(shù)據(jù)集上訓練,然后根據(jù)具體的任務(wù)需求進行微調(diào)。這里主要是更換最后的分類頭,按照分類數(shù)來設(shè)置分類頭的參數(shù)形狀。此外作者還發(fā)現(xiàn)在更高的分辨率進行微調(diào)往往能取得更好的效果,因為在保持patch分辨率不變的情況下,原始圖像分辨率越高,得到的patch數(shù)越大,因此得到的有效序列也就越長。

        對比實驗

        4.1 實驗設(shè)置

        首先作者設(shè)計了多個不同大小的ViT變體,分別對應(yīng)不同的復(fù)雜度。


        數(shù)據(jù)集主要使用ILSVRC-2012,ImageNet-21K,以及JFT數(shù)據(jù)集。

        4.2 與SOTA模型的性能對比

        首先是和ResNet以及efficientNet的對比,這兩個模型都是比較有代表的基于CNN的模型。


        其中ViT模型都是在JFT-300M數(shù)據(jù)集上進行了預(yù)訓練。從上表可以看出,復(fù)雜度較低,規(guī)模較小的ViT-L在各個數(shù)據(jù)集上都超過了ResNet,并且其所需的算力也要少十多倍。ViT-H規(guī)模更大,但性能也有進一步提升,在ImageNet, CIFAR,Oxford-IIIT, VTAB等數(shù)據(jù)集上超過了SOTA,且有大幅提升。

        作者進一步將VTAB的任務(wù)分為多組,并對比了ViT和其他幾個SOTA模型的性能:


        可以看到除了在Natrual任務(wù)中ViT略低于BiT外,在其他三個任務(wù)中都達到了SOTA,這再次證明了ViT的性能強大。

        4.3 不同預(yù)訓練數(shù)據(jù)集對性能的影響

        預(yù)訓練對于該模型而言是一個非常重要的環(huán)節(jié),預(yù)訓練所用數(shù)據(jù)集的規(guī)模將影響模型的歸納偏置能力,因此作者進一步探究了不同規(guī)模的預(yù)訓練數(shù)據(jù)集對性能的影響:


        上圖展示了不同規(guī)模的預(yù)訓練數(shù)據(jù)集(橫軸)對不同大小的模型的性能影響,注意微調(diào)時的數(shù)據(jù)集固定為ImageNet。可以看到對大部分模型而言,預(yù)訓練數(shù)據(jù)集規(guī)模越大,最終的性能越好。并且隨著數(shù)據(jù)集的增大,較大的ViT模型(ViT-H/14)要由于較小的ViT模型(ViT-L)。

        此外,作者還在不同大小的JFT數(shù)據(jù)集的子集上進行了模型訓練:


        可以發(fā)現(xiàn)ViT-L對應(yīng)的兩個模型在數(shù)據(jù)集規(guī)模增大時有非常明顯的提升,而ResNet則幾乎沒有變化。這里可以得出兩個結(jié)論,一是ViT模型本身的性能上限要優(yōu)于ResNet,這可以理解為注意力機制的上限高于CNN。二是在數(shù)據(jù)集非常大的情況下,ViT模型性能大幅超越ResNet, 這說明在數(shù)據(jù)足夠的情況下,注意力機制完全可以代替CNN,而在數(shù)據(jù)集較小的情況下(10M),卷積則更為有效。

        除了以上實驗,作者還探究了ViT模型的遷移性能,實驗結(jié)果表明不論是性能還是算力需求,ViT模型在進行遷移時都優(yōu)于ResNet。

        可視化分析

        可視化分析可以幫助我們了解ViT的特征學習過程。顯然,ViT模型的注意力一定是放在了與分類有關(guān)的區(qū)域:


        總結(jié)

        本文提出的基于patch分割的圖像解釋策略,在結(jié)合Transformer的情況下取得了非常好的效果,這為CV領(lǐng)域的其他研究提供了一個很好的思路。此外,接下來應(yīng)該會出現(xiàn)許多基于這篇工作的研究,進一步將這一劃時代的模型應(yīng)用到更多的任務(wù)上,例如目標檢測、實例分割、行為識別等等。此外,也會出現(xiàn)針對patch分割策略的改進,來進一步提高模型性能。

        相關(guān)鏈接:
        https://www.forbes.com/sites/robtoews/2020/10/12/the-next-generation-of-artificial-intelligence/#de89ca259eb1

        下載1:OpenCV黑魔法


        AI算法與圖像處理」公眾號后臺回復(fù):OpenCV黑魔法,即可下載小編精心編寫整理的計算機視覺趣味實戰(zhàn)教程



        下載2 CVPR2020

        AI算法與圖像處公眾號后臺回復(fù):CVPR2020,即可下載1467篇CVPR?2020論文
        個人微信(如果沒有備注不拉群!
        請注明:地區(qū)+學校/企業(yè)+研究方向+昵稱


        覺得有趣就點亮在看吧




        瀏覽 161
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            亚洲秘 无码一区二区三区电影 | 麻豆91久久久 | 插插插插网站 | 中文欧美在线 | 99视频免费观看 | 久久久久久秸品 | 麻豆一级视频 | 吃瓜偷拍AV一区二区三区 | 欧美一区二区三区喷汁尤物 | 国产又粗又长的视频 |