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

2021-01-09 機器之心Pro

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

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

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

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

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

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

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

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

強大、快速的對比基線: FastText、詞袋模型(Bag-of-Words)最先進的模型:ELMo、Skip-Thoughts、Quick-Thoughts、InferSent、MILA 研究組和微軟研究院提出的通用句子表徵,以及谷歌的通用句子編碼器。

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

最近的詞嵌入研究進展

在過去的五年中,人們提出了大量可行的詞嵌入方法。目前最常用的模型是 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 獲得。

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

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

相關焦點

  • 人工智慧的下半場,一定少不了自監督學習
    然而,當前主流的監督式學習任務往往過度依賴於人工標註,即所謂「有多少人工就有多少智能」。因此,通過自監督的方式自動生成監督信號成為了越來越多人工智慧從業者的選擇。本文從圖像、視頻、控制三個角度分別介紹了自監督表徵學習的最新進展,值得一讀!對於給定的任務,在擁有足夠的標籤的情況下,監督式學習可以很好地解決該問題。
  • SIGIR2020|圖靈獎得主Hinton:無監督對比學習將是神經網絡的未來
    人工神經網絡一直懸而未決的問題是如何像大腦一樣有效地進行無監督學習。 當前有兩種主要的無監督學習方法。 第一種方法,以BERT和變分自編碼為代表,使用深度神經網絡來重建其輸入。人類大腦有10^14個神經元連接,而人的一生只有10^9秒,因此人類僅靠監督學習是無法完成所有神經元訓練的,我們的深度學習模型也是如此,只用監督學習無法取得更新的進展,要將無監督學習融入進來。
  • 73歲Hinton老爺子構思下一代神經網絡:屬於無監督對比學習
    Hinton 在此次報告中回顧了神經網絡的發展歷程,並表示下一代神經網絡將屬於無監督對比學習。Hinton 的報告主要內容如下:人工神經網絡最重要的待解難題是:如何像大腦一樣高效執行無監督學習。目前,無監督學習主要有兩類方法。第一類的典型代表是 BERT 和變分自編碼器(VAE),它們使用深度神經網絡重建輸入。
  • 港中文MMLab自步對比學習:充分挖掘無監督學習樣本
    該工作提出自步對比學習框架及混合記憶模型,旨在解決無監督及領域自適應表徵學習中數據無法被充分挖掘的問題。這項工作在無監督的目標重識別任務上顯著地超越最先進技術高達16.7%;領域自適應的目標重識別任務中,在無監督的目標域上超越最先進技術高達5.0%,同時可以提升有監督的源域性能高達6.6%。
  • 文本嵌入的經典模型與最新進展
    對通用嵌入的追求是一大趨勢:在大型語料庫上預訓練好的嵌入,可以插入各種下遊任務模型(情感分析、分類、翻譯等),通過融合一些在更大的數據集中學習得到的常用詞句表示,自動提高它們的性能。這是一種遷移學習。最近,遷移學習被證明可以大幅度提高 NLP 模型在重要任務(如文本分類)上的性能。
  • 人工智慧:使無監督學習適用於視覺語言模型將是一項重要概念突破
    像GPT-3這樣的語言模型是通過無監督學習來進行訓練的,該過程不需要手動數據標記,因此會出現易於擴展的優勢。而相比之下,像目標識別系統這樣的圖像模型可以直接從現實中學習到更多。換句話來說,就是他們學到的東西並不依賴於書本網絡文字上所提供的內容。他們可以從綿羊的照片中「看到」綿羊實際上是白色的。可以解析語言和視覺輸入的AI模型也有非常實際的用途。
  • GAN用於無監督表徵學習,效果依然驚人……
    該論文提出的方法建立在 SOTA 模型 BigGAN 之上,通過對其表徵學習和生成能力進行廣泛評估,證明這些基於生成的模型在 ImageNet 數據集的無監督表徵學習和無條件圖像生成方面均實現了 SOTA 效果。
  • 李航《統計學習方法》第二版上線,6 年耕耘增加無監督學習
    統計學習即機器學習,是計算機及其應用領域的一門重要學科。此前,李航老師完成的《統計學習方法》是了解機器學習最好的教材之一,該書從 2005 年開始寫作一直到 2012 年完成,包含了眾多主要的監督學習算法與模型。最近,《統計學習方法》第二版正式發布,通過 6 年時間的努力,在第一版的基礎上又增加了無監督學習的主要算法與模型。
  • 自監督、半監督和有監督全涵蓋,四篇論文遍歷對比學習的研究進展
    自監督學習意思是使用非人工標記數據進行學習。在機器學習中,比較著名的自監督方法就是自然語言處理中的 。由此可見,與無監督學習不同,自監督中仍然存在標記,只不過,這些標記不是人類參與生成的,而是從輸入數據中生成的,通常可以使用啟發式算法生成標記。
  • ...沒常識」的GPT-3得靠它了,交大ACM班校友提出「Voken」無監督學習
    只有用無監督方法才能讓AI學習到更大的數據集。GPT-3可以通過無監督學習進行訓練,這個過程不需要人工數據標註,訓練數據集可以做到非常大。而目標識別算法雖然能讓AI從現實中學到更多知識,卻存在著樣本數量太少的問題。比如,COCO數據集僅有150萬個已標記的目標實例、700萬個單詞,而英文維基百科語料庫有近30億個單詞。
  • 為什麼說「無監督學習」才是深度學習的未來?
    我們已經在之前的一篇文章中探討了神經網絡和深度學習技術,現在是時候討論深度學習的另一個主要組成部分了:數據,即圖像,視頻,電子郵件,駕駛模式,短語,物體等等。   令人驚訝的是,儘管我們的世界幾乎被數據所淹沒,但很大一部分是未經標註未被整理過的,這意味著這些數據對於大多數目前的監督式學習來說是不可用的。
  • DeepMind爆出無監督表示學習模型BigBiGAN,GAN之父點讚!
    然而,儘管生成模型取得的進展不可否認,但仍然存在一些令人困擾的問題:這些模型學到了什麼語義,以及如何利用它們進行表示學習?僅憑原始數據就能真正理解生成這個夢想幾乎不可能實現。相反,最成功的無監督學習方法利用了監督學習領域的技術,這是一種被稱為自監督學習(self-supervised learnin)的方法。
  • 德克薩斯A&M大學在讀博士遊宇寧:自監督學習在圖卷積網絡中的研究...
    自監督學習是一種介於無監督和有監督學習之間的新範式,可以有效減少對大量帶注釋數據的需求。在數據訓練的過程中,生成帶有無噪聲標籤的數據集的成本很高,而無標籤的數據又一直在不斷產生。為了有效利用大量的無標籤數據,自監督學習通過設置合理的學習目標和定義前置任務,從數據本身中得到了監督信號。當前自監督學習已經被廣泛用於訓練卷積神經網絡(CNNs),有效地提高了圖像表示學習可傳遞性、泛化能力和魯棒性,並且已在語義分割、目標檢測、圖像分類、人體動作識別等實戰場景中展現出卓越效果。現在更多無需人工標註的前置任務訓練也被提出,如前景對象分割、圖像修補、圖像著色等。
  • 阿里巴巴AAAI 18論文CoLink:知識圖譜實體連結無監督學習框架
    論文內容涉及對抗學習、神經網絡、提高輕量網絡性能的訓練框架、機器翻譯、聊天機器人、無監督學習框架、極限低比特神經網絡等技術方向。以下為阿里巴巴 AI Lab 與微軟研究院、伊利諾伊大學厄巴納-香檳分校的合作論文解讀投稿。
  • 自監督學習知識遷移
    自監督學習是一個非常有趣的研究領域,其目標是在沒有任何人工標註的情況下,從未標註的數據中學習豐富的表示。我們可以通過創造性地提出一個問題來實現,這樣你就可以使用數據本身的一部分作為標籤並嘗試進行預測。這樣的表述被稱為前置任務例如,你可以設置一個前置任務,給定灰度圖情況下來預測圖像的彩色版本。
  • 圖靈獎得主辛頓談無監督學習問題根源:忽略數據間關聯捕捉
    他在報告中回顧了無監督神經網絡的發展歷史,結合表達學習模型的進化歷程,指出當前無監督學習方法所面臨問題的根源在於:過度關注數據的重構損失(Reconstructive Loss),忽略了對數據間關聯關係的捕捉。基於此,他提出了下一代神經網絡模型的構想,提出利用對比損失函數(Contrastive Loss)建模樣本間的局部關係、增強數據間表達的一致性的解決思路。
  • 入門| 從線性回歸到無監督學習,數據科學家需要掌握的十大統計技術
    本文介紹了數據科學家需要掌握的十大統計技術,包括線性回歸、分類、重採樣、降維、無監督學習等。不管你對數據科學持什麼態度,都不可能忽略分析、組織和梳理數據的重要性。Glassdoor 網站根據大量僱主和員工的反饋數據製作了「美國最好的 25 個職位」榜單,其中第一名就是數據科學家。
  • ...十大科技趨勢預測:生物計算迎爆發、無監督學習成為基礎支撐技術
    數字人、虛擬人將大批量出現,並在服務行業大放異彩  讓機器像人一樣具備理解和思考的能力,需要融合語言、語音、視覺等多模態的信息。結合知識圖譜和深度學習技術的知識增強的跨模態深度語義理解,讓AI具備持續學習的能力,像人一樣「活到老學到老」。  以此為基礎,結合3D建模、情緒識別、智能推薦等多種技術打造的數字人、虛擬人可以看、聽、說,還能與人自然交流。
  • 多任務實現SOTA,UBC、谷歌等提出3D點雲的無監督膠囊網絡
    機器之心報導作者:杜偉、小舟這是一種為 3D 點雲提出的無監督膠囊架構,並且在 3D 點雲重構、配準和無監督分類方面優於 SOTA 方法。理解對象是計算機視覺的核心問題之一。傳統方法而言,理解對象任務可以依賴於大型帶注釋的數據集,而無監督方法已經消除了對標籤的需求。
  • 多任務實現SOTA,UBC谷歌等提出3D點雲的無監督膠囊網絡
    這是一種為 3D 點雲提出的無監督膠囊架構,並且在 3D 點雲重構、配準和無監督分類方面優於 SOTA 方法。理解對象是計算機視覺的核心問題之一。傳統方法而言,理解對象任務可以依賴於大型帶注釋的數據集,而無監督方法已經消除了對標籤的需求。