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