Transformer:ChatGPT語言模型背后的核心技術
Transformer是一種用于序列到序列(Sequence-to-Sequence)任務的神經網絡模型,例如機器翻譯,語音識別和生成對話等。它使用了注意力機制來計算輸入序列和輸出序列之間的關系。
Transformer的主要優點是它可以并行地處理輸入序列中的所有位置,因此在訓練和推理時都有著很好的效率。此外,Transformer沒有使用循環結構,因此它不會受長序列的影響,并且在處理長序列時不會出現梯度消失或爆炸的問題。
相比之下,基于循環的模型(例如基于LSTM的模型)可能在處理長序列時會出現問題,因為它們必須逐個處理序列中的位置,這會使它們的訓練速度變慢。另一方面,Transformer在處理短序列時可能不如基于循環的模型那么準確,因為它沒有循環結構可以保留先前位置的信息。
總的來說,Transformer是一種很有效的模型,特別是在處理較長的序列和并行化計算時。它已經成為了NLP(自然語言處理)領域中許多序列到序列任務的首選模型。
Transformer模型最初是由Vaswani等人在2017年提出的,并且在自然語言處理(NLP)領域得到了廣泛應用。
其中著名的模型包括:
· BERT(Bidirectional Encoder Representations from Transformers):這是一種語言模型,它能夠在許多NLP任務中取得最先進的性能。
· GPT(Generative Pre-training Transformer):這是一種自然語言生成模型,能夠生成各種文本,包括新聞文章,小說和代碼等。
· Transformer-XL:這是一種擴展的Transformer模型,能夠處理更長的序列,并且在很多NLP任務中取得了最先進的性能。
除了NLP領域,Transformer也被用于其他領域,包括計算機視覺,音頻信號處理和強化學習等。
Transformer是一種非常強大的神經網絡模型,但是它也有一些局限性。
其中一個局限性是它依賴于輸入序列的長度。由于Transformer使用注意力機制來計算輸入序列和輸出序列之間的關系,因此它可能難以處理較長的序列。雖然有一些變體,例如Transformer-XL,可以更好地處理長序列,但是它們仍然存在這個問題。
另一個局限性是Transformer模型對于處理序列中的時間依賴性不太友好。由于Transformer沒有使用循環結構,因此它無法保留序列中先前位置的信息。這意味著Transformer在處理序列中的時間依賴性時可能不太準確,例如在處理語音信號時。
總的來說,Transformer是一種很有效的模型,但是它并不是萬能的。在選擇模型時,應該考慮序列的長度和時間依賴性等因素,并確定Transformer是否是合適的選擇。
Transformer基本介紹
transformer 最早使用于NLP模型中,使用了 Self-Attention 機制。相較于RNN結構可以進行并行化訓練,能夠擁有全局信息。
scale dot-product attention
self-attention 過程圖
query q 對 key k做attention:
softmax歸一化:
權重乘value v 輸出轉化值:
合并之前的三個圖中操作:
image-20210517170611977.png
Transformer架構
Feed-Forward組件:
應用方向
自然語言處理使用場景:機器翻譯
Transformer:[2017] attention is all you need
Bert[2018]: Elmo, GPT
參數文件大小:
BERT(BASE) (L=12, H=768, A=12, Total Parameters=110M)
BERT(LARGE) (L=24, H=1024,A=16, Total Parameters=340M)
機器視覺中技術的演進
IGPT:
借鑒bert思想,OpenAI嘗試對測試數據隨機mask 5 個token,最終ImageNet結果果然上升了一些(紅色)。由于馬賽克操作過于嚴重(整張圖片都mask了),盡管事實證明還是有效果的,但從輸入上看,降低了模型的擬合能力。
VIT:
嘗試過三種預訓練方法,首先mask掉50%的patch,然后:
只預測patch的mean color
只預測一個馬賽克版的patch
用L2損失預測所有pixel。
第三種方式已經非常接近了,但是由于研究的重點不在于此便淺嘗輒止了
DEIT:
在預訓練階段,最多會mask 40%的patch。
另外,作者們其實也試過復原pixel,但效果會有1.8%的下降。對于這個現象,BEiT給出的猜想是,就像多層CNN一樣,編碼器最終得到的應該是一個更全局、高維的表示,而復現pixel會讓后幾層太關注局部細節。
MAE:
輕量級架構的兩大核心:
encoder輸入只包含沒有mask的像素。并且使用的是VIT的encoder block。
2.vit-huge 模型mask 的比例很高時(75%)效果依舊表現很好(accuracy 87.8%),同時可以加速預訓練過程。預訓練時僅僅只使用了imagenet-1k data。
一些值得注意的細節,比如:
1.輸入側直接丟掉mask token,效果+0.7,效率x3.3
預測normalize之后的pixel,效果+0.5
3.選取數據增強策略,效果+0.2
思考:導致視覺和語言的masked autoencoder 不一樣的三大原因
結構:CNN天然適用于圖像,但是應用transformer缺顯得很不自然。不過這個問題被vit解了,后續又有IGPT的馬賽克、dVAE的離散化,patch形態相對來說信息損失最少且高效。
信息密度:語言的含義比較多,一個單詞可能有很多解釋。而圖片直觀易表示。所以預測的時候圖片patch比預測單詞更容易。預測patch稍微有點周邊信息就夠了,可以放心大膽的mask。這點ViT、BEiT其實也都有,但主要就是最后一點沒有深究。
需要一個Decoder:因為圖片信息密度有限,復原pixel這種細粒度信息會讓模型強上加強。那怎么優雅地復原呢?BEiT已經說過了,在預訓練圖像encoder的時候,太關注細節就損失了高維抽象能力。所以凱明大神加了一個decoder。到這里分工就很明確了,encoder負責抽取高維表示,decoder則負責細粒度還原。
規模大的簡單算法是深度學習的核心。在NLP中,簡單的自我監督學習方法能夠從模型的規模中獲益。在計算機視覺中,實用的預訓練范例主要是監督式的。在這項研究中,自我監督學習已經取得了進展。我們在ImageNet和遷移學習中觀察到自動編碼器(一種類似于NLP技術的簡單的自我監督方法)與NLP中的技術類似,提供了可擴展的好處。視覺中的自我監督學習現在可能會走上一條與NLP類似的軌跡。另一方面,我們注意到,圖像和語言是不同性質的信號,這種差異必須仔細處理。圖像僅僅是記錄的光,沒有語義分解為視覺類似物的語義分解。我們不是試圖去除物體,而是去除很可能不構成語義段的隨機斑塊。同樣地,我們的MAE重建了像素,而這些像素并不是語義實體。從測試的結果上看,MAE能推斷出了復雜的、整體的重建,這表明它已經學會了許多視覺概念(語義)。我們假設,這種行為的發生通過MAE內部豐富的隱藏表征。我們希望這個觀點能給未來的工作帶來啟發。更廣泛的影響。建議的方法預測內容基于訓練數據集的學習統計,因此將反映這些數據中的偏差,包括具有負面社會影響的偏差。該模型可能產生不存在的內容。這些問題值得在這項工作的基礎上進一步研究和考慮,以生成圖像。
未來展望:
有可能取代所有組件。
每個領域都可嘗試,遍地開花。
一文讀懂Transformer 主流的序列到序列模型是基于編碼器-解碼器的循環或卷積神經網絡,注意力機制的提出,優化了編解碼器的性能,從而使得網絡性能達到最優。利用注意力機制構建出新的網絡架構Transformer, 完勝了循環或卷積神經網絡。Transformer 是第一個完全依賴于自注意力機制來計算其輸入和輸出的表示的轉換模型。Transformer可以并行訓練,訓練時間更短。 1 Transformer的模型架構 序列到序列模型采用的是編碼器-解碼器結構,編碼器將輸入序列(,,……,映射成符號表示z=(,,……,,根據給定的Z ,解碼器生成輸出序列(,,……,,在每一個步長里,模型利用前一個步長中生成的向量和該步長的輸入,生成輸出符號。 Transformer模型架構如圖1-1所示,編碼器-解碼器結構采用堆疊的多頭注意力機制加全連接層,圖中左邊的是編碼器結構,右邊的是解碼器結構:
圖 1-1 ???堆疊的編碼器-解碼器結構
編碼器:編碼器由6個相同的塊結構堆疊而成 N=6,每個塊結構進一步分成兩個子層:即一個多頭的自注意力機制和一個前饋網絡全連接層,在塊中的每一個子層之后,增加一個歸一化層(Add&Norm),每個子層的輸出均為歸一化的LayerNorm(x + Sublayer(x)),包括詞嵌入層,模塊中所有子層的輸出的維數均為512,即?= 512。 解碼器:同理,解碼器也由6個相同的塊結構堆疊而成 N=6,每個塊結構在編碼器兩個子層的基礎之上,增加了第三個子層,即增加了一個多頭自注意力子層。與編碼器類似,在塊中的每一個子層之后,增加一個歸一化層(Add&Norm)。在解碼器端,對解碼器堆棧中的自注意力子層進行了修改,以防止位置編碼和后續位置編碼相關,通過這種掩蔽,確保了對位置i的預測只能依賴于小于i的位置的已知輸出。 2 Self-attention?自注意力機制 Attention 函數將三元組Q(Query)、K(Key)、V(Value) 映射成輸出,其中三元組Q(Query)、K(Key)、V(Value)和輸出均為向量,輸出是V(Value)的加權和,其中的權重是Q(Query)和K(Key)對應的組合計算出來的數值。 1)帶縮放的點積注意力機制Scaled dot-product attention 帶縮放的點積注意力機制(Scaled dot-product attention )的公式如下:
在上面公式中Q和K中的向量維度都是,V的向量維度是,計算所有K向量和Q向量的點積,分別除以,并應用一個Softmax函數來獲得這些值的權重。實際上在self-Attention中,,為了方便將Attention的計算轉化為矩陣運算,論文中采用了點積的形式求相似度。常見的計算方法除了點積還有MLP網絡,但是點積能轉化為矩陣運算,計算速度更快。 兩個最常用的注意力函數是:加注意力函數(Additive Attention)和點積注意力函數(Dot-product Attention)。除了的縮放因子外,帶縮放的點積注意力機制采用的是點積注意力函數,加注意力函數使用具有單個隱含層的前饋網絡來計算兼容性函數。雖然這兩者在理論復雜度上相似,但點積注意力函數更快,更節省空間,因為它可以使用高度優化的矩陣乘法碼來實現。而對于較小的值,這兩種機制的性能相似,但在不加大更大的值的情況下,加注意力函數優于點積注意力函數。對于較大的值,點積相應變大,將Softmax函數推到梯度極小的區域。為了抵消這種影響,我們通過來縮放點積。 Transformer模型在三處采用了多頭注意力機制:
在編碼器-解碼器注意力層,Q值來自上一個解碼器層,K值和V值來自編碼器的輸出,從而使得解碼器的每一個位置信息均和輸入序列的位置信息相關,這種架構模仿了序列到序列模型編解碼器注意力機制。
編碼器中包括自注意力層,在自注意力層中,Q 值、K值和V值均來自編碼器上一層的輸出,編碼器中的位置信息參與到前一層的位置編碼中去。
同理,解碼器中的自注意力機制使得解碼器中的位置信息均參與到所有位置信息的解碼中去。
2)全連接前饋網絡 在Transfomer編碼器-解碼器架構的每一塊中,除了包含多頭注意力機制外,還包含一個全連接前饋網絡,全連接前饋網絡層包含兩次ReLU激活函數的線性變換。
不同層之間的全連接前饋網絡的參數各不相同,模型輸入輸出的維度是512 = 512, 層內部的維度是2048 ,即= 2048。 3)嵌入和Softmax 和其它序列到序列的模型相類似,Transformer模型利用詞嵌入技術將輸入標記和輸出標記轉化為維度為的向量,采用可訓練的線性變換和Softmax函數,將解碼器的輸出變換成待預測的下一個標記的概率。在Transformer模型中,兩個嵌入層和Softmax層之間共享權重矩陣。 3 位置編碼Positional Encoding 由于Transformer模型中既沒有遞歸,也沒有卷積,需要獲得輸入序列精準的位置信息的話,必須插入位置編碼。位置編碼精準地描述了輸入序列中各個單詞的絕對和相對位置信息,即在編碼器-解碼器的底部輸入嵌入中注入“位置編碼”,位置編碼和輸入嵌入有相同的維度,所以二者可以實現相加運算,位置編碼方式可以有多種,在Transformer模型中采用的是頻率不同的三角函數:
其中pos 是位置,i是維數,也就是說,位置編碼的每個維數都對應于一個正弦曲線。波長從2π到10000·2π的幾何變化。之所以選擇這個函數是因為假設它使得模型很容易地學習相對位置,對于任何固定偏移量k,可以表示為的線性函數。 首先,將自注意力機制和循環卷積網絡(RNN )和卷積神經網絡(CNN)進行對比,比較它們在變長序列從三個因素來考量采用自注意力機制:首先是每一層計算的復雜程度;其次,是可以并行計算的計算量,用對序列操作的最小數目表示;第三,是網絡中最長相關路徑的長度。在序列學習任務中,對長序列相關性的學習是關鍵性的難點問題,前向和后向信號路徑的長度往往是影響學習效率的關鍵因素,輸入和輸出序列之間的位置越短,前向和后向信號路徑則越短,更容易學習到長序列的依賴關系,通過對比網絡中輸入輸出序列位置的最長通路路徑,來回答為什么采用自注意力機制來搭建Transformer模型。
?表 3-1 ?不同層序列操作的的最大路徑長度、每層的復雜性和最小操作數 如表3-1所示?:不同層序列操作的的最大路徑長度、每層的復雜性和最小操作數。n是序列長度,d是表示維數,k是卷積的核大小,r是受限自注意力中的鄰域的大小。在表3-1中,自注意力機制通過操作將序列的位置信息關聯起來,而RNN則需要對序列進行次操作。從計算的復雜程度來看,當序列長度n小于表示向量的維度d 時,在機器翻譯任務中性能能達到最優。為了提高超長輸入序列的計算性能,限制自注意力中的鄰域r的大小,從而會使得最長相關路徑的長度變為。 卷積核維度為k 的單卷積層無法實現所有輸入和輸出位置信息的連接,所以要求有層卷積層堆疊,使得最長相關路徑的長度變長。通常,CNN的訓練成本比RNN的訓練成本要高。 從表3-1中的對比還可以看出,自注意力機制在復雜程度、并行計算的計算量和網絡中最長相關路徑的長度三方面均占有優勢。 4 Transformer 模型的訓練
4.1訓練數據和批次大小
在標準的WMT2014英語-德語數據集上進行訓練,這個數據集包括大約450萬個句子數據對。句子采用字節對編碼進行編碼,源-目標詞匯表中共享大約37000個標記。對于英語-法語,使用了更大的WMT2014英語-法語數據集,由3600萬個句子組成,并將標記分割為32000詞匯。句子對按近似的序列長度排列在一起。每個訓練批都包含一組句子對,其中包含大約25000個源標記和25000個目標標記。
4.2 硬件配置
使用8 NVIDIAP100 GPU上訓練了Transfomer模型,使用超參數的基本模型,每個訓練步長大約需要花費0.4秒的時間,對基本模型總共訓練了10萬步或12個小時。對于大模型,步長時間為1.0秒,大模型訓練了30萬步(3.5天)。
4.3 優化器
采用Adam 優化器,參數設置為h β1 = 0.9, β2 = 0.98,并依據下述公式調整學習率:
對應于第一個warmup_steps訓練步長,學習率線性增加,在后續步長中,學習率隨著步長的平方根成正比例下降,其中,warmup_steps =4000。
4.4 正則化
在訓練過程中采用了三種正則化方法: 殘差Dropout:在添加子層的輸入和歸一化之前,將Dropout機制應用于每個子層的輸出,同時在編碼器-解碼器堆疊的嵌入過程和位置編碼過程中加入Dropout機制,= 0.1。
4.5 訓練結果
機器翻譯 在WMT2014英德翻譯任務中,Transformer (big)比之前報告的最佳模型(包括集成)高出2.0多個BLEU,獲得BLEU分數為28.4。該模型的配置列于表5-2的底部。在8個P100 GPU 上進行訓練需要3.5天。甚至基本模型也超過了所有之前發布的模型和集合,訓練成本也大幅度縮減。 在WMT2014年英法翻譯任務中Transformer (big)獲得了BLEU分值為 41.0分,優于之前發布的所有其它模型,訓練成本降低 1/4。
表4.5-1 在英德和英法翻譯任務中Transformer模型的BLUE 分值和其它模型BLUE 分值的對比(來源:網絡) 表4.5-1同時將翻譯質量和訓練成本與其他模型架構的翻譯質量和訓練成本進行了比較。通過比較訓練時間、所使用的GPU的數量以及對每個GPU5的持續單精度浮點容量的估計來估計用于訓練模型的浮點操作的數量。 為了評估Transformer模型是否可以推廣到其他任務,在英語選區解析上進行了實驗。這個任務提出了具體的挑戰:輸出受到強大的結構約束,且長度遠遠長于輸入。此外,RNN序列對序列模型還無法在小數據體系中獲得最為先進的結果。 通過在賓夕法尼亞州《華爾街日報》的數據集上訓練了大約40K句子,數據模型為的4層Transformer。此外,還在半監督設置下訓練它,使用更大的高置信度和伯克利解析器語料庫,大約1700萬語句。對《華爾街日報》的設置使用了16K標記詞匯,對半監督的設置使用了32K標記詞匯。 結論:Transformer是采用自注意力機制的序列到序列模型,在編碼器-解碼器架構的神經網絡中,用多頭自注意力機制取代了RNN 層。對于翻譯任務,Transformer的訓練速度可以比基于循環層或卷積層的體系架構要快得多。關于2014WMT英德語和WMT2014英法翻譯任務,實現了不錯的性能。在前一項任務中,Transformer模型的性能甚至優于之前報告的所有其它模型。
作者簡介
陳之炎,北京交通大學通信與控制工程專業畢業,獲得工學碩士學位,歷任長城計算機軟件與系統公司工程師,大唐微電子公司工程師。目前從事智能化翻譯教學系統的運營和維護,在人工智能深度學習和自然語言處理(NLP)方面積累有一定的經驗。
Transformer也不是萬能的
Transformer 最初出現在 2017 年的一篇論文中:《Attention Is All You Need》。在其他人工智能方法中,系統會首先關注輸入數據的局部 patch,然后構建整體。例如,在語言模型中,鄰近的單詞首先會被組合在一起。相比之下,Transformer 運行程序以便輸入數據中的每個元素都連接或關注其他元素。研究人員將此稱為「自注意力」。這意味著一旦開始訓練,Transformer 就可以看到整個數據集的跡。
在 Transformer 出現之前,人工智能在語言任務上的進展一直落后于其他領域的發展。「在過去 10 年發生的這場深度學習革命中,自然語言處理在某種程度上是后來者,」馬薩諸塞大學洛厄爾分校的計算機科學家 Anna Rumshisky 說,「從某種意義上說,NLP 曾落后于計算機視覺,而 Transformer 改變了這一點。」
Transformer 很快成為專注于分析和預測文本的單詞識別等應用程序的引領者。它引發了一波工具浪潮,比如 OpenAI 的 GPT-3 可以在數千億個單詞上進行訓練并生成連貫的新文本。
Transformer 的成功促使人工智能領域的研究者思考:這個模型還能做些什么?
答卷正在徐徐展開——Transformer 被證明具有驚人的豐富功能。在某些視覺任務中,例如圖像分類,使用 Transformer 的神經網絡比不使用 Transformer 的神經網絡更快、更準確。對于其他人工智能領域的新興研究,例如一次處理多種輸入或完成規劃任務,Transformer 也可以處理得更多、更好。
「Transformer 似乎在機器學習領域的許多問題上具有相當大的變革性,包括計算機視覺,」在慕尼黑寶馬公司從事與自動駕駛汽車計算機視覺工作的 Vladimir Haltakov 說。
就在十年前,AI 的不同子領域之間還幾乎是互不相通的,但 Transformer 的到來表明了融合的可能性。「我認為 Transformer 之所以如此受歡迎,是因為它展示出了通用的潛力,」德克薩斯大學奧斯汀分校的計算機科學家 Atlas Wang 說:「我們有充分的理由嘗試在整個 AI 任務范圍內嘗試使用 Transformer。」
從「語言」到「視覺」
在《Attention Is All You Need》發布幾個月后,擴展 Transformer 應用范圍的最有希望的動作就開始了。Alexey Dosovitskiy 當時在谷歌大腦柏林辦公室工作,正在研究計算機視覺,這是一個專注于教授計算機如何處理和分類圖像的 AI 子領域。
Alexey Dosovitskiy。
與該領域的幾乎所有其他人一樣,他一直使用卷積神經網絡 (CNN) 。多年來,正是 CNN 推動了深度學習,尤其是計算機視覺領域的所有重大飛躍。CNN 通過對圖像中的像素重復應用濾波器來進行特征識別。基于 CNN,照片應用程序可以按人臉給你的照片分門別類,或是將牛油果與云區分開來。因此,CNN 被認為是視覺任務必不可少的。
當時,Dosovitskiy 正在研究該領域最大的挑戰之一,即在不增加處理時間的前提下,將 CNN 放大:在更大的數據集上訓練,表示更高分辨率的圖像。但隨后他看到,Transformer 已經取代了以前幾乎所有與語言相關的 AI 任務的首選工具。「我們顯然從正在發生的事情中受到了啟發,」他說,「我們想知道,是否可以在視覺上做類似的事情?」 這個想法某種程度上說得通——畢竟,如果 Transformer 可以處理大數據集的單詞,為什么不能處理圖片呢?
最終的結果是:在 2021 年 5 月的一次會議上,一個名為 Vision Transformer(ViT)的網絡出現了。該模型的架構與 2017 年提出的第一個 Transformer 的架構幾乎相同,只有微小的變化,這讓它能夠做到分析圖像,而不只是文字。「語言往往是離散的,」Rumshisky 說:「所以必須使圖像離散化。」
ViT 團隊知道,語言的方法無法完全模仿,因為每個像素的自注意力在計算時間上會非常昂貴。所以,他們將較大的圖像劃分為正方形單元或 token。大小是任意的,因為 token 可以根據原始圖像的分辨率變大或變小(默認為一條邊 16 像素),但通過分組處理像素,并對每個像素應用自注意力,ViT 可以快速處理大型訓練數據集,從而產生越來越準確的分類。
Transformer 能夠以超過 90% 的準確率對圖像進行分類,這比 Dosovitskiy 預期的結果要好得多,并在 ImageNet 圖像數據集上實現了新的 SOTA Top-1 準確率。ViT 的成功表明,卷積可能不像研究人員認為的那樣對計算機視覺至關重要。
與 Dosovitskiy 合作開發 ViT 的谷歌大腦蘇黎世辦公室的 Neil Houlsby 說:「我認為 CNN 很可能在中期被視覺 Transformer 或其衍生品所取代。」他認為,未來的模型可能是純粹的 Transformer,或者是為現有模型增加自注意力的方法。
一些其他結果驗證了這些預測。研究人員定期在 ImageNet 數據庫上測試他們的圖像分類模型,在 2022 年初,ViT 的更新版本僅次于將 CNN 與 Transformer 相結合的新方法。而此前長期的冠軍——沒有 Transformer 的 CNN,目前只能勉強進入前 10 名。
Transformer 的工作原理
ImageNet 結果表明,Transformer 可以與領先的 CNN 競爭。但谷歌大腦加州山景城辦公室的計算機科學家 Maithra Raghu 想知道,它們是否和 CNN 一樣「看到」圖像。神經網絡是一個難以破譯的「黑盒子」,但有一些方法可以窺探其內部——例如通過逐層檢查網絡的輸入和輸出了解訓練數據如何流動。Raghu 的團隊基本上就是這樣做的——他們將 ViT 拆開了。
Maithra Raghu
她的團隊確定了自注意力在算法中導致不同感知的方式。歸根結底,Transformer 的力量來自于它處理圖像編碼數據的方式。「在 CNN 中,你是從非常局部的地方開始,然后慢慢獲得全局視野,」Raghu 說。CNN 逐個像素地識別圖像,通過從局部到全局的方式來識別角或線等特征。但是在帶有自注意力的 Transformer 中,即使是信息處理的第一層也會在相距很遠的圖像位置之間建立聯系(就像語言一樣)。如果說 CNN 的方法就像從單個像素開始并用變焦鏡頭縮小遠處物體的像的放大倍數,那么 Transformer 就是慢慢地將整個模糊圖像聚焦。
這種差異在 Transformer 最初專注的語言領域更容易理解,思考一下這些句子:「貓頭鷹發現了一只松鼠。它試圖用爪子抓住它,但只抓住了尾巴的末端。」第二句的結構令人困惑:「它」指的是什么?只關注「它」鄰近的單詞的 CNN 會遇到困難,但是將每個單詞與其他單詞連接起來的 Transformer 可以識別出貓頭鷹在抓松鼠,而松鼠失去了部分尾巴。
顯然,Transformer 處理圖像的方式與卷積網絡有著本質上的不同,研究人員變得更加興奮。Transformer 在將數據從一維字符串(如句子)轉換為二維數組(如圖像)方面的多功能性表明,這樣的模型可以處理許多其他類型的數據。例如,Wang 認為,Transformer 可能是朝著實現神經網絡架構的融合邁出的一大步,從而產生了一種通用的計算機視覺方法——也許也適用于其他 AI 任務。「當然,要讓它真正發生是有局限性的,但如果有一種可以通用的模型,讓你可以將各種數據放在一臺機器上,那肯定是非常棒的。」
關于 ViT 的展望
現在研究人員希望將 Transformer 應用于一項更艱巨的任務:創造新圖像。GPT-3 等語言工具可以根據其訓練數據生成新文本。在去年發表的一篇論文《TransGAN: Two Pure Transformers Can Make One Strong GAN, and That Can Scale Up》中,Wang 組合了兩個 Transformer 模型,試圖對圖像做同樣的事情,但這是一個困難得多的問題。當雙 Transformer 網絡在超過 200000 個名人的人臉上進行訓練時,它以中等分辨率合成了新的人臉圖像。根據初始分數(一種評估神經網絡生成的圖像的標準方法),生成的名人面孔令人印象深刻,并且至少與 CNN 創建的名人一樣令人信以為真。
Wang 認為,Transformer 在生成圖像方面的成功比 ViT 在圖像分類方面的能力更令人驚訝。「生成模型需要綜合能力,需要能夠添加信息以使其看起來合理,」他說。與分類領域一樣,Transformer 方法正在生成領域取代卷積網絡。
Raghu 和 Wang 還看到了 Transformer 在多模態處理中的新用途。「以前做起來比較棘手,」Raghu 說,因為每種類型的數據都有自己的專門模型,方法之間是孤立的。但是 Transformer 提出了一種組合多個輸入源的方法。
「有很多有趣的應用程序可以結合其中一些不同類型的數據和圖像。」例如,多模態網絡可能會為一個系統提供支持,讓系統除了聽一個人的聲音外,還可以讀取一個人的唇語。「你可以擁有豐富的語言和圖像信息表征,」Raghu 說,「而且比以前更深入。」
這些面孔是在對超過 200000 張名人面孔的數據集進行訓練后,由基于 Transformer 的網絡創建的。
新的一系列研究表明了 Transformer 在其他人工智能領域的一系列新用途,包括教機器人識別人體運動、訓練機器識別語音中的情緒以及檢測心電圖中的壓力水平。另一個帶有 Transformer 組件的程序是 AlphaFold,它以快速預測蛋白質結構的能力,解決了五十年來蛋白質分子折疊問題,成為了名噪一時的頭條新聞。
Transformer isn't all you need
即使 Transformer 有助于整合和改進 AI 工具,但和其他新興技術一樣,Transformer 也存在代價高昂的特點。一個 Transformer 模型需要在預訓練階段消耗大量的計算能力,才能擊敗之前的競爭對手。
這可能是個問題。「人們對高分辨率的圖像越來越感興趣,」Wang 表示。訓練費用可能是阻礙 Transformer 推廣開來的一個不利因素。然而,Raghu 認為,訓練障礙可以借助復雜的濾波器和其他工具來克服。
Wang 還指出,盡管視覺 transformer 已經在推動 AI 領域的進步,但許多新模型仍然包含了卷積的最佳部分。他說,這意味著未來的模型更有可能同時使用這兩種模式,而不是完全放棄 CNN。
同時,這也表明,一些混合架構擁有誘人的前景,它們以一種當前研究者無法預測的方式利用 transformer 的優勢。「也許我們不應該急于得出結論,認為 transformer 就是最完美的那個模型,」Wang 說。但越來越明顯的是,transformer 至少會是 AI shop 里所有新型超級工具的一部分。
編輯:黃飛
?
評論
查看更多