深度 | 當前最好的詞句嵌入技術概覽:從無監督學習轉向監督、多任務學習

2021-03-02 機器之心

選自Medium

作者:Thomas Wolf

機器之心編譯

參與:Geek AI、劉曉坤

本文是一篇對於當今最先進的通用詞/句嵌入技術的簡介,包括對比基線: FastText、詞袋模型(Bag-of-Words);以及最先進的模型:ELMo、Skip-Thoughts、Quick-Thoughts、InferSent、MILA 研究組和微軟研究院提出的通用句子表徵,以及谷歌的通用句子編碼器。

詞語和句子的嵌入已經成為了任何基於深度學習的自然語言處理系統必備的組成部分。

它們將詞語和句子編碼成稠密的定長向量,從而大大地提升通過神經網絡處理文本數據的能力。

當前主要的研究趨勢是追求一種通用的嵌入技術:在大型語料庫中預訓練的嵌入,它能夠被添加到各種各樣下遊的任務模型中(情感分析、分類、翻譯等),從而通過引入一些從大型數據集中學習到的通用單詞或句子的表徵來自動地提升它們的性能。

它是遷移學習的一種體現形式。

儘管在相當長的一段時間內,對句子的無監督表示學習已經成為了一種行業規範。但在最近的幾個月裡,人們開始逐漸轉向監督學習和多任務學習,並且在 2017 年底/2018 年初提出了一些非常有趣的方案。

近期的通用詞/句嵌入的趨勢:在本文中,作者將介紹上圖中用黑體表示的模型。

因此,本文是一篇對於當今最先進的通用詞/句嵌入技術的簡介,詳細討論了以下模型:

讓我們從詞嵌入開始娓娓道來。

最近的詞嵌入研究進展


在過去的五年中,人們提出了大量可行的詞嵌入方法。目前最常用的模型是 word2vec 和 GloVe,它們都是基於分布假設(在相同的上下文中出現的單詞往往具有相似的含義)的無監督學習方法。

儘管此後有一些研究(https://arxiv.org/abs/1805.04032)通過引入語義或者句法的監督信息來增強這些無監督方法,但是純粹的無監督學習方法在 2017 年到 2018 年得到了令人關注的提升,最著名的是「FastText」(word2vec 的一種拓展)以及「ELMo」(目前最先進的基於上下文的詞嵌入技術)。

FastText 由 Tomas Mikolov 的團隊提出,他曾在 2013 年提出了著名的 word2vec 框架,引發了通用詞嵌入技術的研究浪潮。

FastText 相對於原始的 word2vec 向量最主要的提升是它引入了 n 元字符(n-gram),這使得對沒有在訓練數據中出現的單詞(詞彙表外的單詞)計算單詞的表徵成為了可能。

FastText 向量的訓練速度非常快,並且可以在 GitHub 上獲取通過「Wikipedia」和「Common Crawl」數據集上預訓練好的版本。它們是非常棒的對比基線。

深度上下文單詞表徵(ELMo)在很大的程度上提高了目前最先進的詞嵌入模型的性能。它們由 Allen 人工智慧研究所研發,並將在 6 月初的 NAACL 2018(https://arxiv.org/abs/1802.05365)中展示。

ELMo 能感知到豐富的單詞的上下文知識

ELMo 模型會為每一個單詞分配一個表徵,該表徵是它們所屬的整個語料庫中的句子的一個函數。詞嵌入將從一個兩層的雙向語言模型(LM)的內部狀態中計算出來,因此該模型被命名為「ELMo」: Embeddings from Language Models(E 代表「嵌入」,LM 代表「語言模型」)。

ELMo 模型的特點:

ELMo 模型的輸入是字符而不是單詞。因此,它們可以利用子詞單元的優勢來計算有意義的單詞表示,即使這些單詞可能在詞彙表之外(就像 FastText 一樣)。

ELMo 是在雙向語言模型中的一些層上的激勵函數的串接。一個語言模型的不同層會對一個單詞的不同類型的信息進行編碼(例如,詞性標註(Part-Of-Speech tagging)由雙向 LSTM(biLSTM)的較低層很好地預測,而詞義排歧則由較高層更好地進行編碼)。將所有的層串接起來使得自由組合各種不同的單詞表徵成為了可能,從而在下遊任務中得到更好的模型性能。

現在讓我們轉而討論通用句子嵌入。

通用句子嵌入的興起



目前有許多相互競爭的學習句子嵌入的方案。儘管像平均詞嵌入這樣簡單的基線也能夠一直給出很好的實驗結果,但一些新的類似於無監督和監督學習以及多任務學習的方法,在 2017 年底 2018 年初出現在了人們的視野中,並且取得了令人矚目的性能提升。

讓我們快速瀏覽一下目前研究出來的四種嵌入方法吧:從簡單的詞向量平均的基線到無監督/監督學習方法,以及多任務學習方案(如上文所述)。

在這個領域有一個廣泛的共識(http://arxiv.org/abs/1805.01070),那就是:直接對句子的詞嵌入取平均(所謂的詞袋模型(Bag-of-Word,BoW))這樣簡單的方法可以為許多下遊任務提供一個很強大的對比基線。

Arora 等人在 ICLR 2017 上提出了「A Simple but Tough-to-Beat Baseline for Sentence Embeddings」(https://openreview.net/forum?id=SyK00v5xx),這是一個很好的能夠被用於計算這個基線(BoW)的算法,算法的大致描述如下:選擇一個流行的詞嵌入方法,通過詞向量的線性的加權組合對一個句子進行編碼,並且刪除共有的部分(刪除它們的第一個主成分上的投影)。這種通用的方法有更深刻和強大的理論動機,它依賴於一個生成模型,該生成模型使用了一個語篇向量上的隨機遊走生成文本。(這裡不討論理論細節。)

「HuggingFace」對話的詞袋模型的示意圖。詞袋模型弱化了詞語的順序關係,但保留了大量的語義和句法的信息。在 ACL 2018 上,Conneau 等人對此提出了有趣的見解(http://arxiv.org/abs/1805.01070)。

除了簡單的詞向量平均,第一個主要的提議是使用無監督學習訓練目標,這項工作是起始於 Jamie Kiros 和他的同事們在 2015 年提出的「Skip-thought vectors」(https://arxiv.org/abs/1506.06726)。

無監督方案將句子嵌入作為通過學習對一個句子中一致且連續的短句或從句進行預測的副產品來學習句子嵌入。理論上,這些方法可以利用任何包含以一致的方式並列的短句/從句的文本數據集。

「Skip-thoughts vector」是一個典型的學習無監督句子嵌入的案例。它可以被認為相當於為詞嵌入而開發的「skip-gram」模型的句子向量,我們在這裡試圖預測一個給定的句子周圍的句子,而不是預測一個單詞周圍的其他單詞。該模型由一個基於循環神經網絡的編碼器—解碼器結構組成,研究者通過訓練這個模型從當前句子中重構周圍的句子。

Skip-Thoughts 的論文中最令人感興趣的觀點是一種詞彙表擴展方案:Kiros 等人通過在他們的循環神經網絡詞嵌入空間和一個更大的詞嵌入空間(例如,word2vec)之間學習一種線性變換來處理訓練過程中沒有出現的單詞。

「Quick-thoughts vectors」(https://openreview.net/forum?id=rJvJXZb0W)是研究人員最近對「Skip-thoughts vectors」的一個改進,它在今年的 ICLR 上被提出。在這項工作中,在給定前一個句子的條件下預測下一個句子的任務被重新定義為了一個分類問題:研究人員將一個用於在眾多候選者中選出下一個句子的分類器代替了解碼器。它可以被解釋為對生成問題的一個判別化的近似。

該模型的運行速度是它的優點之一(與 Skip-thoughts 模型屬於同一個數量級),使其成為利用海量數據集的一個具有競爭力的解決方案。

「Quick-thoughts」分類任務示意圖。分類器需要從一組句子嵌入中選出下一個句子。圖片來自 Logeswaran 等人所著的「An efficient framework for learning sentence representations」。

在很長一段時間內,人們認為監督學習技術比無監督學習技術得到的句子嵌入的質量要低一些。然而,這種假說最近被推翻了,這要部分歸功於「InferSent」(https://arxiv.org/abs/1705.02364)的提出。

與之前詳細討論的無監督學習不同,監督學習需要一個帶標籤的數據集,為一些像自然語言推理(例如:有蘊含關係的句子對)或者機器翻譯(例如:翻譯前後的句子對)這樣的任務進行標註。監督學習提出了以下兩個問題:(1)如何選擇特定任務?(2)若要獲得高質量的嵌入,所需的數據集大小應該如何確定?在本文的下一節和最後一節,作者將會對多任務學習進行進一步的討論。但在這之前,讓我們一起來看看 2017 年發布的 InferSent 背後的原理。

InferSent 具有非常簡單的架構,這使得它成為了一種非常有趣的模型。它使用 Sentence Natural Language Inference(NLI)數據集(該數據集包含 570,000 對帶標籤的句子,它們被分成了三類:中立、矛盾以及蘊含)訓練一個位於句子編碼器頂層的分類器。兩個句子使用同一個編碼器進行編碼,而分類器則是使用通過兩個句子嵌入構建的一對句子表徵訓練的。Conneau 等人採用了一個通過最大池化操作實現的雙向 LSTM 作為編碼器。

一個用於對 Sentence Natural Language Inference 進行學習的有監督的句子嵌入模型(InferSent)。此圖來自 A.Conneau 等人所著的「Supervised Learning of Universal Sentence Representations from Natural Language Inference Data」。

InferSent 的成功不僅導致了對選擇最佳的神經網絡模型的探索,它還引發了對以下問題的研究:

哪種監督訓練任務能夠學到能更好地泛化到下遊任務中去的句子嵌入呢?

多任務學習可以被視為對 Skip-Thoughts、InferSent,以及其他相關的無監督/監督學習方案的一種泛化,它通過試著將多個訓練目標融合到一個訓練方案中來回答這個問題(上文提到的問題)。

在 2018 年初,研究人員發布了一系列最新的多任務學習的方案。讓我們快速的瀏覽一下 MILA 和微軟研究院提出的「通用目的句子表徵」和谷歌的「通用句子編碼器」。

在 ICLR 2018 上發表的描述 MILA 和微軟蒙特婁研究院的工作的論文《Learning General Purpose Distributed Sentence Representation via Large Scale Multi-Task Learning》(https://arxiv.org/abs/1804.00079)中,Subramanian 等人觀察到,為了能夠在各種各樣的任務中泛化句子表徵,很有必要將一個句子的多個層面的信息進行編碼。

因此,這篇文章的作者利用了一個一對多的多任務學習框架,通過在不同的任務之間進行切換去學習一個通用的句子嵌入。被選中的 6 個任務(對於下一個/上一個句子的 Skip-thoughts 預測、神經機器翻譯、組別解析(constituency parsing),以及神經語言推理)共享相同的由一個雙向門控循環單元得到的句子嵌入。實驗表明,在增添了一個多語言神經機器翻譯任務時,句法屬性能夠被更好地學習到,句子長度和詞序能夠通過一個句法分析任務學習到,並且訓練一個神經語言推理能夠編碼語法信息。

谷歌在 2018 年初發布的的通用句子編碼器(https://arxiv.org/abs/1803.11175)也使用了同樣的方法。他們的編碼器使用一個在各種各樣的數據源和各種各樣的任務上訓練的轉換網絡,旨在動態地適應各類自然語言理解任務。該模型的一個預訓練好的版本可以在 TensorFlow 獲得。

以上就是我們對於通用的詞語和句子嵌入的簡要總結。

在過去的短短的幾個月中,這個領域取得了很多令人矚目的發展,並且在評價和探索這些嵌入的性能以及其內在的偏差/公平性的方面(這是討論通用的嵌入時的一個真實存在的問題)有了很大的進步。

原文連結:https://medium.com/huggingface/universal-word-sentence-embeddings-ce48ddc8fc3a

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

✄---

加入機器之心(全職記者/實習生):hr@jiqizhixin.com

投稿或尋求報導:content@jiqizhixin.com

廣告&商務合作:bd@jiqizhixin.com

相關焦點

  • 當前最好的詞句嵌入技術概覽:從無監督學習轉向監督、多任務學習
    儘管在相當長的一段時間內,對句子的無監督表示學習已經成為了一種行業規範。但在最近的幾個月裡,人們開始逐漸轉向監督學習和多任務學習,並且在 2017 年底/2018 年初提出了一些非常有趣的方案。近期的通用詞/句嵌入的趨勢:在本文中,作者將介紹上圖中用黑體表示的模型。
  • 什麼是無監督學習?
    這裡嘗試從科普的角度來解釋,無監督學習產生的原理和它與有監督學習的區別何在(技術大牛請忽略此文)。一、「無監督學習」不是告訴計算機怎麼做,而是讓機器自己【去學習】怎樣做。媽媽給小朋友看一張狗狗的圖片A,當他再看到狗狗圖片B時,小朋友通常會興奮地伸出食指喊:「這也是一隻狗!」。
  • 概覽普適詞嵌入句嵌入最新進展
    儘管長期以來句子的無監督表示學習是主流,最近幾個月(2017年末/2018年初),我們看到了許多非常有趣的工作,顯示了向監督學習和多任務學習轉向的趨勢。儘管簡單的基線(例如平均詞嵌入)持續提供強力的結果,在2017年下半年和2018年上半年出現了一些創新的無監督和監督方法,以及多任務學習方案。詞袋方法這一領域的一般共識是,直接平均一個句子的詞向量這一簡單方法(所謂詞袋方法),為許多下遊任務提供了強力的基線。
  • DeepMind無監督表示學習重大突破:語音、圖像、文本、強化學習全能...
    2013年,Bengio等人發表了關於表示學習( representation learning)的綜述,將表示學習定義為「學習數據的表徵,以便在構建分類器或其他預測器時更容易提取有用的信息」,並將無監督特徵學習和深度學習的諸多進展納入表示學習的範疇。
  • 【深度】自監督學習,如何從數據困境中拯救深度學習?
    然而監督式學習過於依賴大規模標註數據集,數據集的收集和人工標註需耗費大量的人力成本。自監督模型解決了這一難題,它能夠從大規模未標記數據中學習圖像特徵,而無需使用任何人工標註數據。每個深度學習實踐者都認同的一件事是:深度學習模型是數據低效的。
  • Hinton構思下一代神經網絡:屬於無監督對比學習
    Hinton 在此次報告中回顧了神經網絡的發展歷程,並表示下一代神經網絡將屬於無監督對比學習。Hinton 的報告主要內容如下:人工神經網絡最重要的待解難題是:如何像大腦一樣高效執行無監督學習。目前,無監督學習主要有兩類方法。
  • 從詞嵌入到含義嵌入:概覽含義向量表示方法
    近年來,通過分析文本語料推導詞義差別的無監督表示模型漸漸流行。下面我們將分別介紹這兩種範式。這一範式利用外部資源中的知識建模語義。首先,我們將概覽主要的外部資源。接著,我們將簡要介紹一些使用外部資源改進詞向量的方法。最後我們重點介紹構建基於知識的含義表示的方法。
  • 比監督學習做的更好:半監督學習
    然而,一個重大突破揭示了添加「無監督數據」可以提高模型泛化和性能。事實上,在非常多的場景中,帶有標籤的數據並不容易獲得。半監督學習可以在標準的任務中實現SOTA的效果,只需要一小部分的有標記數據 —— 數百個訓練樣本。在這個我們對半監督學習的探索中,我們會有:半監督學習簡介。
  • 無監督學習的魅力
    聚類算法會跑過我們的數據,然後找出幾個自然聚類 (Natural Clusters) 。無監督深度學習無監督學習,把領地擴張到了神經網絡和深度學習裡,這一點也不奇怪。這個領域還很年輕,不過已經有了自編碼器 (Autoencoder) 這樣的先行者。
  • 重磅|伯克利《深度無監督學習》2020春季新課來襲!
    【新智元導讀】OpenAI顧問、伯克利加州分校人工智慧實驗室主任、機器人學習實驗室主任攜其博士生,為大家貢獻一門長達4個月的深度無監督學習課程,該課程是深度無監督學習的優秀課程,涵蓋了許多當前的最新水平,尤其是該課程使用了最新的模型更新研究生級課程。最近因為疫情,缺乏防護且人員密集的學校成為了重災區。
  • 前沿綜述:細數2018年最好的詞嵌入和句嵌入技術
    ,近幾個月,已經有向監督和多任務學習方案轉變的跡象。最近,深層語境化詞表徵(ELMo)在最好的詞嵌入技術基礎上有了顯著地提升。 它們由艾倫人工智慧研究所開發,將於6月初在NAACL 2018展出。對於句子嵌入任務,許多解決方案都很有競爭力。 儘管像平均詞嵌入這樣的簡單基線經常得出很好的結果,但一些新穎的無監督和監督方法以及多任務學習方法已於2017年末至2018年初被提出來,並且都有一些有趣的改進與提升。
  • 人工智慧的下半場,一定少不了自監督學習
    然而,當前主流的監督式學習任務往往過度依賴於人工標註,即所謂「有多少人工就有多少智能」。因此,通過自監督的方式自動生成監督信號成為了越來越多人工智慧從業者的選擇。本文從圖像、視頻、控制三個角度分別介紹了自監督表徵學習的最新進展,值得一讀!對於給定的任務,在擁有足夠的標籤的情況下,監督式學習可以很好地解決該問題。
  • 73歲Hinton老爺子構思下一代神經網絡:屬於無監督對比學習
    目前,無監督學習主要有兩類方法。第一類的典型代表是 BERT 和變分自編碼器(VAE),它們使用深度神經網絡重建輸入。但這類方法無法很好地處理圖像問題,因為網絡最深層需要編碼圖像的細節。為什麼我們需要無監督學習?在預測神經網絡的未來發展之前,Hinton 首先回顧了神經網絡的發展進程。演講一開始,Hinton 先介紹了三種學習任務:監督學習、強化學習和無監督學習,並重點介紹了無監督學習的必要性。
  • SIGIR2020|圖靈獎得主Hinton:無監督對比學習將是神經網絡的未來
    人工神經網絡一直懸而未決的問題是如何像大腦一樣有效地進行無監督學習。 當前有兩種主要的無監督學習方法。 第一種方法,以BERT和變分自編碼為代表,使用深度神經網絡來重建其輸入。無監督對比學習才是神經網絡的未來人類大腦有10^14個神經元連接,而人的一生只有10^9秒,因此人類僅靠監督學習是無法完成所有神經元訓練的,我們的深度學習模型也是如此,只用監督學習無法取得更新的進展,要將無監督學習融入進來。
  • 引用次數最多的深度學習論文出自誰手?(無監督學習/生成模型篇)
    在GitHub上,@Terryum整理了一份精心編寫的論文推薦列表,其中包含了在深度學習領域中引用次數最多的前100篇論文(自2012年起)。有一些深度學習論文,無論它們屬於哪個應用領域,都值得仔細研習。文章在精不在多,雷鋒網提供的這些文章,都被認為是值得一讀的優秀論文。
  • 引用次數最多的深度學習論文出自誰手?無監督學習/生成模型篇
    文章在精不在多,雷鋒網提供的這些文章,都被認為是值得一讀的優秀論文。囿於篇幅限制,雷鋒網整理編譯了無監督學習/生成模型的七篇論文,並增加了論文的概要,方便讀者快速了解。自然圖像分布的建模在無監督學習中是一個裡程碑式的難題,因為圖像的高維度和高結構性,建模時需要考慮模型的可表達性,可控性和可擴展性,這使得很多模型在建立時以犧牲性能為代價,才能提取出有意義的圖像表徵。
  • 重磅 | 伯克利《深度無監督學習》今日開課!雙語字幕獨家上線!
    AI 研習社獲得官方授權,伯克利 CS 294-158 《深度無監督學習》中英字幕版,等了好久,今天終於正式上線啦!  豐富的課程內容本課程將涵蓋深度學習中不需要標註數據的兩個領域:深度生成模型和自監督學習。
  • 今日論文|26億參數生成式中文預訓練語言模型CPM&互信息無/半監督並行學習&ISWC語義答案類型預測任務&元嵌入學習&MORE
    [3]提出了一個自監督框架,通過在3D環境中移動代理和聚合多視圖RGB-D信息來改進不可見場景中的目標檢測器。文章從預訓練好的檢測器中去除自信的二維目標檢測,並在點雲上進行無監督的三維分割。分割後的3D對象被重新投影到所有其他視圖,以獲得偽標籤進行微調。
  • 機器學習實戰-監督學習、無監督學習
    上一篇:機器學習實戰-特徵選擇之遞歸特徵消除最近兩天收到同學的私信,對於算法中的一些監督學習,無監督學習不是很了解,也不知道從何下手,本篇小編就來介紹一下這三者是什麼東西。本文章節1、監督學習2、無監督學習3、兩者的區別4、兩者的使用場景監督學習監督學習,小編有個簡單的理解方式,按照這個順序來理解1、有兩撥人,一撥人是好人,一撥是壞人2、好人的行為特徵有:扶老奶奶過馬路,撿到一分錢交給警察叔叔,當志願者等等3、壞人的行為特徵有:偷東西
  • 機器學習三兄弟概念大揭秘:監督學習、非監督學習、強化學習
    本文將幫助你更好的理解監督學習、非監督學習和強化學習的定義的內涵,並從更廣闊的視角闡述它們與機器學習之間的聯繫。深入理解它們的內涵不僅有助於你在這一領域的文獻中盡情的徜徉,更能引導你敏銳地捕捉到AI領域的發展和技術進步的氣息。