Transformer將在AI領(lǐng)域一統(tǒng)天下?現(xiàn)在下結(jié)論還為時過早
從自然語言處理任務(wù)起家,又在圖像分類和生成領(lǐng)域大放異彩,所向披靡的 Transformer 會成為下一個神話嗎?
想象一下你走進一家本地的五金店,在貨架上看到一種新型的錘子。你聽說過這種錘子:它比其他錘子敲得更快、更準確,而且在過去的幾年里,在大多數(shù)用途中,它已經(jīng)淘汰了許多其他錘子。
此外,通過一些調(diào)整,比如這里加一個附件,那里擰一個螺絲,這種錘子還能變成一把鋸,其切割速度能媲美其他任何替代品。一些處于工具開發(fā)前沿的專家表示,這把錘子可能預(yù)示著所有工具將融合到一個設(shè)備中。
類似的故事正在人工智能領(lǐng)域上演。這種多功能的新錘子是一種人工神經(jīng)網(wǎng)絡(luò)——一種在現(xiàn)有數(shù)據(jù)上進行訓(xùn)練以「學(xué)習(xí)」如何完成某些任務(wù)的節(jié)點網(wǎng)絡(luò)——稱為 Transformer。它最初用于處理語言任務(wù),但最近已經(jīng)開始影響其他 AI 領(lǐng)域。
Transformer 最初出現(xiàn)在 2017 年的一篇論文中:《Attention Is All You Need》。在其他人工智能方法中,系統(tǒng)會首先關(guān)注輸入數(shù)據(jù)的局部 patch,然后構(gòu)建整體。例如,在語言模型中,鄰近的單詞首先會被組合在一起。相比之下,Transformer 運行程序以便輸入數(shù)據(jù)中的每個元素都連接或關(guān)注其他元素。研究人員將此稱為「自注意力」。這意味著一旦開始訓(xùn)練,Transformer 就可以看到整個數(shù)據(jù)集的跡。
在 Transformer 出現(xiàn)之前,人工智能在語言任務(wù)上的進展一直落后于其他領(lǐng)域的發(fā)展。「在過去 10 年發(fā)生的這場深度學(xué)習(xí)革命中,自然語言處理在某種程度上是后來者,」馬薩諸塞大學(xué)洛厄爾分校的計算機科學(xué)家 Anna Rumshisky 說,「從某種意義上說,NLP 曾落后于計算機視覺,而 Transformer 改變了這一點。」
Transformer 很快成為專注于分析和預(yù)測文本的單詞識別等應(yīng)用程序的引領(lǐng)者。它引發(fā)了一波工具浪潮,比如 OpenAI 的 GPT-3 可以在數(shù)千億個單詞上進行訓(xùn)練并生成連貫的新文本。
Transformer 的成功促使人工智能領(lǐng)域的研究者思考:這個模型還能做些什么?
答卷正在徐徐展開——Transformer 被證明具有驚人的豐富功能。在某些視覺任務(wù)中,例如圖像分類,使用 Transformer 的神經(jīng)網(wǎng)絡(luò)比不使用 Transformer 的神經(jīng)網(wǎng)絡(luò)更快、更準確。對于其他人工智能領(lǐng)域的新興研究,例如一次處理多種輸入或完成規(guī)劃任務(wù),Transformer 也可以處理得更多、更好。
「Transformer 似乎在機器學(xué)習(xí)領(lǐng)域的許多問題上具有相當大的變革性,包括計算機視覺,」在慕尼黑寶馬公司從事與自動駕駛汽車計算機視覺工作的 Vladimir Haltakov 說。
就在十年前,AI 的不同子領(lǐng)域之間還幾乎是互不相通的,但 Transformer 的到來表明了融合的可能性。「我認為 Transformer 之所以如此受歡迎,是因為它展示出了通用的潛力,」德克薩斯大學(xué)奧斯汀分校的計算機科學(xué)家 Atlas Wang 說:「我們有充分的理由嘗試在整個 AI 任務(wù)范圍內(nèi)嘗試使用 Transformer。」
從「語言」到「視覺」
在《Attention Is All You Need》發(fā)布幾個月后,擴展 Transformer 應(yīng)用范圍的最有希望的動作就開始了。Alexey Dosovitskiy 當時在谷歌大腦柏林辦公室工作,正在研究計算機視覺,這是一個專注于教授計算機如何處理和分類圖像的 AI 子領(lǐng)域。
與該領(lǐng)域的幾乎所有其他人一樣,他一直使用卷積神經(jīng)網(wǎng)絡(luò) (CNN) 。多年來,正是 CNN 推動了深度學(xué)習(xí),尤其是計算機視覺領(lǐng)域的所有重大飛躍。CNN 通過對圖像中的像素重復(fù)應(yīng)用濾波器來進行特征識別。基于 CNN,照片應(yīng)用程序可以按人臉給你的照片分門別類,或是將牛油果與云區(qū)分開來。因此,CNN 被認為是視覺任務(wù)必不可少的。
當時,Dosovitskiy 正在研究該領(lǐng)域最大的挑戰(zhàn)之一,即在不增加處理時間的前提下,將 CNN 放大:在更大的數(shù)據(jù)集上訓(xùn)練,表示更高分辨率的圖像。但隨后他看到,Transformer 已經(jīng)取代了以前幾乎所有與語言相關(guān)的 AI 任務(wù)的首選工具。「我們顯然從正在發(fā)生的事情中受到了啟發(fā),」他說,「我們想知道,是否可以在視覺上做類似的事情?」 這個想法某種程度上說得通——畢竟,如果 Transformer 可以處理大數(shù)據(jù)集的單詞,為什么不能處理圖片呢?
最終的結(jié)果是:在 2021 年 5 月的一次會議上,一個名為 Vision Transformer(ViT)的網(wǎng)絡(luò)出現(xiàn)了。該模型的架構(gòu)與 2017 年提出的第一個 Transformer 的架構(gòu)幾乎相同,只有微小的變化,這讓它能夠做到分析圖像,而不只是文字。「語言往往是離散的,」Rumshisky 說:「所以必須使圖像離散化。」
ViT 團隊知道,語言的方法無法完全模仿,因為每個像素的自注意力在計算時間上會非常昂貴。所以,他們將較大的圖像劃分為正方形單元或 token。大小是任意的,因為 token 可以根據(jù)原始圖像的分辨率變大或變小(默認為一條邊 16 像素),但通過分組處理像素,并對每個像素應(yīng)用自注意力,ViT 可以快速處理大型訓(xùn)練數(shù)據(jù)集,從而產(chǎn)生越來越準確的分類。
Transformer 能夠以超過 90% 的準確率對圖像進行分類,這比 Dosovitskiy 預(yù)期的結(jié)果要好得多,并在 ImageNet 圖像數(shù)據(jù)集上實現(xiàn)了新的 SOTA Top-1 準確率。ViT 的成功表明,卷積可能不像研究人員認為的那樣對計算機視覺至關(guān)重要。
與 Dosovitskiy 合作開發(fā) ViT 的谷歌大腦蘇黎世辦公室的 Neil Houlsby 說:「我認為 CNN 很可能在中期被視覺 Transformer 或其衍生品所取代。」他認為,未來的模型可能是純粹的 Transformer,或者是為現(xiàn)有模型增加自注意力的方法。
一些其他結(jié)果驗證了這些預(yù)測。研究人員定期在 ImageNet 數(shù)據(jù)庫上測試他們的圖像分類模型,在 2022 年初,ViT 的更新版本僅次于將 CNN 與 Transformer 相結(jié)合的新方法。而此前長期的冠軍——沒有 Transformer 的 CNN,目前只能勉強進入前 10 名。
Transformer 的工作原理
ImageNet 結(jié)果表明,Transformer 可以與領(lǐng)先的 CNN 競爭。但谷歌大腦加州山景城辦公室的計算機科學(xué)家 Maithra Raghu 想知道,它們是否和 CNN 一樣「看到」圖像。神經(jīng)網(wǎng)絡(luò)是一個難以破譯的「黑盒子」,但有一些方法可以窺探其內(nèi)部——例如通過逐層檢查網(wǎng)絡(luò)的輸入和輸出了解訓(xùn)練數(shù)據(jù)如何流動。Raghu 的團隊基本上就是這樣做的——他們將 ViT 拆開了。
她的團隊確定了自注意力在算法中導(dǎo)致不同感知的方式。歸根結(jié)底,Transformer 的力量來自于它處理圖像編碼數(shù)據(jù)的方式。「在 CNN 中,你是從非常局部的地方開始,然后慢慢獲得全局視野,」Raghu 說。CNN 逐個像素地識別圖像,通過從局部到全局的方式來識別角或線等特征。但是在帶有自注意力的 Transformer 中,即使是信息處理的第一層也會在相距很遠的圖像位置之間建立聯(lián)系(就像語言一樣)。如果說 CNN 的方法就像從單個像素開始并用變焦鏡頭縮小遠處物體的像的放大倍數(shù),那么 Transformer 就是慢慢地將整個模糊圖像聚焦。
這種差異在 Transformer 最初專注的語言領(lǐng)域更容易理解,思考一下這些句子:「貓頭鷹發(fā)現(xiàn)了一只松鼠。它試圖用爪子抓住它,但只抓住了尾巴的末端。」第二句的結(jié)構(gòu)令人困惑:「它」指的是什么?只關(guān)注「它」鄰近的單詞的 CNN 會遇到困難,但是將每個單詞與其他單詞連接起來的 Transformer 可以識別出貓頭鷹在抓松鼠,而松鼠失去了部分尾巴。
顯然,Transformer 處理圖像的方式與卷積網(wǎng)絡(luò)有著本質(zhì)上的不同,研究人員變得更加興奮。Transformer 在將數(shù)據(jù)從一維字符串(如句子)轉(zhuǎn)換為二維數(shù)組(如圖像)方面的多功能性表明,這樣的模型可以處理許多其他類型的數(shù)據(jù)。例如,Wang 認為,Transformer 可能是朝著實現(xiàn)神經(jīng)網(wǎng)絡(luò)架構(gòu)的融合邁出的一大步,從而產(chǎn)生了一種通用的計算機視覺方法——也許也適用于其他 AI 任務(wù)。「當然,要讓它真正發(fā)生是有局限性的,但如果有一種可以通用的模型,讓你可以將各種數(shù)據(jù)放在一臺機器上,那肯定是非常棒的。」
關(guān)于 ViT 的展望
現(xiàn)在研究人員希望將 Transformer 應(yīng)用于一項更艱巨的任務(wù):創(chuàng)造新圖像。GPT-3 等語言工具可以根據(jù)其訓(xùn)練數(shù)據(jù)生成新文本。在去年發(fā)表的一篇論文《TransGAN: Two Pure Transformers Can Make One Strong GAN, and That Can Scale Up》中,Wang 組合了兩個 Transformer 模型,試圖對圖像做同樣的事情,但這是一個困難得多的問題。當雙 Transformer 網(wǎng)絡(luò)在超過 200000 個名人的人臉上進行訓(xùn)練時,它以中等分辨率合成了新的人臉圖像。根據(jù)初始分數(shù)(一種評估神經(jīng)網(wǎng)絡(luò)生成的圖像的標準方法),生成的名人面孔令人印象深刻,并且至少與 CNN 創(chuàng)建的名人一樣令人信以為真。
Wang 認為,Transformer 在生成圖像方面的成功比 ViT 在圖像分類方面的能力更令人驚訝。「生成模型需要綜合能力,需要能夠添加信息以使其看起來合理,」他說。與分類領(lǐng)域一樣,Transformer 方法正在生成領(lǐng)域取代卷積網(wǎng)絡(luò)。
Raghu 和 Wang 還看到了 Transformer 在多模態(tài)處理中的新用途。「以前做起來比較棘手,」Raghu 說,因為每種類型的數(shù)據(jù)都有自己的專門模型,方法之間是孤立的。但是 Transformer 提出了一種組合多個輸入源的方法。
「有很多有趣的應(yīng)用程序可以結(jié)合其中一些不同類型的數(shù)據(jù)和圖像。」例如,多模態(tài)網(wǎng)絡(luò)可能會為一個系統(tǒng)提供支持,讓系統(tǒng)除了聽一個人的聲音外,還可以讀取一個人的唇語。「你可以擁有豐富的語言和圖像信息表征,」Raghu 說,「而且比以前更深入。」
這些面孔是在對超過 200000 張名人面孔的數(shù)據(jù)集進行訓(xùn)練后,由基于 Transformer 的網(wǎng)絡(luò)創(chuàng)建的。
新的一系列研究表明了 Transformer 在其他人工智能領(lǐng)域的一系列新用途,包括教機器人識別人體運動、訓(xùn)練機器識別語音中的情緒以及檢測心電圖中的壓力水平。另一個帶有 Transformer 組件的程序是 AlphaFold,它以快速預(yù)測蛋白質(zhì)結(jié)構(gòu)的能力,解決了五十年來蛋白質(zhì)分子折疊問題,成為了名噪一時的頭條新聞。
Transformer isn't all you need
即使 Transformer 有助于整合和改進 AI 工具,但和其他新興技術(shù)一樣,Transformer 也存在代價高昂的特點。一個 Transformer 模型需要在預(yù)訓(xùn)練階段消耗大量的計算能力,才能擊敗之前的競爭對手。
這可能是個問題。「人們對高分辨率的圖像越來越感興趣,」Wang 表示。訓(xùn)練費用可能是阻礙 Transformer 推廣開來的一個不利因素。然而,Raghu 認為,訓(xùn)練障礙可以借助復(fù)雜的濾波器和其他工具來克服。
Wang 還指出,盡管視覺 transformer 已經(jīng)在推動 AI 領(lǐng)域的進步,但許多新模型仍然包含了卷積的最佳部分。他說,這意味著未來的模型更有可能同時使用這兩種模式,而不是完全放棄 CNN。
同時,這也表明,一些混合架構(gòu)擁有誘人的前景,它們以一種當前研究者無法預(yù)測的方式利用 transformer 的優(yōu)勢。「也許我們不應(yīng)該急于得出結(jié)論,認為 transformer 就是最完美的那個模型,」Wang 說。但越來越明顯的是,transformer 至少會是 AI shop 里所有新型超級工具的一部分。