01.22 NeurIPS 2019中的Transformers

編譯:ronghuaiyang

導讀

NeurIPS 2019上和Transformer有關的論文的主要內容解讀。

NeurIPS 2019中的Transformers

在我之前關於 BERT 在 EMNLP 2019 的報道之後,如果不在 NeurIPS 2019 年大會上簡要回顧一下關於 transformers 的論文,那將是一種犯罪。神經信息處理系統研討會於 12 月 8 日至 14 日在溫哥華舉行。像往常一樣,有很多令人驚歎的想法和先進的研究。以下是其中的一些。

ViLBERT:視覺和語言任務的預訓練任務的視覺語言表示

http://arxiv.org/abs/1908.02265

提出了一種新的方法來學習與任務無關的圖像內容和自然語言的聯合表示。

ViLBERT(Vision-and-Language BERT)由兩個並行的 BERT 風格的模型組成,它們在圖像區域和文本段上運行。每個流是一系列 transformer 塊和新的 co-attentional transformer 層,它們被引入以實現模式之間的信息交換。每個圖像通過從一個預訓練的目標檢測網絡(Faster R-CNN)中提取邊界框及其視覺特徵作為一組區域的特徵表示。

NeurIPS 2019中的Transformers

ViLBERT模型由兩個並行的視覺(綠色)和語言(紫色)處理流組成,它們通過新的共注意transformer層相互作用。

預訓練有兩項任務:masked 多模態建模和多模態對齊預測。masked 多模態建模任務遵循標準 BERT 中的 masked 語言建模任務 —— 掩蔽大約 15%的單詞和圖像區域作為輸入,並在給定剩餘輸入的情況下對模式進行重構。在多模態對齊任務中,模型提出了一個圖像 — 文本對,必須預測圖像和文本是否對齊,即文本是否描述圖像。

在許多已建立的視覺和語言任務中,ViLBERT 模型表現優於最先進的模型:視覺問題回答、視覺常識推理、引用表達式和基於標題的圖像檢索。

NeurIPS 2019中的Transformers

將我們的ViLBERT模型的任務結果與現有的最先進和合理的結構進行消融比較。

Ouroboros: 基於 Transformer 的語言模型的加速訓練

http://arxiv.org/abs/1909.06695

毫無疑問,Transformers 在很多任務上都取得了巨大的成就,但是訓練它們可能是一個漫長而昂貴的過程。解決這個問題的一種可能的方法是並行化。

當模型太大而不能在單個設備中進行訓練時,模型的並行化仍然是一個有待解決的問題。當一個模型變得太大而不能適用於單個計算設備時,最簡單的解決方案是將模型層分佈到多個設備上。

文章提出了一種新的模型並行算法來並行化基於 Transformers 的語言模型的訓練。這種算法可以在不損失精度的情況下產生顯著的加速效果。

NeurIPS 2019中的Transformers

每個batch的計算時間的加速(在K個gpu上)

可視化和 BERT 幾何形狀的測量

http://arxiv.org/abs/1906.02715

本文試圖證明 transformer 具有一組語義和句法信息的中間表示。為了尋找句法信息,他們在注意力向量的頂部訓練了線性模型。該模型必須預測兩個詞之間依賴關係的存在和類型。二分類預測的準確度為 85.8%,多分類預測的準確度為 71.9%。這個簡單線性預測的成功表明,句法信息被編碼在注意力向量中。

NeurIPS 2019中的Transformers

一個有序token對的模型範圍內的注意力向量包含該token對在所有注意力頭和層中的標量注意力值。

第二部分是語義信息。很自然地,我們可以推測 transformer 捕捉了一個詞在一個特定句子中的特殊含義。

對於一個具有 n 種含義的給定單詞,他們製作一個最近鄰分類器,其中每個鄰居都是訓練集中給定單詞含義的基於 BERT 的嵌入的質心。為了對一個新單詞進行分類,他們會找到這些質心中最近的一個,如果這個單詞在訓練數據中沒有出現,則默認為最常用的詞義。簡單最近鄰分類器的 F1 得分為 71.1,高於目前的技術水平,其準確率在層間單調遞增。這是一個強烈的信號,即上下文嵌入表示了詞意信息。

NeurIPS 2019中的Transformers

詞義消歧任務的F1得分

新的位置編碼,使能樹型結構的 transformers

https://openreview.net/pdf?id=SJerEhR5Km

transformer 可以很好地完成順序建模任務。但是在某些情況下,使用純面向序列的方法可能會導致丟失有價值的結構信息,例如,當我們想要表示層次結構時。這項工作為樹結構數據引入了新的位置編碼。這可能會將 transformer 從自然語言解析樹擴展到到程序抽象語法樹中。

這種方法有兩種評估方法:合成翻譯任務和生成的 CoffeeScript 和 JavaScript 代碼之間的翻譯。實驗表明,在面向樹的任務中,採用這種編碼的模型的性能優於序列轉換器。

NeurIPS 2019中的Transformers

與tree2tree LSTMs比較,合成任務的整個程序錯誤率。

NeurIPS 2019中的Transformers

用於CoffeeScript-JavaScript翻譯任務的整個程序錯誤率數據

用於語言建模的張量化 Transformer

http://arxiv.org/abs/1906.09777

我認為這是最有趣的工作。也許不是通過結果,而是通過使用張量分解來降低模型的複雜度。

正如你所知道的,考慮如何減少內存和計算 Transformer 的需求量是非常重要的。現有的模型壓縮方法主要分為參數剪枝和共享、低秩近似、知識轉移、轉移卷積濾波器和張量分解方法。

在本文中,作者基於參數共享的思想,重點研究了 Transformer 多頭注意力的壓縮問題。同時,還結合了低秩近似方法來降低參數和計算複雜度。提出了一種新的自我注意力方法——多線性注意力機制。

NeurIPS 2019中的Transformers

(左)單塊注意力使用Tucker分解。(右)基於塊項張量分解的多線性注意。在所有的實驗中,新架構在參數較少的情況下取得了與SoTA相當的結果。

NeurIPS 2019中的Transformers

結果(PPL)和模型參數在One-Billion的最新結果。

NeurIPS 2019中的Transformers

在PTB和WikiText-103上得到了最先進的結果和壓縮性能。

NeurIPS 2019中的Transformers

在WMT-16的英德翻譯上使用Transformer與壓縮的結果。

英文原文:https://towardsdatascience.com/transformers-at-neurips-2019-3c8e76e3ab42


分享到:


相關文章: