在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            博客專欄

            EEPW首頁 > 博客 > 獨(dú)家 | 為什么在CV(視覺識別)領(lǐng)域,Transformers正在緩慢逐步替代CNN?

            獨(dú)家 | 為什么在CV(視覺識別)領(lǐng)域,Transformers正在緩慢逐步替代CNN?

            發(fā)布人:數(shù)據(jù)派THU 時間:2022-02-13 來源:工程師 發(fā)布文章

            作者:Pranoy Radhakrishnan

            翻譯:wwl

            校對:王可汗


            在認(rèn)識Transformers之前,思考一下,為什么已經(jīng)有了MLP、CNN、RNN,研究者還會對Transformers產(chǎn)生研究的興趣。

             

            Transformers起初是用于語言翻譯。相比于循環(huán)神經(jīng)網(wǎng)絡(luò)(比如LSTM),Transformers支持模擬輸入序列元素中的長依賴,并且支持并行處理序列。

             

            Transformers利用同一個處理模塊,可以支持處理不同類型的輸入(包括圖像、視頻、文本、語音)。每個人都希望解決不同的問題都能有統(tǒng)一的模型,并且兼顧準(zhǔn)確性和速度。和MLPs有通用的函數(shù)近似器一樣,transfomers模型在sequence-to-sequence問題上,有通用的解決函數(shù)。

             

            Transformers應(yīng)用了注意力機(jī)制,首先我們學(xué)習(xí)注意力機(jī)制和自注意力機(jī)制。

             

            • 注意力機(jī)制


            注意力機(jī)制的作用是提高輸入數(shù)據(jù)中關(guān)鍵部分的重要性,降低其余部分的重要性。就像是你理解一個圖片的時候,你會聚焦在圖像中有意義的相關(guān)部分。注意力機(jī)制也是這樣做的。

             

            但是為什么我們需要注意力機(jī)制?畢竟CNNs已經(jīng)在圖像特征提取上表現(xiàn)得很好了,不是嗎?

             

            圖片


            對于一個CNN,輸入的每個圖片都是一樣的操作。CNN不會對不同特征的相對位置進(jìn)行編碼。如果想要對這些特征組合進(jìn)行編碼,則需要大的卷積核。舉例來說,編碼鼻子和嘴巴上邊的眼睛這個信息,需要大的卷積核。

             

            在一個圖片里,如果要捕捉較大范圍的依賴關(guān)系的話,是需要大的感受野。提高卷積核的尺寸可以提高模型的表達(dá)能力,但這樣做也會失去使用局部卷積結(jié)構(gòu)獲得的計算和統(tǒng)計效率。

             

            自注意力機(jī)制是注意力機(jī)制的一種,和CNN結(jié)合可以幫助擬合長距離的依賴關(guān)系且不以犧牲計算效率和統(tǒng)計效率為代價。自注意力模塊是卷積的補(bǔ)充,有助于在圖像區(qū)域內(nèi)擬合遠(yuǎn)距離、多層次的依賴關(guān)系。

             

            你可以看到,自注意力模塊替代了卷積層,現(xiàn)在模型中每個位置點(diǎn)可以和遠(yuǎn)距離的像素點(diǎn)有相關(guān)關(guān)系。

             

            在最近的一項研究中,研究者執(zhí)行了一系列ResNets實(shí)驗,分別用注意力模塊替代部分和全部的卷積層,結(jié)果顯示模型效果最好的實(shí)驗是在淺層用卷積層,在深層用注意力層。

             

            圖片

            圖 SAGAN使用的自我注意模塊


            • 自注意力


            自注意力機(jī)制是注意力機(jī)制的一種,作用是序列中的每個元素和序列中其他元素有交互,并發(fā)現(xiàn)應(yīng)該更關(guān)注其他元素中的哪個。


            圖片


            自注意力的目標(biāo)是捕捉所有實(shí)體的關(guān)系,是一個所有詞向量的帶權(quán)重的組合,可以捕捉序列中元素之間的長范圍的信息和依賴關(guān)系。

             

            從上圖可以看到,“it”指代的是“street”,而不是“animal”。自注意力是其他詞向量的帶權(quán)重的組合。這里“it”的詞向量是其他詞向量的加權(quán)的組合,其中單詞“street”的權(quán)重更高。

             

            如果想深入理解權(quán)重是如何得到的,參考這個視頻: 

            https://www.youtube.com/watch?v=tIvKXrEDMhk

             

            根本上,一個自注意力層會對輸入序列中的每個元素進(jìn)行更新,更新的方式是對完整的輸入序列中的全部信息進(jìn)行整合。

             

            因此,我們已經(jīng)了解了像自注意這樣的注意力機(jī)制如何有效地解決卷積網(wǎng)絡(luò)的一些局限性?,F(xiàn)在是否有可能用像Transformers這樣的基于注意力的模型完全取代CNN?

             

            在NLP領(lǐng)域,Transformers已經(jīng)取代了LSTM。那么在計算機(jī)視覺領(lǐng)域,Transfomers可以取代CNN嗎?接下來我們深入了解下,在哪些方面,注意力的方法超越了CNN。

             

            • Transformer 模型


            Transformer模型最初是用來解決自然語言處理中的翻譯問題,包含encoder-decoder的模型結(jié)構(gòu)。圖片中左邊表示編碼器,右邊表示****。編碼器和****中都包含自注意力機(jī)制、線性層和剩余的全連接層。

             

            圖片

            備注:在卷積神經(jīng)網(wǎng)絡(luò)中,特征增強(qiáng)和特征轉(zhuǎn)換是自發(fā)進(jìn)行的(通過非線性的卷積層),在Transformer模型中,特征增強(qiáng)和特征轉(zhuǎn)換是分開進(jìn)行的,舉例來講,自注意力層僅實(shí)現(xiàn)特征增強(qiáng),前饋網(wǎng)絡(luò)實(shí)現(xiàn)特征轉(zhuǎn)換。

             

            • 編碼器


            以翻譯為例,編碼其中的自注意力是幫助輸入序列中的words產(chǎn)生交互,從而對每個word產(chǎn)生一個包含和序列中其他word的語義相似性的特征表示。


            • ****


            ****的工作是一次輸出一個已翻譯的單詞,基于到目前為止生成的輸入詞嵌入和輸出。

             

            ****輸出翻譯后的單詞,是通過對編碼器的輸出中的特定部分以及對之前****的輸出。為了確保編碼器只用到了已經(jīng)生成的之前的輸出,不包含訓(xùn)練中未來的輸出。Mask Self Attention機(jī)制用于****。它只是掩蓋了訓(xùn)練期間****輸入給出的未來單詞。

             

            自注意力并不關(guān)心位置。比如說,這個句子“Deepak is the son of Pradeep”,對于單詞“son”,自注意力會給單詞“Deepak”更多權(quán)重。如果我們順序改變得到,“Pradeep is the son of Deepak”,對單詞“son”,自注意力還是會給單詞”Deepak”更多權(quán)重,但其實(shí)這里我們希望如果句子中單詞順序改變,對單詞“son”來說,自注意力機(jī)制可以給“Pradeep”更多權(quán)重。

             

            這是因為,編碼單詞“son”的時候,自注意力機(jī)制是對其他所有單詞的詞向量進(jìn)行了加權(quán)組合且不考慮位置關(guān)系。所以打亂句子中的單詞順序并不會有任何不同。換句話說自注意力機(jī)制是位置無關(guān)的。除非,在把子向量輸入自注意力模塊之前,給每個單詞增加了位置信息。

              

            • Vision Transformer


            Vision Transformer是用Transformer替換卷積層。

             

            圖片

            圖 Vision Transformer


            Transformer一般是應(yīng)用在序列數(shù)據(jù)中,因此我們把圖片切分成圖像塊(patches),然后把每個patch展開為一個向量。從現(xiàn)在開始,我會把這個圖像塊稱為一個元素(token),因此我們現(xiàn)在就得到了一個由這樣的元素構(gòu)成的序列。

             

            自注意力機(jī)制是位置無關(guān)(permutation invariance)的。它對不同注意力向量的加權(quán)求和是“泛化的”匯總。

             

            這里permutation Invariance的意思是指,如果輸入序列是[A, B, C, D],自注意力網(wǎng)絡(luò)得到的輸出結(jié)果和輸入序列為[A, C, B, D]是一樣的,以及任何其他的序列中元素位置發(fā)生改變后的序列,輸出結(jié)果都是一樣的。


            圖片

             圖 如果不向patch中添加位置編碼,這兩個序列對于Transformer來說看起來是一樣的

             

            因此,在輸入之前增加位置信息,增加位置信息有助于Transformer理解序列中元素的相對位置。在這里,學(xué)習(xí)位置編碼,而不是使用標(biāo)準(zhǔn)編碼。如果沒有增加位置編碼的話,對于Transformer來說這些序列都一樣。

             

            最后,Transformer的輸出作為后續(xù)的MLP分類器的輸入。

             

            從零訓(xùn)練Transformers,比CNN需要更多的數(shù)據(jù)。這是因為CNN可以編碼圖像的先驗知識比如平移不變性(translational equivariance)。但是Transformers需要從給定的數(shù)據(jù)中獲得這個信息。

             

            平移不變性是卷積層的一種特性,如果我們將圖像中的對象向右移動,則特征層的激活(提取的特征)也將向右移動。但它們“實(shí)際上是相同的表示”。

             

            • ConViT


            Vision Transformer,通過可以在patch上實(shí)現(xiàn)自注意力機(jī)制,學(xué)習(xí)到卷積歸納偏置(例如:等變)。缺點(diǎn)是,它們需要大量數(shù)據(jù)才能從頭開始學(xué)習(xí)所有內(nèi)容

            .

            CNN有強(qiáng)歸納偏置性,所以在小數(shù)據(jù)集上表現(xiàn)更好。但如果有大量的數(shù)據(jù)可用,CNN的強(qiáng)歸納偏置性反而會限制模型的能力。

             

            那么,是否有可能既擁有在小數(shù)據(jù)集上的強(qiáng)歸納偏置性,并且在大數(shù)據(jù)集上也不受限呢?

             

            方案是引入?yún)^(qū)域自注意力機(jī)制(Positional Self Attention Mechanism(PSA) ),如果需要的話,它支持模型起卷積層的作用。我們只是用PSA替換了一些自注意層。

             

            我們知道,由于自注意力是有位置無關(guān)性質(zhì)的,因此位置的信息通常是會增加到圖像塊上。我們并不是在嵌入階段添加的位置信息,而是用PSA替代原始的自注意層。

             

            在PSA中,注意力的權(quán)重是用相對位置編碼(r)和經(jīng)過訓(xùn)練的詞向量(v)。這里相對位置編碼(r)僅僅依賴于像素間的距離。

             

            圖片


            這些具有可學(xué)習(xí)的相對位置編碼的多頭 PSA層可以表達(dá)任意卷積層。

             

            因此,我們并沒有將CNN和注意力機(jī)制做整合,而是應(yīng)用PSA層,通過調(diào)整參數(shù)可以使得它具有卷積層的效果。在小數(shù)據(jù)集場景,PSA可以幫助模型更好的推廣,而到了大數(shù)據(jù)集場景,如果需要的話,PSA依然可以保留它的卷積性質(zhì)。

             

            • 總結(jié)


            這里我們展示了,最初用于機(jī)器翻譯的Transformer在圖像領(lǐng)域表現(xiàn)出了很好的效果。在圖像分類上,ViTs超過CNN是一個重大的突破。但是,ViTs需要在額外的大數(shù)據(jù)集上的預(yù)訓(xùn)練。在ImageNet數(shù)據(jù)集上,ConViT超過了ViTs,并且在效率上有所提升。這些都證明了,Transformers具有在圖像領(lǐng)域超越CNN的實(shí)力。


            • 參考文獻(xiàn)


            Transformers in Vision —https://arxiv.org/pdf/2101.01169.pdfConViT — https://arxiv.org/pdf/2103.10697.pdf
            原文鏈接:https://becominghuman.ai/Transformers-in-vision-e2e87b739fe原文題目:Why Transformers are Slowly Replacing CNNs in Computer Vision?


            *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



            關(guān)鍵詞: AI

            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉