NLP預訓練模型大集合!

2021-01-10 機器之心Pro

選自GitHub

作者:Sepehr Sameni

機器之心編譯

參與:路

詞語和句子嵌入已經成為任何基於深度學習的自然語言處理系統的必備組成部分。它們將詞語和句子編碼成稠密的定長向量,從而大大地提升神經網絡處理文本數據的能力。近日,Separius 在 GitHub 上列舉了一系列關於 NLP 預訓練模型的近期論文和文章,力求全面地概述 NLP 各個方面的最新研究成果,包括詞嵌入、池化方法、編碼器、OOV 處理等。

GitHub 地址:https://github.com/Separius/awesome-sentence-embedding

通用框架

幾乎所有句子嵌入的工作原理都是這樣的:給出某種詞嵌入和可選編碼器(例如 LSTM),句子嵌入獲取語境詞嵌入(contextualized word embedding)並定義某種池化(比如簡單的 last pooling),然後基於此選擇直接使用池化方法執行監督分類任務(如 infersent),或者生成目標序列(如 skip-thought)。這樣通常我們就有了很多你從未聽說過的句子嵌入,你可以對任意詞嵌入做平均池化,這就是句子嵌入!

詞嵌入

這部分 Separius 介紹了 19 篇相關論文,包括 GloVe、word2vec、fastText 等預訓練模型:

OOV 處理

A La Carte Embedding: Cheap but Effective Induction of Semantic Feature Vectors:基於 GloVe-like 嵌入的近期結果構建 OOV 表徵,依賴於使用預訓練詞向量和線性回歸可高效學習的線性變換。Mimicking Word Embeddings using Subword RNNs:通過學習從拼寫到分布式嵌入的函數,合成地生成 OOV 詞嵌入。

語境詞嵌入

這部分介紹了關於語境詞嵌入的 5 篇論文,包括近期大熱的 BERT。

機器之心介紹過這五篇論文中的其中四篇,參見:

深度 | 通過 NMT 訓練出通用的語境詞向量:NLP 中的預訓練模型?NAACL 2018 | 最佳論文:艾倫人工智慧研究所提出新型深度語境化詞表徵使用 Transformer 與無監督學習,OpenAI 提出可遷移至多種 NLP 任務的通用模型最強 NLP 預訓練模型!谷歌 BERT 橫掃 11 項 NLP 任務記錄

池化方法

{Last, Mean, Max}-PoolingSpecial Token Pooling(如 BERT 和 OpenAI's Transformer)A Simple but Tough-to-Beat Baseline for Sentence Embeddings:選擇一種在無監督語料庫上常用的詞嵌入計算方法,使用詞向量的加權平均值來表徵句子,並且使用 PCA/SVD 進行修改。這種通用的方法有更深刻和強大的理論動機,它依賴於一個生成模型,該生成模型使用了一個語篇向量上的隨機遊走生成文本。Unsupervised Sentence Representations as Word Information Series: Revisiting TF–IDF:提出了一種將句子建模為詞嵌入的加權序列的無監督方法,該方法從無標註文本中學習無監督句子表徵。Concatenated Power Mean Word Embeddings as Universal Cross-Lingual Sentence Representations:將平均詞嵌入的概念泛化至冪平均詞嵌入。A Compressed Sensing View of Unsupervised Text Embeddings, Bag-of-n-Grams, and LSTMs:從壓縮感知理論的角度看結合多個詞向量的表徵。

編碼器

這部分介紹了 25 篇論文,包括 Quick-Thought、InferSent、SkipThought 等預訓練模型。

評估

這部分主要介紹詞嵌入、句子嵌入的評估和基準:

The Natural Language Decathlon: Multitask Learning as Question AnsweringSentEval: An Evaluation Toolkit for Universal Sentence RepresentationsGLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language UnderstandingExploring Semantic Properties of Sentence EmbeddingsFine-grained Analysis of Sentence Embeddings Using Auxiliary Prediction TasksHow to evaluate word embeddings? On importance of data efficiency and simple supervised tasksA Corpus for Multilingual Document Classification in Eight LanguagesOlive Oil Is Made of Olives, Baby Oil Is Made for Babies: Interpreting Noun Compounds Using Paraphrases in a Neural ModelCommunity Evaluation and Exchange of Word Vectors at wordvectors.orgEvaluation of sentence embeddings in downstream and linguistic probing tasks

向量圖

Improving Vector Space Word Representations Using Multilingual Correlation:提出了基於典型相關分析(CCA)結合多語言 evidence 和單語生成向量的方法。A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings:提出一種新的無監督自訓練方法,該方法採用更好的初始化來引導優化過程,這種方法對於不同的語言對而言尤其強大。Unsupervised Machine Translation Using Monolingual Corpora Only:提出將機器翻譯任務轉換成無監督式任務。在機器翻譯任務中,所需的唯一數據是兩種語言中每種語言的任意語料庫,而作者發現如何學習兩種語言之間共同潛在空間(latent space)。參見:無需雙語語料庫的無監督式機器翻譯

此外,Separius 還介紹了一些相關的文章和未發布代碼或預訓練模型的論文。

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

相關焦點

  • PTMs|2020最新NLP預訓練模型綜述
    該綜述系統地介紹了nlp中的預訓練模型。主要的貢獻包括:1.深入盤點了目前主流的預訓練模型,如word2vec,ELMo,BERT等。2.提出了一種預訓練模型的分類體系,通過四種分類維度來劃分目前已有的預訓練模型。
  • 復旦邱錫鵬教授:2020最新NLP預訓練模型綜述
    新智元報導編輯:SF【新智元導讀】本文該綜述系統地介紹了nlp中的預訓練模型,深入盤點了目前主流的預訓練模型,提出了一種預訓練模型的分類體系。本篇文章主要介紹邱錫鵬老師在2020年發表的一篇預訓練模型的綜述:「Pre-trained Models for Natural Language Processing: A survey」。該綜述系統地介紹了nlp中的預訓練模型。主要的貢獻包括:1、深入盤點了目前主流的預訓練模型,如word2vec,ELMo,BERT等。
  • NLP領域最優秀的8個預訓練模型(附開源地址)
    自然語言處理應用能夠快速增長,很大程度上要歸功於通過預訓練模型實現遷移學習的概念。在自然語言處理的背景下,遷移學習本質上是在一個數據集上訓練模型,然後對該模型進行調整,以在不同的數據集上執行不同的自然語言處理功能。
  • 支持53種語言預訓練模型,斯坦福發布全新NLP工具包StanfordNLP
    53 種語言預訓練模型的自然語言處理工具包 StanfordNLP,該工具包支持 Python 3.6 及之後版本,並基於 PyTorch,支持多種語言的完整文本分析管道,包括分詞、詞性標註、詞形歸併和依存關係解析,此外它還提供了與 CoreNLP 的 Python 接口。
  • 天池新賽題 NLP預訓練模型大比武!
    像BERT、XLNet、RoBERTa、ERINE、T5等知名模型都會在GLUE進行測試。GLUE官網:https://gluebenchmark.com/GLUE已經成為衡量模型在語言理解方面最為重要的評價體系之一。
  • 一文讀懂最強中文NLP預訓練模型ERNIE
    為了去發現訓練數據中這些有價值的信息,在ERNIE 2.0 中,提出了一個預訓練框架,可以在大型數據集合中進行增量訓練。通過使用連續學習,可以不斷積累新的知識,模型在新任務當中可以用歷史任務學習到參數進行初始化,一般來說比直接開始新任務的學習會獲得更好的效果。a: 預訓練連續學習ERNIE 的預訓練連續學習分為兩步,首先,連續用大量的數據與先驗知識連續構建不同的預訓練任務。
  • 長文解讀綜述NLP中的預訓練模型(純乾貨)
    GPT在一個8億單詞的語料庫上訓練,12個Decoder層,12個attention頭,隱藏層維度為768。GPT在自然語言推理、分類、問答、對比相似度的多種測評中均超越了之前的模型,且從小數據集如STS-B(約5.7k訓練數據實例)到大數據集(550k訓練數據)都表現優異。甚至通過預訓練,也能實現一些Zero-Shot任務。
  • 【NLP】Facebook提出的預訓練模型BART
    該模型結合雙向和自回歸 Transformer 進行模型預訓練,在一些自然語言處理任務上取得了SOTA性能表現。近日,Facebook 發表論文,提出一種為預訓練序列到序列模型而設計的去噪自編碼器 BART。BART 通過以下步驟訓練得到:1)使用任意噪聲函數破壞文本;2)學習模型來重建原始文本。
  • 谷歌開源NLP模型可視化工具LIT,模型訓練不再「黑箱」
    情緒分類示例代碼如下:cd ~/litpython -m lit_nlp.examples.quickstart_sst_demo --port=5432情緒分類示例是基於斯坦福情感樹庫微調 BERT-tiny 模型,在 GPU 上不到 5 分鐘即可完成。訓練完成後,它將在開發集上啟動 LIT 伺服器。
  • 最強NLP預訓練模型!谷歌BERT橫掃11項NLP任務記錄
    與從左到右的語言模型預訓練不同,MLM 目標允許表徵融合左右兩側的語境,從而預訓練一個深度雙向 Transformer。除了 MLM,我們還引入了一個「下一句預測」(next sentence prediction)任務,該任務聯合預訓練文本對表徵。
  • [預訓練語言模型專題] BERT,開啟NLP新時代的王者
    feature-based策略的代表模型為ELMo,它把預訓練得到的「向量表示」作為訓練下遊任務的額外特徵。訓練下遊任務時使用新的任務相關模型,並基於得到的特徵來進行進一步的訓練。fine-tuning策略的代表模型為GPT,它則是在訓練語言模型後,只改變極少的任務相關的層與參數,直接對下遊任務訓練整個原來的語言模型。
  • 為什麼預訓練語言模型 ELMo 是NLP的最大進步之一?
    Elmo 不僅僅是一個木偶人物玩具的名字,而且 ELMo 還是一個強大的計算模型,可以將單詞轉換成數字。這一重要的過程允許機器學習模型(以數字而不是單詞作為輸入)可以在文本數據上進行訓練。當我通讀原始論文時,有幾個主要觀點引起了我的注意:ELMo 解釋了單詞的上下文。ELMo 是基於大型文本語料庫進行訓練的。ELMo 是開源的。
  • 深度| 通過NMT訓練的通用語境詞向量:NLP中的預訓練模型?
    深度學習模型以詞向量序列的形式讀取序列化的單詞,而不是以文本的形式。預訓練的詞向量有時候在為特定任務訓練模型之前,詞向量會被初始化成隨機數,但是,也有其他很常見的方式,例如,使用 word2vec、GloVe 或者 FastText 等方法來初始化詞向量。前兩個方法會逐漸和這一假設結合起來:至少一個單詞的部分含義是和它的用法有關的。
  • 劉鐵巖:如何四兩撥千斤,高效地預訓練NLP模型?
    目前,GPT-3 等模型的預訓練任務需要使用大量的計算資源,計算效率低下。在本次演講中,劉鐵巖博士從數據處理、模型結構、損失函數、優化算法等多個維度介紹了微軟亞洲研究院(MSRA)的研究者們針對高效 NLP 模型訓練的研究。
  • 直播回顧|最強中文NLP預訓練模型艾尼ERNIE官方揭秘
    而艾尼(ERNIE),可謂是目前NLP領域的最強中文預訓練模型。昨天,百度資深研發工程師龍老師,就通過直播帶開發者走近最強中文NLP預訓練模型ERNIE,在線上解讀了一系列艾尼ERNIE的強大特性,並現場與同為NLP模型的BERT直接PK,讓開發者連連感嘆,希望能把ERNIE運用到自己的工作與生活之中。
  • 復旦邱錫鵬超全NLP預訓練模型綜述論文:兩張圖帶你梳理完整脈絡
    自從 BERT 橫空出世以後,儘管算力要求比較大,但預訓練語言模型仍層出不窮,有點類似當年 GAN 大量更新的盛況。但近日復旦大學邱錫鵬等研究者發了一篇論文,它以兩張圖詳細展示了預訓練語言模型的現狀與分類。 復旦的這篇綜述性論文非常豐富,它以 25 頁的篇幅展示了預訓練語言模型的方方面面,不論是新奇的預訓練任務,還是各種模型針對領域知識的擴展,我們都能快速 Get 到。
  • ICLR 2020 | NLP 預訓練模型的全新範式:對比學習
    這是因為,判別式模型通常不是直接擬合原有的分布流形,學習到的特徵較為單一。但是,最近一些工作的基於對比學習的自監督學習框架,表現十分出色。長期以來,預訓練語言模型(PTM)專注於基於最大似然估計(MLE)的目標任務,也就是採用的「生成式模型(Generative Model)」。例如 BERT 的目標任務就是一個典型的 MLE:生成式模型有著其天生的優勢,即學習到豐富的特徵。
  • 華為開源預訓練語言模型「哪吒」:提升多項中文NLP任務性能
    NEZHA 開發背景預訓練語言模型本質上,就是神經網絡語言模型。它主要有兩個特點,即:可以使用大規模無標註純文本語料進行訓練,以及可以用於各類下遊 NLP 任務,各項性能指標均獲得大幅度提高,並可以將各類下遊任務的解決方案統一簡化為集中固定的 fine-tune 框架。預訓練語言模型通常有兩個大類型。
  • 預訓練語言模型:還能走多遠?
    預訓練語言模型還有哪些潛在的突破口?預訓練語言模型亟待解決的問題有哪些?在最後的討論環節,眾專家將圍繞這些話題進行討論。 韋福如對現有的語言模型預訓練工作進行總結和比較,然後介紹面向自然語言理解和生成任務的統一預訓練語言模型 UniLM 以及多語言預訓練模型 InfoXLM(演講內容請觀看CNCC回放視頻)。
  • 用Spark-NLP建立文本分類模型
    隨著數據的不斷增長,大多數組織已經轉移到大數據平臺,如apachehadoop和AWS、Azure和GCP等雲產品。這些平臺不僅能夠處理大數據,使組織能夠對非結構化數據(如文本分類)進行大規模分析。但在機器學習方面,大數據系統和機器學習工具之間仍然存在差距。