視覺應(yīng)用作為人工智能最普及的基礎(chǔ)設(shè)施層,重要性卻不言而喻。它可以說是人工智能機(jī)器的‘眼睛’,賦予它感知的能力,使它能夠‘看懂’這個(gè)世界。而計(jì)算機(jī)視覺中的深度神經(jīng)網(wǎng)絡(luò)(DNN)架構(gòu)則是這雙眼睛的‘視網(wǎng)膜’,賦予了它可視的源泉。
CNN橫空出世
2012年,一個(gè)名為AlexNet的CNN算法贏得了年度計(jì)算機(jī)視覺競(jìng)賽——ImageNet大規(guī)模視覺識(shí)別挑戰(zhàn)賽(ILSVRC)的冠軍。該競(jìng)賽的任務(wù)是讓機(jī)器進(jìn)行學(xué)習(xí)并基于ImageNet數(shù)據(jù)集‘分類’1000個(gè)不同的圖像,AlexNet實(shí)現(xiàn)了15.3%的top-5錯(cuò)誤率。而往屆基于傳統(tǒng)編程模型的獲勝者,它們實(shí)現(xiàn)的top-5錯(cuò)誤率大約為26%,至此,CNN橫空出世。
CNN(Convolutional Neural Network)即卷積神經(jīng)網(wǎng)絡(luò),它是一種前饋神經(jīng)網(wǎng)絡(luò),也是計(jì)算機(jī)視覺中最主要和最經(jīng)常使用的DNN架構(gòu)。CNN在大型圖像處理方面表現(xiàn)出色,可以說它的出現(xiàn)在圖像分類領(lǐng)域具有革命性意義。
在CNN出現(xiàn)前,圖像識(shí)別和分類對(duì)于人工智能來說是一個(gè)難題,原因有二,一是圖像需要處理的數(shù)據(jù)量很大,導(dǎo)致成本高、效率低;二是,圖像在數(shù)字化過程中很難保留其原有特征,導(dǎo)致圖像處理的準(zhǔn)確率不高。
而CNN的出現(xiàn)很好解決了上述兩大難題。CNN主要由三個(gè)部分構(gòu)成,卷積層、池化層和全連接層。卷積層負(fù)責(zé)提取圖像特征,將大量的圖像數(shù)據(jù)‘大事化小’,即將圖像的大量參數(shù)降維為少量參數(shù),再做處理,而池化層則對(duì)提取的圖像特征進(jìn)行降維及防止過擬合,保留圖像的原始特征,最后通過全連接層輸出結(jié)果。
隨著CNN模型的不斷完善,在2016年和2017年的ILSVRC挑戰(zhàn)賽上,獲勝的CNN甚至實(shí)現(xiàn)了比人類更高的圖像分類準(zhǔn)確度。這也讓CNN在諸多視覺領(lǐng)域得到廣泛應(yīng)用,如目標(biāo)檢測(cè)、場(chǎng)景分割和全景分割等。
但CNN是一種只關(guān)注局部信息的網(wǎng)絡(luò)結(jié)構(gòu),將它使用在圖像特征提取上或許還可以,但它在文本信息處理上則難以捕捉和存儲(chǔ)長(zhǎng)距離的依賴信息。
Transformer應(yīng)運(yùn)而生
2017年,Google Brain在題為《Attention is all you need》的論文中首次詳細(xì)介紹了Transformer(轉(zhuǎn)換器)模型,該模型最初是為執(zhí)行自然語言處理(NLP)任務(wù)而設(shè)計(jì)的,具體應(yīng)用包括翻譯、問答以及對(duì)話式AI等。目前大火的ChatGPT的GPT-3訓(xùn)練模型就是Transformer模型的一種。
而后在2021年,Google Brain又嘗試將Transformer模型應(yīng)用于圖像分類,取得了令人驚訝的結(jié)果。通常Transformer模型在執(zhí)行NLP任務(wù)時(shí),需要處理的是一連串單詞和符號(hào),Google Brain將其應(yīng)用于圖像分類時(shí),則是將圖像切分成一個(gè)個(gè)小塊,然后將這些小塊圖像中的像素放入矢量中,再將這些矢量傳送至Transformer中進(jìn)行處理,最后得到的分類準(zhǔn)確率甚至比當(dāng)時(shí)最先進(jìn)的CNN還高。
Transformer Vs CNN架構(gòu)對(duì)比
那為何Transformer能夠挑戰(zhàn)在視覺應(yīng)用領(lǐng)域稱霸十幾年的CNN呢?這可以從兩者的結(jié)構(gòu)和機(jī)制對(duì)比中窺得一二。
如下圖所示的Transformer和CNN(以3X3卷積為例)的架構(gòu)圖可見,Transformer和CNN的架構(gòu)非常相似,Transformer的Feed Forward層的功能和CNN的1X1卷積層的相同,都使用矩陣乘法對(duì)像素中的每個(gè)點(diǎn)進(jìn)行線性變換。
(圖源:新思科技)
Transformer和CNN架構(gòu)最大的不同在于Multi-Head Attention層和3X3卷積層。這兩個(gè)層的作用都是混合相鄰像素之間的信息。但如下圖所示,這兩個(gè)機(jī)制混合信息的方式則非常不同。
(圖源:新思科技)
以卷積方式混合信息是基于各個(gè)像素的固定空間位置,以3X3卷積為例,它只采用相鄰像素(即中心像素周圍的9個(gè)像素)來計(jì)算加權(quán)和;而Attention混合信息的方式則不是基于固定空間位置的像素,而是更關(guān)注于權(quán)重。例如,它會(huì)學(xué)習(xí)其它像素的類型,獲取其它像素與目標(biāo)像素之間相似的權(quán)重,從而判斷出需要混合哪些像素。
所以,相較于卷積,Attention機(jī)制具有更強(qiáng)的學(xué)習(xí)能力和表達(dá)更復(fù)雜關(guān)系的能力。此外,Transformer還有一個(gè)CNN沒有的特性,即Embedding,它的主要功能是為輸入的像素添加位置信息。
從上可以看出,兩種架構(gòu)各有特點(diǎn)。但實(shí)時(shí)視覺應(yīng)用不僅需要準(zhǔn)確度,還需要更高的性能(fps)、縮小模型尺寸以及功率和面積效率等。Transformer在準(zhǔn)確度方面高于CNN,但在fps方面則可能遜色于CNN;Transformer的attention機(jī)制可進(jìn)行全局特征的提取,而CNN在局部建模方面更有效。兩者各具特色,在未來的AI應(yīng)用中,兩者不會(huì)是替代關(guān)系,而更多的是組合應(yīng)用。
加速器加持
隨著人工智能技術(shù)的不斷發(fā)展,不管是基于CNN還是Transformer架構(gòu),需要處理的任務(wù)都越來越復(fù)雜,需要計(jì)算的量也將顯著增加,從而導(dǎo)致它們的結(jié)構(gòu)越來越龐大。為了加快任務(wù)完成的時(shí)間和效率,這時(shí),就需要加速器的加持。但目前很多專門為CNN設(shè)計(jì)的加速器無法兼容有效地執(zhí)行Transformer。
Synopsys的ARC? NPX6 NPU IP提供了一個(gè)兩全其美的解決方案,它是可同時(shí)應(yīng)用于CNN和Transformer的AI加速器。NPX6的計(jì)算單元中包含卷積加速器(Convolution Accelerator),該加速器旨在處理對(duì)CNN和轉(zhuǎn)換器都至關(guān)重要的矩陣乘法。此外,張量加速器(Tencor Accelerator)也至關(guān)重要,因?yàn)樗梢蕴幚硭衅渌蔷矸e張量算子集架構(gòu)(TOSA)運(yùn)算,包括轉(zhuǎn)換器運(yùn)算。
Transformer跨界之旅不停歇
目前,Transformer架構(gòu)在不斷地被加強(qiáng)和擴(kuò)展,衍生出很多不同的變種模型,使其應(yīng)用領(lǐng)域不斷擴(kuò)大,跨界之旅不停歇。
2022年,Google團(tuán)隊(duì)提出了Vision Transformer(ViT),直接利用Transformer對(duì)圖像進(jìn)行分類,而無需卷積網(wǎng)絡(luò)。該模型的準(zhǔn)確率和識(shí)別時(shí)間均高于當(dāng)時(shí)最先進(jìn)的CNN架構(gòu)。所以,ViT一經(jīng)發(fā)布,就引起了業(yè)界轟動(dòng),它已經(jīng)成為了圖像分類領(lǐng)域最著名的方法之一。但ViT需要進(jìn)行的計(jì)算量非常大,導(dǎo)致其fps性能降低。
而Swin Transformer則采用了一種新的Attention方式,將Transformer的應(yīng)用擴(kuò)展至視頻領(lǐng)域。視頻相較于圖片來說,增加了時(shí)間維度,所以需要進(jìn)行三維計(jì)算。SwinTransformer通過將Attention分別應(yīng)用于時(shí)間和空間,可以實(shí)現(xiàn)動(dòng)作識(shí)別,被廣泛應(yīng)用于動(dòng)作分類等領(lǐng)域。
除了基于Transformer進(jìn)行擴(kuò)展外,也有AI團(tuán)隊(duì)將CNN和Transformer進(jìn)行組合應(yīng)用。特斯拉AI團(tuán)隊(duì)就使用Transformer對(duì)矢量空間進(jìn)行預(yù)測(cè)。CNN首先對(duì)車身上安裝的每個(gè)攝像頭拍攝的圖片進(jìn)行特征提取,Transformer則基于這些提取特征進(jìn)行預(yù)測(cè)。
蘋果于2022年初推出的MobileViT也是CNN和Transformer結(jié)合應(yīng)用的案例之一。MobileViT針對(duì)移動(dòng)應(yīng)用程序的視覺分類創(chuàng)建了輕量級(jí)模型。與僅使用CNN的MobileNet相比,MobileViT使相同尺寸的模型(6M系數(shù))的準(zhǔn)確度提高了3%。
結(jié)語
如前文所述,CNN和Transformer各有各的技術(shù)特點(diǎn),未來很長(zhǎng)一段時(shí)間內(nèi),兩者不會(huì)是取代和被取代的關(guān)系,而是互相融合、取長(zhǎng)補(bǔ)短,兩者組合應(yīng)用的案例會(huì)越來越多。這種組合或許也會(huì)引領(lǐng)新一代AI的發(fā)展。
作者: 蘇嵐