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