Google Research新成果,让表格理解和检索更上一层楼!
文 | 舞風(fēng)小兔
編 | 智商掉了一地
如何更好地理解自然語言查詢問題與表格信息?Google Research給出了一個(gè)改進(jìn)版Transformer,一起來看看吧!
表格以結(jié)構(gòu)化方式存儲(chǔ)信息,廣泛地存在于web世界中。表格最為常見的一種用法就是人們查詢其中的信息。在很多情況下,我們可能只能夠用自然語言描述出心中的查詢條件,那么,自然語言處理技術(shù)是否能理解我們的問題,理解表格信息,幫助我們自動(dòng)地從表格中檢索答案呢?那就讓Transformer這個(gè)已然橫掃各項(xiàng)自然語言處理任務(wù)的明星模型試試吧。
然而很快會(huì)發(fā)現(xiàn),在Transformer 最為常見的使用方式中,模型總是被用來處理長(zhǎng)度為512個(gè)token的單層序列。當(dāng)面對(duì)行數(shù)非常多的“表格”這種半結(jié)構(gòu)化數(shù)據(jù)時(shí),數(shù)據(jù)的結(jié)構(gòu)以及多行帶來的超長(zhǎng)文本,都在挑戰(zhàn)經(jīng)典Transformer對(duì)數(shù)據(jù)建模的能力和計(jì)算效率。
本文要介紹的模型 MATE 就是在上述問題的挑戰(zhàn)之下,提出的一個(gè)Transformer改進(jìn)模型。專門用來以更快的處理速度學(xué)習(xí)含有非常多行的表格型數(shù)據(jù)。
論文標(biāo)題
MATE: Multi-view Attention for Table Transformer Efficiency
論文鏈接
https://arxiv.org/abs/2109.04312
1 為什么需要 MATE
關(guān)系型表格(relational tables)是一種 半結(jié)構(gòu)化文本 (semi-structured text),廣泛存在于Web數(shù)據(jù)之中。在WebTables[1]項(xiàng)目統(tǒng)計(jì)的Web數(shù)據(jù)中,超過20%的關(guān)系型表格含有20甚至更多行。每一行的每個(gè)單元格都有可能包含文本片段,如果將所有單元格中的文本拼接在一起,將會(huì)構(gòu)成一個(gè)超長(zhǎng)文本。
半結(jié)構(gòu)化文本:是指具有結(jié)構(gòu)的文本,但是這個(gè)結(jié)構(gòu)并不反應(yīng)某種已知的 data schema。例如組織成html,樹,或者變長(zhǎng)序列的文本,是常見的半結(jié)構(gòu)化文本。
我們先通過圖1這個(gè)表格問答任務(wù),直觀地理解一下MATE模型學(xué)習(xí)表格數(shù)據(jù)的設(shè)計(jì)動(dòng)機(jī)。在表格問答任務(wù)中,給定問題的答案蘊(yùn)含在表格某個(gè)單元格之內(nèi)。當(dāng)人們?cè)谔幚硇畔r(shí),會(huì)通過確定行和列,在行列相交處得到問題的答案。MATE就是通過對(duì)Transformer中注意力機(jī)制的改建,來模擬這一決策過程。
▲MATE模型的設(shè)計(jì)動(dòng)機(jī)圖1. MATE模型的設(shè)計(jì)動(dòng)機(jī):MATE模型的稀疏自注意力模型包含兩種注意力頭(Attention heads):Row Head對(duì)齊到(attends to)的tokens所處的單元格都位于一行。同樣地,Column Head對(duì)齊到(attends to)的tokens所處的單元格都位于自同一列。問題對(duì)齊到除此之外的所有其他token。
在這里,我們不妨先想一想,在作者想要解決的問題中,表格會(huì)包含非常多的行數(shù),形成了一個(gè)超長(zhǎng)文本序列,如果直接應(yīng)用Transformer中的經(jīng)典注意力機(jī)制,會(huì)遇到什么樣的問題呢?
▲“注意力”概念示意圖圖2是注意力機(jī)制工作過程的一個(gè)概念示意圖:兩個(gè)序列中分別處于位置和位置的token計(jì)算一個(gè)相似度得分,這個(gè)得分表示了位置處的token對(duì)齊(attends to)到位置處token的強(qiáng)度。很容易看到,注意力機(jī)制的計(jì)算和序列長(zhǎng)度呈平方復(fù)雜度關(guān)系,當(dāng)序列長(zhǎng)度增長(zhǎng)到千以上這樣的量級(jí)時(shí),將會(huì)消耗大量的內(nèi)存和計(jì)算時(shí)間。
為了讓注意力機(jī)制的計(jì)算在超長(zhǎng)文本上更加可行和高效,MATE提出使用稀疏注意力模塊,目標(biāo)是讓模型的計(jì)算速度和內(nèi)存消耗隨序列長(zhǎng)度增加而線性增加,而不是像原始注意力機(jī)制那樣,模型的計(jì)算速度和內(nèi)存消耗隨序列長(zhǎng)度增加呈二次方增加。通過稀疏注意力機(jī)制,MATE能夠處理長(zhǎng)達(dá)8000個(gè)token級(jí)別的輸入數(shù)據(jù)。
那么,我們來看看MATE是如何在表格數(shù)據(jù)上做到這一點(diǎn)的。
2 MATE 模型
MATE的核心稀疏注意力模塊可以用位于圖3中第一行的公式概括。其中是一個(gè)(詞向量/隱藏層的維度)行 (序列的長(zhǎng)度)列的矩陣,是Transformer層的輸入張量;矩陣,, 是三個(gè)映射矩陣,將輸入的Query,Key, Values 分別映射到維度;是softmax函數(shù);是第個(gè)注意力頭在位置的輸出向量。
▲稀疏注意力機(jī)制的計(jì)算過程相比圖2中傳統(tǒng)的稠密注意力,稀疏注意力最重要的差別是引入了這樣一個(gè)稱作注意力模式(attention pattern)的輸入。當(dāng)指定了時(shí),位置處的token 只會(huì)對(duì)齊到全序列中十分有限的幾個(gè)位置,以此來減少長(zhǎng)序列情況下注意力模塊的計(jì)算時(shí)間和對(duì)內(nèi)存的消耗,也就是稀疏注意力這一名字的含義。
有了稀疏注意力機(jī)制之后,MATE又是如何處理有著行和列結(jié)構(gòu)的表格型數(shù)據(jù)的呢?論文中的做法十分簡(jiǎn)單:
首先,結(jié)構(gòu)化的表格構(gòu)成輸入數(shù)據(jù)時(shí)被拍平成一個(gè)序列,序列中token的序號(hào)又進(jìn)一步用兩維的行序號(hào)和列序號(hào)表示。下圖是這一個(gè)編號(hào)過程的概念示意圖(注意:圖中沒有完全精確地表示分隔詞和填充如何構(gòu)造這樣的細(xì)節(jié)信息,只做編號(hào)的概念示意)。
▲編號(hào)過程概念示意圖其次,MATE將多個(gè)注意力頭劃分為兩組,前個(gè)注意力頭是行注意力頭,剩下個(gè)為列注意力頭。token的二維的位置編號(hào)會(huì)引導(dǎo)注意力頭對(duì)輸入數(shù)據(jù)進(jìn)行排序分類,限制行注意力頭只在同行的單元格之間計(jì)算注意力,列注意力頭只在同列的單元格之間計(jì)算注意力。行注意力頭和列注意力頭的比例是一個(gè)超參數(shù),作者在論文中的實(shí)驗(yàn)數(shù)據(jù)建議按照1:1比例劃分行注意力頭和列注意力頭。
3 高效MATE的實(shí)現(xiàn)
有了上面的設(shè)計(jì)思想,一種最粗暴的實(shí)現(xiàn)MATE的方法是按照傳統(tǒng)Transformer那樣,通過masking消除不需要對(duì)齊位置的計(jì)算結(jié)果,但masking并不減少實(shí)際的計(jì)算,計(jì)算過程依然會(huì)按照稠密注意力計(jì)算方式,效率十分低下。另一方面,盡管MATE對(duì)注意力機(jī)制對(duì)齊的位置進(jìn)行了一定的限制,能夠改善模型的學(xué)習(xí)效果,但是并沒有改善Transformer模型在計(jì)算速度方面的復(fù)雜度。
Transformer模型依然會(huì)消耗序列長(zhǎng)度平方復(fù)雜度的內(nèi)存和計(jì)算時(shí)間。為了提高模型的計(jì)算性能,受ETC[8]工作的啟發(fā),作者進(jìn)一步提出了行/列注意力頭的一種近似計(jì)算方法,具體來說分為2步:
從輸入序列中切分出為長(zhǎng)度為 的global section:這部分token會(huì)與中所有token逐一計(jì)算注意力分值;
從輸入序列中切分出 local section(local section的長(zhǎng)度可以更長(zhǎng)):這部分token只會(huì)與global section計(jì)算注意力分值,或者與落在半徑范圍為的token去計(jì)算注意力分值。
在進(jìn)一步的注意力模塊計(jì)算之前,列注意力頭會(huì)根據(jù)token的列編號(hào)去排序輸入token(對(duì)應(yīng)了圖 4中的第2行)。同理,行注意力頭會(huì)根據(jù)token的行編號(hào)去排序token。當(dāng)注意力頭重排好輸入數(shù)據(jù)之后,再將長(zhǎng)度為的global section 單獨(dú)分為一組,計(jì)算稠密注意力;將剩下的輸入進(jìn)行分桶,每個(gè)桶內(nèi)token長(zhǎng)度相等(對(duì)應(yīng)了圖4中的最后一行)為。每個(gè)桶內(nèi)的token計(jì)算自注意力,兩個(gè)相鄰的桶之間也可以進(jìn)行注意力機(jī)制的計(jì)算。
作者指出,當(dāng)?shù)拈L(zhǎng)度足以覆蓋問題長(zhǎng)度時(shí),當(dāng)?shù)拈L(zhǎng)度足以覆蓋單元格中文本的長(zhǎng)度時(shí),模型的計(jì)算效率會(huì)接近傳統(tǒng)基于masked的Transformer。
4 PointR 結(jié)構(gòu)
以上就是MATE模型的設(shè)計(jì)細(xì)節(jié)啦。有了這個(gè)基本算法單元,作者又進(jìn)一步重點(diǎn)介紹了MATE如果應(yīng)用于表格問答任務(wù)的處理流程設(shè)計(jì)。
4.1 含有長(zhǎng)文本的表格問答任務(wù)
作者指出之前一些研究工作,在完成進(jìn)行表格問答任務(wù)(table QA)任務(wù)時(shí),使用的數(shù)據(jù)集token數(shù)目都被限制在512之內(nèi)。而最近開源的一些數(shù)據(jù)集[3][4] 需要parse更長(zhǎng)的半結(jié)構(gòu)化文本。同樣,我們先來看一個(gè)來自HybridQA[5]數(shù)據(jù)集的真實(shí)例子(圖5)。HybridQA數(shù)據(jù)集中的表格抓取自維基百科。當(dāng)某些單元格中的文本內(nèi)容包含實(shí)體時(shí),實(shí)體(entity)在維基百科中可能會(huì)有自己的超鏈接頁面。數(shù)據(jù)集在構(gòu)造時(shí),對(duì)這些含有超鏈接的實(shí)體進(jìn)行了展開處理。統(tǒng)計(jì)數(shù)字顯示HybridQA數(shù)據(jù)集中,每個(gè)問題的表格平均有70個(gè)單元格和44個(gè)實(shí)體的鏈接,反應(yīng)了這一數(shù)據(jù)集中文本的復(fù)雜程度。
▲結(jié)構(gòu)化問答任務(wù)的一個(gè)示例在表格問答任務(wù)中,模型接收的每個(gè)問題都會(huì)伴隨一個(gè)表格,問題的答案可能跨越表格的某幾個(gè)單元格,或者在某個(gè)單元格中跨越一個(gè)小的文本片段。HybridQA數(shù)據(jù)集本身并沒有給出ground-truth答案如何抽取的標(biāo)注信息,這就導(dǎo)致了數(shù)據(jù)集中大約會(huì)有50%有歧義的樣本,這些樣本中存在多個(gè)可能的成為回答的文本片段。如果希望保證90%的樣本總是覆蓋了潛在的答案,那么表格、問題和實(shí)體描述的總長(zhǎng)度會(huì)增加到11000個(gè)token,這遠(yuǎn)遠(yuǎn)地超過了傳統(tǒng)的Transformer能夠處理的文本長(zhǎng)度,也是MATE想要解決的問題。
為了將MATE應(yīng)用到上面這樣的超長(zhǎng)文本結(jié)構(gòu)化問答任務(wù)中,作者受到開放領(lǐng)域問答(open domain QA)pipeline設(shè)計(jì)的啟發(fā),進(jìn)一步提出了一種兩階段處理框架:PointR。模型在第一階段指向(Pointing)正確的表格單元,第二階段從找到的表格單元中讀取(Reading)正確的答案。我們可以看到,這個(gè)處理過程再次十分自然地模擬了人處理表格信息的過程。
4.2 單元格選擇(cell selection)階段
單元格選擇通過訓(xùn)練MATE模型,后接一個(gè)分類問題常用的交叉熵?fù)p失函數(shù)來完成,主要分為以下三步:
首先讓模型以“問題”和“拍平了的表格數(shù)據(jù)”這樣一對(duì)輸入通過自注意力機(jī)制學(xué)習(xí)表格文本的編碼。之后,一個(gè)前饋網(wǎng)絡(luò)()會(huì)對(duì)同一個(gè)單元格中的每個(gè)token 進(jìn)一步映射,得到單元格中每個(gè)token的logit得分。
接著,對(duì)上一步計(jì)算出的單元格中每個(gè)token的logit得分求均值,輸出單元格的整體logit得分。
最后這一步是標(biāo)準(zhǔn)的softmax激活,之后就可以接上分類問題通用的交叉熵?fù)p失函數(shù),這個(gè)交叉熵?fù)p失函數(shù)的指導(dǎo)下,模型去學(xué)習(xí)和預(yù)測(cè)一個(gè)單元格位置是否包含了答案。
在這里,作者討論了單元格選擇階段會(huì)遇到一個(gè)十分現(xiàn)實(shí)的挑戰(zhàn)。由于表格是輸入信息中文本占比最多的一部分,如果MATE拍平整個(gè)表格作為輸入數(shù)據(jù),也就是展開表格中所有的單元格以及將單元格中的段落也進(jìn)行展開,超長(zhǎng)文本帶來的計(jì)算量依然會(huì)讓訓(xùn)練MATE模型去解決單元格選擇問題變得十分不實(shí)用。
為了進(jìn)一步減少計(jì)算量,作者在這里又做了一些簡(jiǎn)單的數(shù)據(jù)策略設(shè)計(jì):通過計(jì)算實(shí)體描述(entity description)對(duì)問題(query)的TF-IDF指標(biāo),只選擇TF-IDF前的實(shí)體描述進(jìn)行展開。
當(dāng)時(shí),能讓97%樣本的表格部分含有的token數(shù)落在2048之內(nèi)。
對(duì)剩下3%的超長(zhǎng)樣本按照能承擔(dān)的計(jì)算資源,硬性截?cái)唷?/p>
好啦,至此單元格選擇階段完成,開始進(jìn)入處理的下一個(gè)階段的處理:從找到的單元格中讀取答案。
4.3 答案讀取(passage reading)階段
作者在答案讀取階段并沒有做太多新的設(shè)計(jì),直接利用neural machine reading中最通用的實(shí)踐。原理和工作過程與上一步的單元格選擇十分類似。作者Fine-tune了預(yù)訓(xùn)練的BERT-uncased-large模型[6]。BERT模型以“上一步找到的單元格”和“問題”這樣一對(duì)數(shù)據(jù)為輸入,計(jì)算出單元格每個(gè)token的編碼。由于答案在單元格中通常會(huì)跨越多個(gè)token,文章里將答案第一個(gè)token的表示和最后一個(gè)token的表示拼接作為答案的表示,最后通過Softmax激活后接交叉熵?fù)p失函數(shù),訓(xùn)練階段引導(dǎo)模型學(xué)習(xí)和預(yù)測(cè)單元格中的一個(gè)片段是否為答案。
至此,兩階段的PointR結(jié)構(gòu)完成,是這篇論文在MATE結(jié)構(gòu)基礎(chǔ)上提出的一個(gè)微創(chuàng)新設(shè)計(jì)。
5 實(shí)驗(yàn)評(píng)估
在實(shí)驗(yàn)評(píng)估中,作者主要關(guān)注兩個(gè)方向:表格型數(shù)據(jù)的學(xué)習(xí)效果以及模型速度,與state-of-art方法相比,MATE都取得了顯著的改善。學(xué)習(xí)效果方面,MATE將HybridQA數(shù)據(jù)集上的表格問答任務(wù)的最佳結(jié)果提高了19個(gè)點(diǎn)。
▲MATE與TAPAS在表格parsing任務(wù)上的學(xué)習(xí)效果對(duì)比(來自論文中的Table 4)預(yù)測(cè)速度方面,在作者實(shí)驗(yàn)的云上64GB的虛擬機(jī)上,當(dāng)序列長(zhǎng)度增長(zhǎng)到2048時(shí),MATE比TaPas[7]快了近2倍。
▲MATE與幾種同類算法在預(yù)測(cè)速度上的對(duì)比(來自論文中的Figure 4)關(guān)于作者給出的更多實(shí)驗(yàn)數(shù)據(jù),有需要進(jìn)一步了解可以參考原論文,這里將不再贅述。
6 小結(jié)
MATE 是google research 被 EMNLP 2021錄用的一篇論文。文章介紹如何對(duì)經(jīng)典作用于單層序列之上的Transformer模型進(jìn)行改進(jìn)使其在半結(jié)構(gòu)化的表格數(shù)據(jù)上發(fā)揮作用。文章中有兩個(gè)核心設(shè)計(jì)思想,能夠?yàn)閷W(xué)習(xí)大規(guī)模結(jié)構(gòu)化數(shù)據(jù)提供一些啟示:
將注意力頭針對(duì)結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)特征進(jìn)行分組,不同分組關(guān)注不同的結(jié)構(gòu)性輸入,能夠?yàn)槟P偷膶W(xué)習(xí)過程引入更強(qiáng)的數(shù)據(jù)相關(guān)的結(jié)構(gòu)性先驗(yàn)。這是MATE在表格數(shù)據(jù)學(xué)習(xí)中與現(xiàn)有方法相比,能夠取得更高學(xué)習(xí)性能的關(guān)鍵原因。MATE在學(xué)習(xí)時(shí),將注意力頭劃分為行注意力頭和列注意力頭,行和列注意力頭可以獨(dú)立地配置所需的稀疏注意力策略,以及獨(dú)立地去限制注意力機(jī)制關(guān)注的局部位置(locality),作者指出這是一個(gè)很大的數(shù)據(jù)策略空間,在具體應(yīng)用中值得進(jìn)一步依任務(wù)選擇和調(diào)整。
MATE再次證明了,當(dāng)Transformer應(yīng)用長(zhǎng)度超過千級(jí)別的超長(zhǎng)序列時(shí),使用稀疏注意力機(jī)制替代稠密注意力機(jī)制能夠行之有效地改善學(xué)習(xí)和預(yù)測(cè)性能,MATE對(duì)稀疏注意力機(jī)制的優(yōu)化,對(duì)有處理長(zhǎng)序列需求的任務(wù)也是一個(gè)很好的參考。
后臺(tái)回復(fù)關(guān)鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺(tái)回復(fù)關(guān)鍵詞【頂會(huì)】
獲取ACL、CIKM等各大頂會(huì)論文集!
?
[1] Cafarella, Michael J., et al. "Uncovering the Relational Web". WebDB. 2008. (https://www.cs.columbia.edu/~ewu/files/papers/relweb-webdb08.pdf)
[3] Kardas, Marcin, et al. "Axcell: Automatic extraction of results from machine learning papers". arXiv preprint arXiv:2004.14356 (2020). (https://arxiv.org/pdf/2004.14356.pdf)
[4] Talmor, Alon, et al. "MultiModalQA: Complex Question Answering over Text, Tables and Images". arXiv preprint arXiv:2104.06039 (2021). (https://arxiv.org/pdf/2104.06039.pdf)
[5] Chen, Wenhu, et al. "Hybridqa: A dataset of multi-hop question answering over tabular and textual data". arXiv preprint arXiv:2004.07347 (2020). (https://arxiv.org/pdf/2004.07347.pdf)
[6] Devlin, Jacob, et al. "Bert: Pre-training of deep bidirectional transformers for language understanding". arXiv preprint arXiv:1810.04805 (2018). (https://arxiv.org/pdf/1902.10909.pdf)
[7] Herzig, Jonathan, et al. "TaPas: Weakly supervised table parsing via pre-training". arXiv preprint arXiv:2004.02349 (2020). (https://arxiv.org/pdf/2004.02349.pdf)
[8] Ainslie, Joshua, et al. "ETC: Encoding long and structured inputs in transformers". arXiv preprint arXiv:2004.08483 (2020). (https://arxiv.org/pdf/2004.08483.pdf)
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Google Research新成果,让表格理解和检索更上一层楼!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软中山大学开源超强的视觉位置编码,涨点
- 下一篇: 全栈深度学习第5期: 神经网络调试技巧