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