關於自監督的一些文字

水沐銀橙發表於2020-12-02

Title:基於最大化互資訊對比學習的自監督bert?(Contrastive Multi-View Representation Learning on language)

Abstract:在此論文中,我們在 deep infomax,infoNet等互資訊最大化的基礎上,使用對比學習思路,構建了一個基於孿生Bert的無監督預訓練模型,這是一種在文字蘊含和文字複述任務上的學習通用句子嵌入的自監督方法(a self-supervised method for learning universal sentence embeddings that transfer to a wide variety of natural language processing (NLP) tasks)

這可以微調轉化為各種各樣的自然語言處理(NLP)任務。

實驗證明,我們的模型CML在資料集SentEval上達到最先進的效能,優於現有的監督、半監督和無監督方法。SentEval是評價通用句子嵌入的流行基準。

(We demonstrate that our objective can be used to pretrain transformers to state-of-the-art performance on SentEval, a popular benchmark for evaluating universal sentence embeddings, outperforming existing supervised, semi-supervised and unsupervised methods.)

 

在資料集上相比於

肯定要用到的一些文字:

Related Work:

在這部分我們的介紹分為三部分,首先第一部分,我們介紹了自然語言處理中的預訓練模型;接著我們介紹了對比自監督學習中的模型,最後我們介紹了自然語言處理任務中的對比自監督模型

1.預訓練模型的介紹(Pretraining of Transformers for Language Understanding

)

近年來,大量的研究表明基於大型語料庫的「預訓練模型」(PTM)可以學習通用的語言表示,有利於下游 NLP 任務,同時能夠避免從零開始訓練模型。隨著計算能力的發展,深度模型的出現(即 Transformer)和訓練技巧的增強使得 PTM 不斷髮展,由淺變深。

總的來看,PTM 的發展可以分為兩個時代。第一代的 PTM 旨在學習「單一的詞嵌入」,例如 Skip-Gram 和 GloVe。這些模型並不會用於下游任務,通常為了計算效率而保持較淺。雖然這些預訓練的詞嵌入可以捕獲詞語的語義,但是它們與上下文無關,無法捕捉到上下文中更高層次的概念。第二代的 PTM 聚焦於學習「上下文相關的詞嵌入」,例如 CoVe、ELMo、OpenAI GPT 和 BERT。這些學習到的編碼器在下游任務中也會用於表示詞語。此外,各種各樣的預訓練任務也被提出以基於不同的目的學習 PTM

 

Transformer(Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... & Polosukhin, I. (2017))

Bert

Sentence-Bert

  1. Contrastive Self-supervised Learning
  1. Context-Context Contrast
  2. Mutual Information MAXIMIZATION
  1. Representation Learning NLP+SSL

Related Work0:

這部分應該介紹的是Bert,然後是sentence-bert

關於Bert相關的文字:

1.Transformer(self-attention)

2.

3.

 

Related Work1:

Sentence-BERT (SBERT) (Reimers and Gurevych, 2019), which achieves state-of-the-art performance for various sentence embeddings task. SBERT is based on transformer models like BERT (Devlin et al., 2018) and applies mean pooling on the output.

 

Related Work2

Deep InfoMax(DIM; Hjelm et al.,2019)is a mutual information maximization based representation learning method for images. DIM shows that maximizing the mutual information between an image representation and local regions of the image improves the quality of the representation.The complete objective function that DIM maximizes consists of multiple terms. Here, we focus on a term in the objective that maximizes the mutual information between local features and global features. We describe the main idea of this objective for learning representations from a one-dimensional sequence, although it is originally proposed to learn from a two-dimensional object.

 

Related work3:

InfoNCE((Logeswaran & Lee, 2018; van den Oord et al., 2019), has been shown to work well in practice

 

InfoNCE is defined as:

 

It is based on Noise Contrastive Estimation (NCE; Gutmann & Hyvarinen, 2012)

 

 

 

Related Work4

AMDIM (Bachman, P., Hjelm, R. D., & Buchwalter, W. (2019))

AMDIM [6] enhances the DIM through randomly choosing another view of the image to produce

the summary vector (除此之外,還有用了不同的view,但是和CMC的view不一樣)

 

 

Related Work 5

contrastive predictive coding (CPC)

 CPC maximize the association between a segment of audio and its context audio. To improve data effificiency, it takes several negative context vectors at the same time. Later on, CPC has also been applied

in image classifification.

 

第二段備選:

Deep InfoMax provides us with a new paradigm and boosts the development of self-supervised learning. The

fifirst inflfluential follower is Contrastive Predictive Coding (CPC) [101] for speech recognition.(文字取自Liu, X., Zhang, F., Hou, Z., Wang, Z., Mian, L., Zhang, J., & Tang, J. (2020).)

 

在這篇文章裡又有了一個InfoNCE:

 

Related Work 6

CERT(Bert on MoCo)MoCo提出一種對比損失函式名為InfoNCE(With similarity measured by dot product, a form of a contrastive loss function, called InfoNCE)

Related Work 7

InfoWord(Kong, L., d'Autume, C. D. M., Ling, W., Yu, L., Dai, Z., & Yogatama, D. (2019))

In language pre-training, InfoWord [76] proposes to maximize the mutual information between a global representation of a sentence and n-grams in it. The context is induced from the sentence with selected n-grams being masked, and the negative contexts are randomly picked out from the corpus.

 

Our analysis on Skip-Gram, BERT, and XLNet shows that their objective functions are different instances of InfoNCE.

 

(Alternative bounds include Donsker-Vardhan representation (Donsker & Varadhan, 1983) and Jensen

Shannon estimator (Nowozin et al., 2016), but we focus on InfoNCE here. )

 

 

Related work8

DeCLUTR: Deep Contrastive Learning for Unsupervised Textual Representations(這篇裡面有sentEval的完整引用)

 

受到CV領域的對比學習框架啟發,本文提出了一個類似於BYOL利用正樣本進行對比學習的NLP領域應用,更大的貢獻在於本文提出了一個簡單並且易於實現的不對模型敏感的深度學習指標,並且該學習方法不需要任何標註的資料,損失函式為對比學習的損失函式加上MLM的損失函式。這裡注意的是編碼器是共享權重,並非權值更新。https://blog.csdn.net/tgqdt3ggamdkhaslzv/article/details/108924221

這裡是模型的架構:

 

模型的流程如下

1. 先從無標註的文件中以beta分佈中抽樣anchor片段,在從這一篇相同的文件以不同的beta分佈抽樣出positive樣本對。

2. 之後分別將anchor片段和positive片段經過兩個相同架構共享權值的編碼器,生成對應的token embedding。

3. 再將token embedding進行pooler操作,即將所有的token embedding平均生成同一維度的sentence embedding。

4. 計算對比學習的損失函式。,計算了兩個片段資訊之間的距離。表示溫度超參。

 

5. 在計算出對比學習的loss之後,再加入MLM的loss,對模型進行反向梯度傳播更新引數。      

 

本文的實驗結果如下:

 

模型:DeCLUTER-small使用DistilRoBERTa預訓練模型引數為基礎,DeCLUTER-base使用RoBERTa-base預訓練模型引數為基礎。
資料集:OpenWebText corpus,有495243個至少長度為2048的文件。
SentEval:含有28個測試資料集,氛圍Downstream和Probing。Downstream使用模型編碼出的句子嵌入來作為分類器的feature進行分類,而Probing評估模型生成的句子嵌入所還有的語義資訊,比如預測動詞的時態等。

      

總而言之,本文提出了一種利用對比學習來幫助模型更好地學習句子層面的表徵。並且本文的方法十分簡單且易於實現,適用於很多模型。實驗也表明對比學習在NLP領域句子表徵層面上的可行性。

 

 

 

Related Work的一些總結:

 

創新點:

  1. Local+global multi information
  2. Input output multi information
  3. 圖片資料集裡的multi-view,或者剪下的操作,應該可以對應於NLP里語言的蘊涵關係()
  4. Adversal AutoEncoder Decoder
  5. Multi model?

 

Model description:

Model

FOS

Type

Self-supervision

Pretext Task

Deep InfoMAX

 

 

 

 

AMDIM

 

 

 

 

CPC

 

 

 

 

InfoWord

 

MI Maximization

 

 

Moco

Context-Context

 

 

 

 

dataSet:

訓練:MultiNLI資料集

下游任務對比:

評測-SentEval

SentEval是一個當前流行的用來評測句子embedding質量的工具,這裡句子embedding可以作為邏輯迴歸模型的特徵,從而構建一個分類器,並在test集上計算其精度。這裡利用SentEval工具在下面幾個遷移任務上對比SBERT與其它生成句子embedding的方法:

MR(movie review):電影評論片段的情感預測,二分類

CR(product review):顧客產品評論的情感預測,二分類

SUBJ(subjectivity status):電影評論和情節摘要中句子的主觀性預測,二分類

MPQA(opinion-polarity):來自新聞網的短語級意見極性分類,二分類

SST(Stanford sentiment analysis):史丹佛情感樹庫,二分類

TREC(question-type classification):來自TREC的細粒度問題型別分類,多分類

MRPC:Microsoft Research Paraphrase Corpus from parallel news sources,釋義檢測。

 

 

肯定要用到的一些文字:

對比學習:The main idea behind contrastive learning is to divide an input data into multiple (possibly overlapping) views and maximize the mutual information between encoded representations of these views, using views derived from other inputs as negative samples.

 

Contrasive self-supervised learning

基於 contrastive 的方法。 這類方法並不要求模型能夠重建原始輸入,而是希望模型能夠在特徵空間上對不同的輸入進行分辨,就像上面美元的例子。

這類方法有如下的特點:

  1. 在 feature space 上構建距離度量;
  2. 通過特徵不變性,可以得到多種預測結果;
  3. 使用 Siamese Network;
  4. 不需要 pixel-level 重建。

正因為這類方法不用在 pixel-level 上進行重建,所以優化變得更加容易。當然這類方法也不是沒有缺點,因為資料中並沒有標籤,所以主要的問題就是怎麼取構造正樣本和負樣本。

目前基於 contrastive 的方法已經取得了很好的進展,在分類任務上已經接近監督學習的效果,同時在一些檢測、分割的下游任務上甚至超越了監督學習作為 pre-train的方法。

 

與生成模型做對比:

 

這裡總結一下監督學習和自監督學習的特點,

其中 supervised learning 的特點如下:

1.對於每一張圖片,機器預測一個 category 或者是 bounding box

2.訓練資料都是人所標註的

3.每個樣本只能提供非常少的資訊(比如 1024 個 categories 只有 10 bits 的資訊)

與此對比的是,self-supervised learning 的特點如下:

1.對於一張圖片,機器可以預任何的部分

2.對於視訊,可以預測未來的幀

3.每個樣本可以提供很多的資訊

 

 

Contrastive learning vs. pretext tasks. Various pretext tasks can be based on some form of contrastive loss func-tions. The instance discrimination method[61] is related to the exemplar-based task[17]and NCE[28].The pretext task in contrastive predictive coding (CPC)[46] is a form of context auto-encoding [48], and in contrastive multiview coding (CMC)[56]it is related to colorization [64].

 

關於兩個概念:

要區分好文字蘊涵和文字複述:文字蘊含的研究範疇要和複述(Paraphrasing)進行區分。複述,通常用來表示兩個文字片段包含的相同的語義。所以嚴格來講,複述可以認為是一種語義上的對等(Textual Equivalence)關係,或者叫做雙向蘊含關係(Bi-directional Textual Entailment)。而文字蘊含關係是單向推理關係

 

Tips:可以不用分段,用小標題加粗就可以

 

Reference:

 

Kong, L., d'Autume, C. D. M., Ling, W., Yu, L., Dai, Z., & Yogatama, D. (2019). A Mutual Information Maximization Perspective of Language Representation Learning. arXiv preprint arXiv:1910.08350.

 

Gutmann & Hyvarinen, 2012:

Michael U. Gutmann and Aapo Hyvarinen. Noise-contrastive estimation of unnormalized statistical

models, with applications to natural image statistics. Journal of Machine Learning Research, 13:

307––361, 2012.

 

Logeswaran & Lee, 2018

Lajanugen Logeswaran and Honglak Lee. An effificient framework for learning sentence representa

tions. In Proc. of ICLR, 2018.

 

van den Oord et al., 2019

Aaron van den Oord, Yazhe Li, and Oriol Vinyals. Representation learning with contrastive predictive

coding. arXiv preprint 1807.03748, 2019.

 

Zhuang Ma and Michael Collins. Noise contrastive estimation and negative sampling for conditional models: Consistency and statistical efficiency. arXiv preprint arXiv:1809.01812, 2018.

 

DIM; Hjelm et al.,2019

Hjelm, R.D., Fedorov, A., Lavoie-Marchildon, S., Grewal, K., Bachman, P., Trischler, A. and Bengio, Y., 2018. Learning deep representations by mutual information estimation and maximization. arXiv preprint arXiv:1808.06670.

 

Bachman, P., Hjelm, R. D., & Buchwalter, W. (2019). Learning representations by maximizing mutual information across views. In Advances in Neural Information Processing Systems (pp. 15535-15545).

 

 

Oord, A. V. D., Li, Y., & Vinyals, O. (2018). Representation learning with contrastive predictive coding. arXiv preprint arXiv:1807.03748.

 

Lai, C. I. (2019). Contrastive Predictive Coding Based Feature for Automatic Speaker Verification. arXiv preprint arXiv:1904.01575.

 

 

Liu, X., Zhang, F., Hou, Z., Wang, Z., Mian, L., Zhang, J., & Tang, J. (2020). Self-supervised learning: Generative or contrastive. arXiv preprint arXiv:2006.08218.

 

Tschannen, M., Djolonga, J., Rubenstein, P. K., Gelly, S., & Lucic, M. (2019). On mutual information maximization for representation learning. arXiv preprint arXiv:1907.13625.

 

Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... & Polosukhin, I. (2017). Attention is all you need. In Advances in neural information processing systems (pp. 5998-6008).

 

Giorgi, J. M., Nitski, O., Bader, G. D., & Wang, B. (2020). DeCLUTR: Deep Contrastive Learning for Unsupervised Textual Representations. arXiv preprint arXiv:2006.03659.

 

Augmented Multiscale DIM:

  1. local DIM

 

 

至於DIM:

原文要做的就是訓練表徵學習函式(即編碼器)以最大化其輸入和輸出之間的互資訊,在此基礎上提出了DEEP INFOMAX(DIM)模型。本文模型主要有四方面:

  1. 不僅考慮整體輸入與輸出的互資訊,而且將區域性輸入與輸出的互資訊考慮進去優化。
    (2)採用了噪聲對比估計(Noise Contrastive Estimation,NCE)方法訓練鑑別器。在NLP任務 中它還有另外一個名字--'負取樣',後面會介紹它的用處。
    (3)使用對抗學習來約束具有特定於先驗的期望統計特性的表徵。說白了就是讓表徵向量的先驗分佈是高斯分佈。
    (4)引入了兩種新的表徵質量的度量,一種基於 MINE,另一種是 Brakel&Bengio 研究的的依賴度量,研究者用它們來比較不同無監督方法的表示。

 

infomax原理(Linsker, 1988;Bell & Sejnowski, 1995)

 

來自Deep InfoMax中

Mutual-information estimation Methods based on mutual information have a long history in

unsupervised feature learning. The infomax principle (Linsker, 1988; Bell & Sejnowski, 1995),

as prescribed for neural networks, advocates maximizing MI between the input and output. This

is the basis of numerous ICA algorithms, which can be nonlinear (Hyvarinen & Pajunen, 1999;  

Almeida, 2003) but are often hard to adapt for use with deep networks.

 

 

ICML2018:MINE: Mutual Information Neural Estimation

作者認為,利用神經網路的梯度下降法可以實現高維連續隨機變數之間互資訊的估計,提出了Mutual Information Neural Estimator (MINE),在維度和樣本量上都是線性可伸縮的,可以通過反向傳播進行訓練,並且具有高度一致性。

 

Some Questions:

Can someone help me with the following:

  1. A simple explanation of how NCE works (I found the above difficult to parse and get an understanding of, so something intuitive that leads to the math presented there would be great)

 

  1. After point 1 above, a naturally intuitive description of how this is different from Negative Sampling. I can see that there's a slight change in the formula but could not understand the math. I do have an intuitive understanding of negative sampling in the context of word2vec - we randomly choose some samples from the vocabulary V and update only those because |V| is large and this offers a speedup. Please correct if wrong.
  2. When to use which one and how is that decided? It would be great if you could include examples(possibly easy to understand applications)
  3. Is NCE better than Negative Sampling? Better in what manner?

 

通俗理解NCE loss:

Intuitive explanation

NCE loss的直觀想法:把多分類問題轉化成二分類。

之前計算softmax的時候class數量太大,NCE索性就把分類縮減為二分類問題。

之前的問題是計算某個類的歸一化概率是多少,二分類的問題是input和label正確匹配的概率是多少。

二分類問題群眾喜聞樂見,直接上logistic regression估算一下概率。

 

關於Contrastive Predictive Coding

幾個CPC的特性:

1.CPC是一個無監督的方法

2.它可以用於序列資料,也可以用於圖片

3.從標題可以看到,這個方法的重點在於representation learning

主要工作是:

論文主要工作:
1、將高維資料編碼到一個更容易對任務進行建模的低維隱空間中;
2、在隱空間中運用了一個強大的自迴歸模型,來預測未來特徵或步驟;
3、為了實現端到端的網路訓練,使用了對抗噪聲估計作為損失函式。

 

 

Tips:可能會用到的文字:我們的資料具有維度高、label相對少的特性,我們並不希望浪費掉沒有label的那部分data。所以在label少的時候,unsupervised learning可以幫助我們學到data本身的high-level information,這些information能夠對downstream task有很大的幫助。

 

 

關於word2vec和CPC的關係:待寫

 

關於互資訊的文字(Mutual Information)表示兩個變數 X和Y之間的關係,可以解釋為由X的引入而使得Y的不確定度減小的量,I(X,Y)越大說明兩者關係越密切

 

對比損失的idea是讓原本分佈相似的樣本在降維後也相似,原本不相似的在降維後也保持不相似

 

噪聲對抗估計(Noise Contrastive Estimation, NCE:在NLP任務中一種降低計算複雜度的方法,將語言模型估計問題簡化為一個二分類問題。

 

負取樣(Negative Sampling, NEG):表示負取樣,是NCE的一個簡化版本,目的是提高訓練速度,改善所得詞向量的質量。採用了相對簡單的隨機負取樣,本文中選擇資料集中一個是正樣本,其他均為負樣本。


Tips:

對比學習和GAN網路以及NCE存在很大聯絡,可以將其看做是一個查字典的過程,在輸入高維連續的資料上建立字典,構造一個對比損失函式,讓每個查詢樣本和它唯一對應的鍵值關聯最大,和其他鍵值關聯最小。其中查詢樣本是輸入資料經由編碼器在隱空間的低維表示向量,鍵值則是更具高層語義資訊的內容表示向量。

 

關於AMDIM:

DIM(Deep InfoMAX)主要使用最大化互資訊的思想,同一張圖的區域性特徵和全域性特徵應高度相關,另一張的區域性特徵不相關。採用NCEloss得到score

AMDIM理解是在DeepInfoMAX的基礎上加了一個multi-scale,即不同尺度上的feature也可以組成正負pair。

Augmented Multi-scale DIM (AMDIM)。這篇文章提出可以用不同的增強資料的方式,定義區域性和全域性的互資訊損失。在DIM是一個檢視生成的“Real”和“Fake”之間的對比,而在AMDIM則是在不同增強檢視之間“Real”和“Fake”之間的對比,也就是更好地利用全域性資訊。

 

關於事物本質的一些說明:

Tips:個人理解,其實任意挖掘物件之間聯絡、探索不同物件共同本質的方法,都或多或少算是自監督學習的思想。原始的監督學習、無監督學習,都被目所能及的一切所約束住,無法泛化,導致任務效果無法提升,正是因為自監督探索的是更本質的聯絡,而不是表像的結果,所以其效果通常出乎意料的好。自監督學習的前兩類方法,其核心想法其實都是想去探索事物的本質。

 

 

Contrastive Self-Supervised Learning

當前研究的重心主要偏向對比式的自監督學習。這些突破性的工作主要有Deep InfoMax、MoCo、SimCLR

 

 

對比學習最初是想通過Noise Contrastive Estimation(NCE)學習目標物件之間的差別。目標物件之間的區別其實就是相似程度,相似程度是一個比較主觀的概念,其實是同任務有關的。通常我們說的挖掘資訊,就是在增加衡量相似程度的指標

 

最早衡量兩個節點相似程度的方法是DeepWalk,從一個節點所能到其他節點的概率,這就是它的相似性。

訓練這類模型的方法通常有兩種,一種是通過定義損失函式,並取樣正負例使損失函式最小,另一種方法是直接求解損失函式的極值,通過矩陣分解的方式求最優解。由此,NCE的核心其實是在損失函式,即:

 

而Deep InfoMax 則是在NCE的基礎上,走出了另一個道路,其目標為:

 

 

 

自監督的三種模式:https://www.codercto.com/a/106153.html

 

 

關於更多的:

InferSent is a sentence embeddings method that provides semantic representations for English sentences. It is trained on natural language inference data and generalizes well to many different tasks.

We provide our pre-trained English sentence encoder from our paper and our SentEval evaluation toolkit.

Recent changes: Removed train_nli.py and only kept pretrained models for simplicity. Reason is I do not have time anymore to maintain the repo beyond simple scripts to get sentence embeddings.

 

相關文章