2017 年在 Google的一篇研究論文中首次提出了Transformer模型,它最初是為自然語言處理 (NLP) 任務而設計的。最近,研究人員將Transformer應用在了視覺應用領域(在過去十年中由卷積神經網絡 (CNNs) 占據主導地位),并獲得了有趣的結果。事實證明,Transformer對圖像分類和物體檢測等視覺任務的適應性令人驚訝。這些結果為Transformer贏得了在視覺任務中與 CNN 比肩的地位。這些任務旨在提高機器對環境的理解,以用于情境感知視頻推理等未來應用。
2012 年,名為 AlexNet 的卷積神經網絡(CNN)贏得了 ImageNet 大規模視覺識別挑戰賽 (ILSVRC),這是一項年度計算機視覺競賽。任務是讓您的機器學習并“分類”1000 個不同的圖像(基于 ImageNet 數據集)。AlexNet 實現了 15.3% 的 top-5 錯誤率。往屆的獲勝者是基于傳統編程模型,實現的 top-5 錯誤率大約是 26%(見圖 1)。在這之后,CNN 一直占據統治地位。2016 年和 2017 年,獲勝的 CNN 實現了比人類更高的準確度。大多數參與者實現了超過 95% 的準確度,促使 ImageNet 在 2018 年推出一項難度更高的全新挑戰。CNN 在 ILSVRC 挑戰賽中的統治地位推動了人們大量研究如何將 CNN 應用于實時視覺應用。在準確度不斷提高的同時,ResNet 和 EfficientNet 分別于 2015 年和 2020 年將效率提升了 10 倍。實時視覺應用不僅需要準確度,還需要更高的性能(推理/秒或每秒幀數 (fps))、縮小模型尺寸(提高帶寬),以及功率和面積效率。
圖 1:ILSVRC 結果凸顯了 AlexNet(一種卷積神經網絡)帶來了顯著提高的視覺分類準確度。
分類是更復雜、更有用的視覺應用的基石。這些視覺應用包括對象檢測(在二維圖像中找到對象的位置)、語義分割(對圖像中的每個像素進行分組/標記)和全景分割(識別對象位置以及對每個對象中的每個像素進行標記/分組)。2017 年 Google Brain 的論文中首次介紹的Transformer旨在改進遞歸神經網絡 (RNN) 和長短時記憶 (LSTM),用于翻譯、問答和對話式 AI 等 NLP 任務。RNN 和 LSTM 已用于處理順序數據(即數字化語言和語音),但其架構不易并行化,因此通常具有非常有限的帶寬,難以訓練。Transformer的結構與 RNN 和 LSTM 相比具有幾個優勢。與必須按順序讀取一串文本的 RNN 和 LSTM 不同,Transformer明顯更易并行化,并且可以同時以完整的單詞順序讀取,從而更好地學習文本字符串中單詞之間的上下文關系。
2018年底,谷歌提出了預訓練模型雙向編碼表征Transformer(BERT),其在多項NLP任務上均取得了突破性的進展,大受歡迎,以至于被納入 MLCommons 的 MLPerf 神經網絡推理基準測試套件中。除了準確度高之外,Transformer還更容易被訓練,使大型Transformer成為可能。MTM、GPT-3、T5、ALBERT、RoBERTa、T5、Switch AS 只是處理 NLP 任務的一些大型轉換器。由 OpenAI 于 2020 年推出的生成預訓練Transformer3 (GPT-3) 使用深度學習來生成類似人類的文本,準確度很高,以至于很難判定該文本是否由人類編寫。
像 BERT 這樣的Transformer可以成功地應用于其他應用領域,并具有極具前景的嵌入式使用效果。可以在廣泛的數據上訓練并應用于各種應用的 AI 模型被稱為基礎模型。在其中的視覺領域,Transformer取得了令人驚嘆的成就。
應用于視覺的Transformer
2021 年發生了一些非凡的事情。Google Brain 團隊將其Transformer模型應用于圖像分類。一連串單詞和二維圖像之間存在很大差異,但 Google Brain 團隊將圖像切成小塊,將這些小塊圖像中的像素放入矢量中,并將矢量饋送到Transformer中。結果令人驚訝。在不對模型進行任何修改的情況下,Transformer在分類方面的準確度優于最先進的 CNN。雖然準確度不是實時視覺應用的唯一指標(功率、成本、面積)和推理/秒也很重要),但這在視覺領域中堪稱一項重大成果。
圖 2:Transformer和 CNN 結構對比
比較 CNN 和Transformer對了解其類似結構很有幫助。在圖 2 中,Transformer的結構由圖像左側的方框組成。為了進行比較,我們使用與 ResNet 中發現的結構類似的典型 CNN 結構來繪制 CNN 的類似結構。ResNet 是具有逐元素加法的 1x1 卷積。我們發現Transformer的前饋部分在功能上與 CNN 的 1x1 卷積相同。這些是矩陣乘法運算,可在特征圖中的每個點上應用線性轉換。
Transformer和 CNN 之間的區別在于兩者如何混合來自相鄰像素的信息。這發生在Transformer的多頭注意力和卷積網絡的 3x3 卷積中。對于CNN,混合的信息基于每個像素的固定空間位置,如圖 3 中所示。對于 3x3 卷積,使用相鄰像素(中心像素周圍的九個像素)計算加權和。
圖 3:說明 CNN 的卷積和Transformer的注意力網絡在混合其他令牌/像素的特征方面有何差異。
Transformer的注意力機制不僅基于位置,還基于學習屬性來混合數據。在訓練期間,Transformer可以學習關注其他像素。注意力網絡具有更強的學習和表達更復雜關系的能力。
推出視覺Transformer轉換器和偏移窗口Transformer
專門用于視覺任務的新型Transformer正在興起。專門從事圖像分類的視覺Transformer (ViT) 現在正在準確度方面擊敗 CNN(盡管要實現這種準確度,ViT需要用非常大的數據集進行訓練)。ViT 還需要更多的計算,這會降低其 fps 性能。
Transformer也正在應用于對象檢測和語義分割。Swin(偏移窗口)Transformer為對象檢測 (COCO) 和語義分割 (ADE20K) 提供了最先進的準確度。雖然 CNN 通常應用于靜態圖像,但由于對以前或將來的幀不了解,轉換器可以應用于視頻幀。SWIN 的變體可直接應用于視頻,用于動作分類等用途。將Transformer的注意力分別應用于時間和空間,為 Kinetics-400 和 Kinetics-600 動作分類基準測試提供了最先進的結果。
Apple 于 2022 年初推出的 MobileViT(圖 4)提供了Transformer和CNN的有趣組合。MobileViT 結合了Transformer和 CNN 功能,為針對移動應用程序的視覺分類創建了輕量級模型。與僅使用 CNN 的 MobileNet 相比,這種Transformer和CNN的組合使相同尺寸的模型(6M 系數)的準確度提高了 3%。盡管 MobileViT 的性能優于 MobileNet,但它仍然慢于當今支持 CNN 但沒有針對Transformer進行優化的手機上的 CNN 實現。要想利用Transformer的優勢,未來的視覺 AI 加速器將需要更好的Transformer支持。
圖 4:MobileViT:輕量、通用和移動友好型視覺Transformer(圖片來源:https://arxiv.org/abs/2110.02178)
盡管Transformer在視覺任務方面取得了成功,但卷積網絡不太可能很快消失。這兩種方法之間仍然存在權衡,Transformer具有更高的準確度,但 fps 性能低得多,需要更多的計算和數據移動。為了規避兩者的弱點,將Transformer和 CNN 相結合可以產生具有巨大前景的靈活解決方案。
Transformer的實現盡管在架構上存在相似之處,但無法讓專門為 CNN 設計的加速器有效地執行Transformer。至少需要考慮架構增強,以處理注意力機制。
新思科技 的 ARC NPX6 NPU IP 是 AI 加速器的一個例子,該加速器旨在高效處理 CNN 和Transformer。NPX6 的計算單元(圖 5)包括卷積加速器,該加速器旨在處理對 CNN 和Transformer都至關重要的矩陣乘法。張量加速器也至關重要,因為它旨在處理所有其他非卷積張量算子集架構 (TOSA) 運算,包括Transformer運算。
圖 5:新思科技 ARC NPX6 NPU IP
總結
視覺Transformer已經取得了快速進步,并將繼續保持。這些基于注意力的網絡在準確度方面優于僅支持 CNN 的網絡。將視覺Transformer與卷積相結合的模型在推理(如 MobileViT)方面更高效,并提高了性能效率。這種新型神經網絡模型正在開啟解決未來 AI 任務的大門,例如完全視覺感知,其需要的知識單靠視覺可能不易獲取。Transformer與 CNN 相結合,引領著新一代 AI 的發展。選擇同時支持 CNN 和Transformer的架構,對于新興 AI 應用的 SoC 成功至關重要。
審核編輯 :李倩
-
神經網絡
+關注
關注
42文章
4779瀏覽量
101032 -
計算機視覺
+關注
關注
8文章
1700瀏覽量
46073 -
數據集
+關注
關注
4文章
1209瀏覽量
24789
原文標題:Transformer的興起:提高實時視覺處理的準確度
文章出處:【微信號:elecfans,微信公眾號:電子發燒友網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論