從特征檢測器到視覺轉(zhuǎn)換器:卷積神經(jīng)網(wǎng)絡(luò)的時代到此結(jié)束了嗎?
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。
近十年來,卷積神經(jīng)網(wǎng)絡(luò)一直在全球計算機視覺研究領(lǐng)域發(fā)揮著主導(dǎo)作用。但研究者們正在提出一種新方法,想要利用轉(zhuǎn)換器的功能賦予圖像更深層的意義。
轉(zhuǎn)換器最初是為自然語言處理任務(wù)而設(shè)計的,主攻神經(jīng)網(wǎng)絡(luò)機器翻譯。后來,谷歌研究院的阿列克謝·多索維斯基(Alexey Dosovitskiy)、盧卡斯·拜爾(Lucas Beyer)等人撰寫了一篇題目為《一幅圖像值得16x16個字符:大規(guī)模用于圖像識別的轉(zhuǎn)換器》的論文,提出了一種名為視覺轉(zhuǎn)換器(ViT)的架構(gòu),該架構(gòu)可通過轉(zhuǎn)換器處理圖像數(shù)據(jù)。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)存在的問題
在深入研究視覺轉(zhuǎn)換器的運行方式之前,厘清卷積神經(jīng)網(wǎng)絡(luò)的缺點和根本缺陷很有必要。首先,卷積神經(jīng)網(wǎng)絡(luò)無法編碼相對空間信息。也就是說,它僅關(guān)注于檢測某些特征,而忽略了相對空間位置。
上面兩幅圖像都會被識別為人臉,因為卷積神經(jīng)網(wǎng)絡(luò)只關(guān)注輸入圖像中是否存在某些特征,而忽略了它們相對于彼此的位置。
卷積神經(jīng)網(wǎng)絡(luò)的另一個主要缺陷是池化層。池化層會丟失很多有用的信息,比如最活躍的特征檢測器的準確位置。換句話說,它能檢測到某些特征,但卻無法傳達其在圖像中的準確位置。
轉(zhuǎn)換器簡介
從本質(zhì)上說,轉(zhuǎn)換器應(yīng)用了自我注意的概念。這個概念可以分為兩部分:自我和注意。注意指的僅僅是可訓(xùn)練的權(quán)重,它可以模擬輸入句子中各部分的重要程度。
假設(shè)輸入了一個句子,它會觀察句子中的每個單詞,并將該單詞在句子中的位置與同一句子中所有單詞(包括該單詞在內(nèi))的位置進行比較。所以說,轉(zhuǎn)換器應(yīng)用了自我注意的概念。轉(zhuǎn)換器根據(jù)這些位置線索計算分數(shù),然后用這些線索更好地編碼句子的語義或意義。
從以上示例中,大家可以發(fā)現(xiàn),轉(zhuǎn)換器中的注意單元正在比較單詞“it”與句子中包括“it”在內(nèi)的其他所有單詞的位置。不同的顏色代表著同時獨立運行的多個注意單元,目的是發(fā)現(xiàn)這些聯(lián)系中的不同模式。
一旦通過上述比較計算出一個分數(shù),它們就會經(jīng)由結(jié)構(gòu)簡單的前饋神經(jīng)元層發(fā)送出去,最后進行規(guī)范化處理。在訓(xùn)練期間,轉(zhuǎn)換器學(xué)習(xí)了這些注意向量。
模型架構(gòu)
和常規(guī)轉(zhuǎn)換器通過單詞了解句子一樣,視覺轉(zhuǎn)換器通過像素獲得類似的圖像效果。不過,這里有一個問題。與文字不同,單一像素本身并不傳達任何含義,這也是我們選擇使用卷積過濾器的原因之一(它可對一組像素進行操作)。
它們將整個圖像分成小塊圖像或單詞。所有小塊圖像都通過線性投影矩陣展平,同它們在圖像中的位置一起送入轉(zhuǎn)換器(如上圖所示)。在這一過程中,研究人員們選擇了大小為16x16的小塊圖像,所以才有了這樣詩意的研究題目。
現(xiàn)在,這些嵌入的小塊圖像通過多方面自我注意的交替層、多層感知器(結(jié)構(gòu)簡單的前饋神經(jīng)元層)和類似于常規(guī)轉(zhuǎn)換器中的層規(guī)范化,分類頭安裝在轉(zhuǎn)換器編碼器的末端,從而預(yù)測最終分類。像其他的卷積模型一樣,人們可以使用預(yù)先訓(xùn)練好的編碼器庫和一個自定義MLP層來微調(diào)模型,以適應(yīng)其分類任務(wù)。
重點
論文作者在ImageNet、CIFAR-10/100和JFT-300M(谷歌的私有數(shù)據(jù)集,擁有3億張高分辨率圖像)等各種標注數(shù)據(jù)集上訓(xùn)練了該模型。在準確性方面,他們的模型幾乎和其他先進的卷積模型一樣準確(在很多情況下甚至更準確),但訓(xùn)練時間大大減少了(減少了大約75%),而且使用的硬件資源也更少。
視覺轉(zhuǎn)換器的另一個優(yōu)點是能夠很早地了解到更高層級的關(guān)系,原因是它使用了全球注意而非局部注意。人們甚至在一開始就可以注意到那些相對于卷積神經(jīng)網(wǎng)絡(luò)很遙遠的事物。除了在訓(xùn)練過程中保持高效以外,視覺轉(zhuǎn)換器還會隨著訓(xùn)練數(shù)據(jù)的增多而表現(xiàn)愈佳。
圖源:unsplash
難道這意味著卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)過時,而視覺轉(zhuǎn)換器成為了新常態(tài)嗎?
當然不是!雖然卷積神經(jīng)網(wǎng)絡(luò)存在不足,但它在處理對象檢測和圖像分類等任務(wù)方面仍然十分高效。作為最先進的卷積架構(gòu),ResNet和EfficientNet仍然占據(jù)著處理此類任務(wù)的主導(dǎo)地位。然而,轉(zhuǎn)換器在自然語言處理任務(wù)(比如語言翻譯)方面取得了突破,在計算機視覺領(lǐng)域顯示出了不小的潛力。
在這個不斷發(fā)展的研究領(lǐng)域,未來會發(fā)生什么?只有時間會告訴我們答案。