1. Self-supervised Learning

self-supervised learning 屬於 unsupervised learning 的一種,其資料本身沒有標籤,但是訓練過程中實際上有模型自己生成的標籤

Untitled

把訓練資料分為兩部分,一部分為輸入資料、另一部分為標註資料

2. BERT

BERT 是一個 transformer 的 encoder。BERT 可以輸入一排向量,然後輸出另一排向量,輸出的長度與輸入的長度相同。BERT 一般用於自然語言處理,它的輸入是一串文本,也可以輸入語音、圖像等向量序列

訓練 BERT 有兩個任務,分別是 Masking InputNext Sentence Prediction

2.1 Masking Input

mask 的方法:

兩種方法都可以使用,使用哪種方法也是隨機決定的

Untitled

訓練方法:

  1. 向 BERT 輸入一個句子,先隨機決定哪一部分的字將被 mask
  2. 輸入一個序列,我們把 BERT 的相應輸出看作是另一個序列
  3. 在輸入序列中尋找 mask 部分的相應輸出,將這個向量通過一個 linear transform(矩陣相乘),並做 softmax 得到一個分布
  4. 用 one-hot vector 表示被 mask 的字符,並使輸出和 one-hot vector 之間的 cross entropy 最小

本質上就是在解決一個分類問題,BERT 要做的是預測什麼字被蓋住