Vision Transformers 大有可為

2021年04月18日22:33:07 科技 1252

Vision Transformers 相關的研究最近非常的火,這篇文章是最近看到的,個人覺得相對講解比較通俗,以及很多圖解幫助理解。

因此,我也花了很多時間去翻譯(文章內容 6700字左右),如果對你有所幫助,歡迎給個三連。周末愉快!

Vision Transformers 大有可為 - 天天要聞

Transformers 簡介

Transformers 是一個非常強大的深度學習模型,已經能夠成為許多自然語言處理任務的標準,並準備徹底改變計算機視覺領域。

Vision Transformers 大有可為 - 天天要聞

這一切都始於2017年,谷歌大腦發表了一篇註定要改變一切的論文,Attention Is All You Need[4]。研究人員將這種新的體系結構應用於幾個自然語言處理問題,很快就可以看出,這種體系結構在多大程度上可以克服困擾RNN的一些限制,RNN通常用於從一種語言翻譯到另一種語言等任務。

這些年來,Transformers 已經成為自然語言處理領域的一個學派,谷歌大腦在2020年問道,變Transformers 在圖像上會同樣有效嗎?答案是肯定的,視覺 Transformers誕生了,經過對圖像的一些初步修改,他們成功地開發了Transformers的經典結構,並很快在這個領域的許多問題上達到了 state of the art 。

激動人心的是,幾個月後,在2021年初,Facebook的研究人員發布了一個新版本的Transformers,但是這次,特別是視頻,TimeSformers。顯然,即使在這種情況下,經過一些微小的結構變化,這種架構很快就成為視頻領域的贏家,Facebook在2021年2月宣布,它將把它與社交網站的視頻結合起來,為各種目的創建新的模型。

Why do we need transformers?

但是,讓我們退一步,探究促使谷歌研究人員尋找新的替代體系結構來解決自然語言處理任務的動機。

Vision Transformers 大有可為 - 天天要聞

傳統上,像翻譯這樣的任務是使用遞歸神經網絡(Recurrent Neural Networks)來完成的,眾所周知,遞歸神經網絡有很多問題。主要問題之一是它的順序操作。例如,要將一個句子從英語翻譯成意大利語,使用這種類型的網絡,將要翻譯的句子的第一個單詞與初始狀態一起傳遞到編碼器,然後將下一個狀態與該句子的第二個單詞一起傳遞到第二個編碼器,依此類推直到最後一個單詞。最後一個編碼器的結果狀態隨後被傳遞給解碼器,解碼器作為輸出返回第一個翻譯的字和隨後的狀態,該狀態被傳遞給另一個解碼器,依此類推。

很明顯這裡的問題,要完成下一步,我必須有上一步的結果。這是一個很大的缺陷,因為你沒有利用現代gpu的並行化功能,因此在性能方面會有所損失。還有其他問題,如梯度爆炸,無法檢測同一句話中遠隔詞之間的依賴關係,等等。

Attention is all you need?

於是問題就出現了,有沒有一種機制可以讓我們以並行的方式計算,讓我們從句子中提取我們需要的信息?答案是肯定的,這種機制就是注意力(attention)。

Vision Transformers 大有可為 - 天天要聞

如果我們將注意力遺忘定義為任何技術和實現方面,我們將如何着手這樣做?

讓我們舉一個例句問問自己,把注意力集中在“gave”這個詞上,我應該把注意力放在這個句子中的哪些詞上,來增加這個詞的意思?我可能會問自己一系列問題,例如,誰給的?在這種情況下,我會把注意力集中在“I”這個詞上,然後我可能會問給誰了?把我的注意力放在查理這個詞上,最後,我可能會問,你給了我什麼?最後集中在食物這個詞上。

通過問我自己這些問題,也許對句子中的每個單詞都這樣做,我也許能夠理解其中的含義和方面。現在的問題是,如何在實踐中實現這個概念?

為了理解注意力的計算,我們可以將注意力的計算與數據庫世界進行比較。當我們在數據庫中進行搜索時,我們提交一個查詢(Q),並在可用數據中搜索一個或多個滿足查詢的鍵。輸出是與查詢最相關的鍵關聯的值。

Vision Transformers 大有可為 - 天天要聞


注意力計算的情況非常相似。我們首先把要計算注意力的句子看作一組向量。每個單詞,通過一個單詞嵌入機制,被編碼成一個向量。我們認為這些向量是搜索的關鍵,關於我們正在搜索的查詢,它可以是來自同一個句子(自我注意)或來自另一個句子的單詞。在這一點上,我們需要計算查詢和每個可用鍵之間的相似性,通過縮放點積進行數學計算。這個過程將返回一系列實際值,可能彼此非常不同,但是由於我們希望獲得0和1之間的權重,其和等於1,因此我們對結果應用SoftMax。一旦獲得了權重,我們就必須將每個單詞的權重以及它與查詢的相關性乘以表示它的向量。我們最終返回這些產品的組合作為注意向量。

為了建立這種機制,我們使用 linear layers,從輸入向量開始,通過矩陣乘法生成鍵、查詢和值。鍵和查詢的組合將允許在這兩個集合之間獲得最正確的匹配,其結果將與值組合以獲得最相關的組合。

Vision Transformers 大有可為 - 天天要聞

但是,如果我們想把注意力集中在一個單詞上,這個機制就足夠了,但是如果我們想從幾個角度看這個句子,然後並行計算幾次注意力,會怎麼樣?我們使用所謂的多頭注意力,其結構類似,其結果在最後簡單地組合,以返回所有計算出的注意力的單一匯總向量。

Vision Transformers 大有可為 - 天天要聞


既然我們已經了解了應該使用哪種機制並確定了它的可並行性,那麼讓我們分析一下多頭部注意力embedded的結構以及構成transformer.的結構。

Vision Transformers 大有可為 - 天天要聞

考慮到總是一個翻譯任務,讓我們首先關注圖像的左邊部分,編碼部分,它將整個句子作為輸入從英語翻譯成意大利語。在這裡我們已經看到,與RNN方法相比有一個巨大的革命,因為它不是逐字處理句子,而是完全提交。在進行注意力計算之前,表示單詞的向量與基於正弦和餘弦的位置編碼機制相結合,該機制將單詞在句子中的位置信息嵌入向量中。這一點非常重要,因為我們知道,在任何語言中,單詞在句子中的位置都是非常相關的,如果我們想做出正確的評價,這是絕對不能丟失的信息。所有這些信息都被傳遞到一個多頭注意機制中,其結果被標準化並傳遞給一個前饋。編碼可以進行N次以獲得更有意義的信息。

但是要翻譯的句子不是唯一輸入transformer的,我們有第二塊,解碼器,它接收到transformer先前執行的輸出。例如,如果我們假設我們已經翻譯了前兩個單詞,並且我們想用意大利語預測句子的第三個單詞,我們將把前兩個翻譯的單詞傳給解碼器。將對這些單詞執行位置編碼和多頭部注意,結果將與編碼器結果相結合。對組合重新計算注意,結果通過linear layer和softmax,將成為潛在候選詞的向量,作為新翻譯詞,並且每個詞都有關聯的概率。在下一次迭代中,解碼器除了前面的單詞之外,還將接收這個單詞。

因此,這種結構被證明是非常有效和高性能的,這是因為它處理整個句子,而不是逐字逐句,保留有關單詞在句子中位置的信息,並利用注意力這一能夠有效表達句子內容的機制。

Vision Transformers 大有可為 - 天天要聞

在所有這些很好的解釋之後,你可能會認為transformer是完美的,沒有任何缺陷。很顯然,它不是這樣的,它的優點之一也是它的缺點,計算注意!

Vision Transformers 大有可為 - 天天要聞

為了計算每個單詞相對於所有其他單詞的注意力,我必須執行N²計算,即使部分可並行,仍然非常昂貴。有了這樣的複雜性,讓我們想象一下,在一段幾百字的文字上,多次計算注意力意味着什麼。

從圖形上你可以想象一個矩陣,它必須填充每個單詞相對於其他單詞的注意力值,這顯然是有昂貴的成本。必須指出的是,通常在解碼器上,可以計算隱藏的注意,避免計算查詢詞和所有後續詞之間的注意。

Vision Transformers 大有可為 - 天天要聞

有些人可能會爭論,但如果transformer帶來的許多好處都與注意力機制有關,那麼我們真的需要上面提到的所有結構嗎?但2017年的第一份谷歌大腦論文不是說“注意力就是你所需要的一切”嗎?[4] 當然是合法的,但在2021年3月,谷歌研究人員再次發表了一篇題為“注意力不是你所需要的全部”的論文[6]。那是什麼意思?研究人員進行了實驗,分析了在沒有transformer任何其他組件的情況下進行的自我注意機制的行為,發現它以雙指數速率收斂到秩1矩陣。這意味着這種機制本身實際上是無用的。那麼為什麼transformer如此強大呢?這是由於減少矩陣秩的自我注意機制與transformer的另外兩個組成部分跳躍連接和MLP之間的拉鋸戰。

Vision Transformers 大有可為 - 天天要聞

第一種方法允許路徑的分布多樣化,避免獲得所有相同的路徑,這大大降低了矩陣被降為秩1的概率。MLP由於其非線性,因此能夠提高生成矩陣的秩。相反,有人表明,規範化在避免這種自我注意機制的行為方面沒有作用。因此,注意力不是你所需要的全部,而是transformer架構設法利用它的優勢來取得令人印象深刻的結果。

Vision Transformers

到了2020年,谷歌的研究人員又一次想到了這一點,“但是,如果人們發現Transformers在自然語言處理領域如此有效,它們將如何處理圖像呢?”. 有點像NLP,我們從注意力的概念開始,但這一次適用於圖像。讓我們試着通過一個例子來理解它。

Vision Transformers 大有可為 - 天天要聞

Image from “An Image Is Worth 16x16 words” (Dosovitskiy et al)

如果我們考慮一張狗站在牆前的照片,我們中的任何人都會說這是一張“picture of a dog”,而不是一張“picture of a wall”,這是因為我們把注意力集中在圖像的主要和有區別的主體上,而這正是應用於圖像的注意力機制所做的。

既然我們理解了注意力的概念也可以擴展到圖像上,我們只需要找到一種方法,將圖像輸入到一個經典的transformer中。

我們知道 transformer把文字作為輸入向量,那麼我們怎樣才能把圖像轉換成向量呢?當然,第一種解決方案是使用圖像的所有像素並將它們“內聯”以獲得向量。但是讓我們停一下,看看如果我們選擇這個選項會發生什麼。

Vision Transformers 大有可為 - 天天要聞

我們之前說過,注意力的計算複雜度等於O(N²),這意味着如果我們必須計算每個像素相對於所有其他像素的複雜度,那麼在像256x256像素這樣的低分辨率圖像中,我們的計算量會非常大,用現在的資源絕對無法克服。所以這種方法肯定是不可行的。

解決方案非常簡單,在“一幅圖像值16x16個字”[2]一文中,提出將圖像分割成塊,然後使用線性投影將每個塊轉化為向量,將塊映射到向量空間中。

Vision Transformers 大有可為 - 天天要聞

現在我們只需要去看看Vision Transformer的架構。

Vision Transformers 大有可為 - 天天要聞

然後將圖像劃分為多個小塊(patches),這些patches通過線性投影獲得向量,這些向量與關於patches在圖像中的位置的信息耦合,並提交給經典transformer。在圖像中添加關於patches原始位置的信息是基本的,因為在線性投影過程中,即使充分理解圖像的內容非常重要,這些信息也會丟失。插入另一個向量,該向量獨立於所分析的圖像,用於獲得關於整個圖像的全局信息,實際上,與該面片對應的輸出是唯一被考慮並傳遞到MLP的輸出,MLP將返回預測類。

然而,在這個過程中,有一點是信息損失非常嚴重的。實際上,在從patch到矢量的轉換過程中,任何關於像素在patch中位置的信息都會丟失。(Transformer-in-Transformer,TnT)[3]的作者指出,這當然是一件很嚴重的事情,因為要進行質量預測,我們不希望丟失待分析圖像一部分中像素的排列。

TnT的作者接着問自己,有沒有可能找到一種更好的方法讓向量提交給Transformer?他們的建議是將圖像的每一個單獨的patch(pxp),它們本身就是3個RGB通道上的圖像,並將其轉換成一個c通道張量。然後將這個張量分成p'部分,其中p'<p,在示例p'=4中。這就產生了c維中的p'向量。這些向量現在包含關於面片內像素排列的信息。

Vision Transformers 大有可為 - 天天要聞

然後將它們串聯併線性投影,以便使它們與從原始面片的線性投影獲得並與之結合的向量大小相同。

Vision Transformers 大有可為 - 天天要聞

通過這樣做,transformer的輸入向量也會受到patch內像素排列的影響,通過這樣做,作者設法進一步提高了各種計算機視覺任務的性能。

TimeSformers

鑒於transformers在NLP中取得了巨大的成功,然後又將其應用於圖像,2021年,Facebook的研究人員試圖將這種架構應用於視頻。

直觀地說,很明顯這是可能的,因為我們都知道,視頻不過是一組幀一個接一個,幀不過是圖像。

Vision Transformers 大有可為 - 天天要聞


只有一個小細節,使他們不同於 Vision Transformers,你必須考慮到不僅是空間,而且時間。事實上,在這種情況下,當我們去計算注意力時,我們不能把這些幀看作孤立的圖像,但我們應該找到某種形式的注意力,考慮到連續幀之間發生的變化,因為它是視頻評估的中心。

為了解決這個問題,作者提出了幾種新的注意機制,從那些只關注空間的,主要用作參考點的,到那些在空間和時間之間軸向、分散或聯合計算注意的機制。

Vision Transformers 大有可為 - 天天要聞

Vision Transformers 大有可為 - 天天要聞

Image from “An Image Is Worth 16x16 words” (Dosovitskiy et al)

然而,取得最佳效果的方法是 Divided Space-Time Attention。它包括,給定一幀在瞬間t和它的一個patches作為一個查詢,計算整個幀上的空間注意,然後在查詢的同一patches中,但在前一幀和下一幀上的時間注意。

但為什麼這種方法如此有效呢?原因是它比其他方法學習更多獨立的特徵,因此能夠更好地理解不同類別的視頻。我們可以在下面的可視化中看到這一點,其中每個視頻都由空間中的一個點表示,其顏色表示它所屬的類別。

Vision Transformers 大有可為 - 天天要聞

Image from “An Image Is Worth 16x16 words” (Dosovitskiy et al)

作者還質疑了視頻分辨率和視頻幀數的相關性,發現分辨率越高,模型的準確性就越好。至於幀數,同樣隨着幀數的增加,精確度也會增加。有趣的是,不可能用比圖中顯示的幀數更多的幀數進行測試,因此潛在的精確度仍然可以提高,我們還沒有找到這種提高的上限。

Vision Transformers 大有可為 - 天天要聞

在Vision Transformers中,一個較大的訓練數據集通常會導致更好的精確度。作者也在TimeSformers上檢查了這一點,而且隨着所考慮的訓練視頻數量的增加,準確率也會增加。

Vision Transformers 大有可為 - 天天要聞

Conclusions

現在該怎麼辦?Transformers剛剛登陸計算機視覺領域,似乎下定決心要取代傳統的卷積網絡,或者至少在這一領域為自己開闢一個重要的角色。因此,科學界正處於混亂之中,試圖進一步改進Transformers,將其與各種技術結合起來,並將其應用於實際問題,最終能夠做一些直到最近才可能做到的事情。像Facebook和Google這樣的大公司正在積極開發和應用Transformers,我們可能還只是觸及了表面。

References and insights

[1] ”Gedas Bertasius, Heng Wang, and Lorenzo Torresani”. ”Is Space-Time Attention All You Need for Video Understanding?”.

[2] ”Alexey Dosovitskiy et al.”. ”An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale”.

[3] ”Kai Han et al.”. ”Transformer in Transformer”.

[4] ”Ashish Vaswani et al.”. ”Attention Is All You Need”.

[5] ”Qizhe Xie et al.”. ”Self-training with Noisy Student improves ImageNet classification”.

[6] “Yihe Dong et al.”, “Attention is Not All You Need: Pure Attention Loses Rank Doubly Exponentially with Depth”

[7] “Nicola Messina et al.”, “Transformer Reasoning Network for Image-Text Matching and Retrieval”

[8] “Nicola Messina et al.”, “Fine-grained Visual Textual Alignment for Cross-Modal Retrieval using Transformer Encoders”

[9] “Davide Coccomini”, “TimeSformer for video classification with training code”

科技分類資訊推薦

中國智能眼鏡市場增速超100%,市場格局將“風起雲湧” - 天天要聞

中國智能眼鏡市場增速超100%,市場格局將“風起雲湧”

根據國際數據公司(IDC)近日發布的《全球智能眼鏡市場季度跟蹤報告》,2025年第一季度全球智能眼鏡(Smart Eyewear)市場出貨量148.7萬台,同比增長82.3%。其中全球音頻和音頻拍攝眼鏡市場出貨量83.1萬台,同比增長219.5%;AR/VR市場出貨65.6萬台,同比增長18.1%。智能眼鏡市場在全球範圍仍然以Meta為主要發力廠商,除美國.
余承東首次揭秘鴻蒙摺疊電腦內部設計:風扇竟比兩枚硬幣還薄 - 天天要聞

余承東首次揭秘鴻蒙摺疊電腦內部設計:風扇竟比兩枚硬幣還薄

快科技6月19日消息,6月初,全球首款鴻蒙摺疊電腦——華為MateBook Fold非凡大師開售,起售價23999元。今日,華為常務董事、終端BG董事長余承東發布視頻,首次揭秘鴻蒙摺疊電腦內部設計。據介紹,鴻蒙摺疊電腦採用分布式整機架構,不僅在7.3mm超薄機身中裝下了兩個大風扇、VC散熱板、電池,還在有限的空間里塞了隱藏的內置...
培養複合型人才,華科大推出“低空經濟領航者計劃” - 天天要聞

培養複合型人才,華科大推出“低空經濟領航者計劃”

極目新聞記者 黎先才隨着數字孿生、無人機技術、北斗導航等領域的突破性發展,低空經濟正成為全球城市升維競爭的新賽道。低空經濟加快發展極目新聞記者獲悉,為破解地方“政策落地斷層、產業協同薄弱、人才供需錯配”三大瓶頸,進一步推動低空經濟理論落地與產業實踐,華中科技大學建築與城市規劃學院重磅推出“低空經濟領...
OPPO Reno 14 5G手機登陸全球市場 7月17日日本開售 - 天天要聞

OPPO Reno 14 5G手機登陸全球市場 7月17日日本開售

【CNMO科技消息】近日,CNMO注意到,OPPO Reno 14 5G手機已正式登陸全球市場。據官方消息,Reno 14 5G將於7月1日在馬來西亞率先開售,隨後在7月17日於日本上市,提供“流光綠”和“珠光白”兩種配色選擇。這款新機延續
江汽集團:尊界系列第二款、第三款產品已在加速研發 - 天天要聞

江汽集團:尊界系列第二款、第三款產品已在加速研發

IT之家 6 月 19 日消息,江汽集團官方今日發文介紹:6 月 18 日尊界 S800 汽車批量投產,該車上市 19 天大定 5000+。合肥尊界超級工廠首創多項行業技術,聯合 220 余家全球供應鏈,研發端 5000 人團隊 + 華為深度合作。另外,江汽集團透露,尊界系列第二款、第三款產品已在加速研發。IT之家昨日報道,江淮汽車與華為合作的...
余承東揭秘華為MateBook Fold鴻蒙摺疊電腦內構:如何高效散熱 - 天天要聞

余承東揭秘華為MateBook Fold鴻蒙摺疊電腦內構:如何高效散熱

IT之家 6 月 19 日消息,華為常務董事、終端 BG 董事長余承東今日發布視頻,展示如何在 MateBook Fold 中完成“極限收納挑戰”。據介紹,這台鴻蒙摺疊電腦合上時屏幕 13 英寸,展開後屏幕 18 英寸,重量只有 1.16kg,厚度 7.3mm。該機搭載了超 3 年時間打造的分布式的整體架構,裝下了兩個風扇、VC 散熱板、電池等“大件”...
更高效更安全助力金融服務提質煥新 華為擎雲 C5新品亮相金融展 - 天天要聞

更高效更安全助力金融服務提質煥新 華為擎雲 C5新品亮相金融展

IDC公布的調研數據顯示,在中國市場商用平板領域,華為擎雲在2024年全年及2025年Q1季度市場份額第一,並且優勢不斷擴大。作為行業領先品牌,華為擎雲不斷加大技術投入,持續打磨商用平板產品,在2025中國國際金融展期間推出新一代高效多能商務平板華為擎雲 C5(第3代)。華為擎雲 C5平板新品搭載HarmonyOS自主操作系統,具...
南都電商觀察|啊寶涉虛假宣傳;編造“高額獎學金”賬號被封 - 天天要聞

南都電商觀察|啊寶涉虛假宣傳;編造“高額獎學金”賬號被封

主播&達人1、百萬粉絲網紅啊寶涉虛假宣傳,被指固體飲料當葯賣據澎湃新聞,近日,因宣傳科普應對蛇咬傷而走紅的網紅“啊寶”被消費者舉報在銷售固體飲料“阿寶胃舒”的過程中宣稱可以根治胃酸胃脹等多種胃部不適,還能治療痛風、關節炎,涉嫌虛假宣傳。該名消費者提供給媒體的圖片顯示,該產品包裝盒上印有“啊寶”頭像、字...
天貓618數據出爐:453個品牌成交破億  同比增長24% - 天天要聞

天貓618數據出爐:453個品牌成交破億 同比增長24%

【環球網科技綜合報道】2025天貓618玩法簡化,用戶規模和活躍度創新高,品牌全周期成交高效增長。美妝、服飾、家電家裝、3C數碼、運動戶外、潮玩、寵物等行業成交規模及增速,蟬聯全網第一。截至6月18日24點,453個品牌在天貓618成交破億,同比去年增長24%。其中,蘋果、美的、海爾、小米、華為、源氏木語、耐克、格力、斐...