OpenAl提出了一種適用于文本、圖像和語音的稀疏Transformer,將先前基于注意力機制的算法處理序列的長度提高了三十倍。
對復雜高維度的數(shù)據(jù)分布進行估計一直是非監(jiān)督學習領域的核心問題,特別是針對像文本、語音、圖像等長程、相關性數(shù)據(jù)更使得這一領域充滿了挑戰(zhàn)。同時,對于復雜數(shù)據(jù)的建模也是非監(jiān)督表示學習的關鍵所在。近年來,神經(jīng)自回歸模型在這一領域取得了一系列十分優(yōu)秀進展,針對自然語言、原始音頻和圖像成功建模。這些方法將聯(lián)合概率分布分解成了條件概率分布的乘積來解決。但由于數(shù)據(jù)中包含許多復雜、長程的依賴性并需要合適的表達模型架構來進行學習,使得對數(shù)據(jù)的條件概率分布建模依舊十分復雜?;诰矸e神經(jīng)網(wǎng)絡的架構在這個方向取得了一系列進展,但需要一定的深度來保證足夠的感受野。
為了解決這一問題,WaveNet引入了膨脹卷積(dilated conv)幫助網(wǎng)絡在的對數(shù)數(shù)量層數(shù)下學習長程依賴性。于此同時Transformer由于可以利用一定的層數(shù)為任意的依賴性建模,在自然語言任務上顯示出了強大的優(yōu)勢。由于每個自注意力層用于全局感受野使得網(wǎng)絡可以將表示能力用于最有用的輸入?yún)^(qū)域,對于生成多樣性的數(shù)據(jù)具有更加靈活的特征。但這種方法在處理序列時需要面臨隨著序列長度平方增長的內存與算力。對于過長的序列,現(xiàn)有的計算機將無法處理和實現(xiàn)。為了解決這一問題,OpenAI的研究人員在最新的論文中為注意力矩陣引入了多種稀疏的分解方式,通過將完全注意力計算分解為多個更快的注意力操作,通過稀疏組合來進行稠密注意力操作,在不犧牲性能的情況下大幅降低了對于內存和算力的需求。
新提出了稀疏Transformer將先前Transforme的平方復雜度O(N^2)降低為O(NN^1/2),通過一些額外的改進使得自注意力機制可以直接用于長程的語音、文本和圖像數(shù)據(jù)。原先的方法大多集中于一個特定的領域、并且很難為超過幾千個元素長度的序列建模,而稀疏Transformer則可利用幾百層的模型為上萬個數(shù)據(jù)長度的序列建模,并在不同領域中實現(xiàn)了最優(yōu)異的結果。
在Transformer中,輸入和輸出的每一個元素都通過權重相連,利用注意力機制算法可以根據(jù)實際情況動態(tài)更新權重,使得Transformer具有更加靈活的特性。但在工程實踐中,針對N維輸出我們需要N*N的注意力矩陣來為每一層存儲權重,這將消耗大量的內存,特別是針對音頻和圖像這種長序列的數(shù)據(jù)來說,內存分分鐘就將被算法吃完。下表給出了針對不同數(shù)據(jù)所需要的內存大小和計算量。
這一表格針對64層4heads的深度Transformer對于內存和計算的需求,而一般的顯卡只有12-32G顯存,顯然對于長程的圖像、語言數(shù)據(jù)是無能為力的。受到深度學習中減小內存的啟發(fā),研究人員們在注意力矩陣反向傳播時引入了checkpoint的概念,這使得內存的消耗與網(wǎng)絡層的數(shù)量解耦,讓更深的網(wǎng)絡訓練成為可能。
稀疏注意力機制
解決了內存的問題并不意味著我們可以水到渠成地訓練長程數(shù)據(jù)了。即使對于單個注意力矩陣來說對于長程數(shù)據(jù)的計算在實際中依然很難實現(xiàn)。為了處理這一問題,研究人員利用了稀疏注意力模式從輸入數(shù)據(jù)中選出一小部分來計算輸出,這一個輸入子集相對于輸入整體來說很小,使得最終對于每一個長程序列的計算結果變得可控。為了驗證這種方法的有效性,研究人員對學習到的注意力模式進行了可視化,并在其中發(fā)現(xiàn)了很多具有可解釋性的稀疏模式。下圖中可以看到白色發(fā)光的像素被被注意力頭所接受并用于預測下一個位置的輸出。當輸入集中于很小一個子集并加入較高的正則化時,這一層將會變得系數(shù)化。下圖中可以看到不同的層學會了不同的稀疏注意力機制,左圖是19層基于每一行來進行預測,而右圖為20層基于每一列來進行預測,將完全注意力機制進行了有效的分解。
不同層的注意力具有不同的側重。有的層只對特定的空間位置產生注意力只注重特定的位置,而有的層注意力則高度依賴于輸入的數(shù)據(jù),具有全局的動態(tài)注意力。
為了保留模型對于這些模式的學習能力,研究人員將注意力矩陣進行了二維分解,以便網(wǎng)絡可以通過兩步稀疏注意力實現(xiàn)對于所有位置的審視。
上圖中間是第一種步進注意力的版本,可以粗略的理解為每一個位置需要注意它所在的行和列;另一種固定注意力的方式則嘗試著從固定的列和元素中進行處理,這種方式對于非二維結構的數(shù)據(jù)有著很好的效果。
實驗結果
在CIFAR-10,Enwik8和Imagenet64上研究人員比較了新提出方法的密度建模性能,可以看到這種方法對于各個數(shù)據(jù)集建模都有著優(yōu)秀的能力。
同時研究人員還發(fā)現(xiàn)稀疏注意力比完全注意力的損失更小、更快。
由于transformer對全局結構具有一定的理解,可以對缺失的圖像進行補全。
同時利用極大似然估計從模型中進行采樣生成了一系列圖像:
稀疏Transformer對于原始的音頻輸入依然能進行有效的處理,實驗中可以生成65000個元素的聲音序列(近5s鐘的音頻)。只需要稍微改變模型的位置嵌入就可以適應不同形式的輸入。
在未來研究人員還將繼續(xù)針對長程序列研究高效的建模方式,并探索不同類型的稀疏性結合。雖然這種方法取得了很好的效果,但是對于高分辨的圖像甚至視頻依然無法有效處理。研究人員計劃在未來引入高維數(shù)據(jù)建模方式和稀疏注意力共同解決這一挑戰(zhàn)。
-
神經(jīng)網(wǎng)絡
+關注
關注
42文章
4797瀏覽量
102367 -
圖像
+關注
關注
2文章
1091瀏覽量
40918 -
數(shù)據(jù)建模
+關注
關注
0文章
12瀏覽量
7048
原文標題:OpenAI提出新方法Sparse Transformer,大幅度提高長程序列數(shù)據(jù)建模能力
文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
一種適用于鋰電池的電流監(jiān)測電路設計

一種能同時適用于ISM兩頻段的功率分配器設計
分享一種不錯的無線語音傳輸系統(tǒng)設計方案
一種適用于嵌入式系統(tǒng)的模塊動態(tài)加載技術
一種適用于空間觀測任務的實時多目標識別算法分享
一種有效的文本圖像二值化方法
一種適用于可視電話的快速運動估計算法
基于嶺回歸的稀疏編碼文本圖像復原方法
適用于稀疏多徑信道的稀疏自適應常模盲均衡算法

一種適用于動態(tài)場景的多層次地圖構建算法

評論