BERT——自監(jiān)督學習的典范

1 自監(jiān)督學習的概念

在機器學習中箩帚,最常見的是監(jiān)督學習(Supervised learning)膏潮。假設模型的輸入是x,輸出是y轻纪,我們?nèi)绾问鼓P洼敵鑫覀兤谕?img class="math-inline" src="https://math.jianshu.com/math?formula=y" alt="y" mathimg="1">呢叠纷?我們得擁有已標注的(label)的數(shù)據(jù),例如圖片識別崇众,我們得有一堆的圖片,并且這些圖片被標注了是什么锰蓬。然后通過這些已標注的數(shù)據(jù)對模型進行訓練眯漩,使模型的輸出y盡可能地接近標簽y'赦抖,這是監(jiān)督學習。那么什么是自監(jiān)督學習呢轮锥?假設我們擁有一堆的數(shù)據(jù)要尔,但是沒有標注,我們想辦法將這堆數(shù)據(jù)x分成兩個部分蝴簇,一部分作為模型的輸入x'熬词,一部分作為模型的標簽x''吸重。然后對模型進行訓練,使模型地輸出y盡可能地接近標簽x''颜矿。注意這里x''不是人標注的骑疆,而是數(shù)據(jù)里本來就有的替废。這說起來有點抽象,但是通過BERT這個例子就很容易明白了诈火。

監(jiān)督學習和自監(jiān)督學習

2 BERT概述

BERT的全稱是Bidirectional Encoder Representation from Transformers冷守,即雙向Transformer的Encoder。因此BERT的網(wǎng)絡架構和Transformer的Encoder是一樣的亮钦,關于Transformer的細節(jié)請看上一節(jié)充活。因此BERT的任務就是輸入一個序列,然后輸出一個序列,輸出序列和輸入序列的長度是一樣的淮菠。通過Transformer中的自注意力機制荤堪,BERT具有考慮序列全局的能力。由于BERT一般用于自然語言處理拥知,所以BERT的輸入一般使一排文字碎赢,然后輸出一組向量,向量的個數(shù)和文字的個數(shù)是一樣的襟齿。

3 BERT的訓練

所謂自監(jiān)督學習枕赵,和監(jiān)督學習不同的地方就在于訓練。BERT的訓練方式有兩種:Masked Language Model和Next Sentence Prediction开皿。

3.1 Masked Language Model

Masked Language Model的工作機制如下圖所示篮昧,類似于讓BERT做完形填空懊昨。在訓練過程中,隨機蓋掉句子中的一些字狈孔,這些被蓋掉的字要么替換成一個特殊符號“MASK”,要么隨機替換成其他字嫁赏。然后將替換后的句子當成BERT的輸入油挥,被蓋掉的字對應的輸出向量通過一個Linear層和softmax操作之后輸出一個概率分布深寥。前面講transformer的時候,講到了這個概率分布向量的長度和字典的長度是一樣的则酝,每個字都有一個對應的概率闰集,概率最大的字就是最后的預測結果武鲁。在訓練過程中,要使預測輸出的字和被蓋掉的字盡可能一致沐鼠。這其實就是一個分類問題饲梭,類別的數(shù)目和字典的大小一樣,損失函數(shù)是交叉熵侧漓。通過這種簡單的方式就實現(xiàn)了自監(jiān)督學習监氢,它不需要我們?nèi)ト斯俗?shù)據(jù)浪腐,它的標簽來自于數(shù)據(jù)本身,這是非常巧妙的泽谨。


Masked Language Model

7.3.2 Next Sentence Prediction

Next Sentence Prediction的工作機制如下圖所示吧雹。在Next Sentence Prediction的訓練任務中,BERT的輸入是兩個句子加上兩個特別的符號“CLS”搓蚪,“SEP”丁鹉。其中“CLS”是一個開始符號揣钦,“SEP”將兩個句子隔開。Next Sentence Prediction的任務是要預測這兩個句子是否是相接的谎亩,“CLS”輸出的向量通過Linear層后輸出“yes”和“no”谈竿,“yes”表示兩個句子是前后相接的空凸,“no”則相反寸痢。訓練數(shù)據(jù)的正例是正常的一篇文章中上下連貫的兩句話,負例是將正常相接的下一句話隨即替換成另外一句話道逗。但是研究表明滓窍,這種訓練任務對于BERT的訓練用處不大巩那。因此BERT的訓練主要還是依賴于Masked Language Model即横。


Next Sentence Prediction

4 BERT的應用

BERT在自然語言處理領域基本上都可以用上,其應用機制如下圖所示跺嗽,分為預訓練(Pre-train)微調(Fine-tune) 兩個部分桨嫁。
預訓練(Pre-train) 就是指上面所說的Masked Language Model和Next Sentence Prediction兩個自監(jiān)督訓練任務。這部分工作實際上由一些搞深度學習的大戶做好了钉跷,比如google肚逸、訊飛等朦促,并不需要我們自己訓練,我們只需要將人家訓練好的BERT拿來用就行了血当。
微調(Fine-tune) 是指根據(jù)我們的下游任務(如機器翻譯禀忆、智能問答箩退、文本標注等),再利用下游任務的少量標注數(shù)據(jù)對下游任務的參數(shù)進行微調即可滋戳。

BERT的應用機制

下面以“基于抽取的智能問答(Extraction-based Question Answering)”為例說明BERT的應用機制奸鸯】擅保“基于抽取的智能問答”類似于閱讀理解映跟,讓機器讀一段文字,然后提出幾個問題弯蚜,機器從閱讀到的文字中抽取答案剃法。對于該任務,模型的輸入就是文章和問題收厨,輸出是兩個整數(shù)值“s”和“e”诵叁。“s”代表答案在文章中的起始位置碑诉,“e”代表答案在文章中的結束位置进栽。例如下圖中第一個問題的答案是“gravity”恭垦,而“gravity”位于文章的第17個字符(不含標點)番挺,因此模型的輸出“s=17”唠帝,“e=17”。同理玄柏,第三個問題的答案是“within a cloud”襟衰,而它們位于第77-79個字符,因此模型的輸出“s=77”禁荸,“e=79”右蒲。
基于抽取的智能問答

處理上述這個問題的做法如下圖所示阀湿,模型的輸入是問題和文章赶熟,問題和文章通過符號“SEP”隔開。然后隨機初始化兩個向量(圖中的橘黃色向量和藍色向量)陷嘴,向量的長度和BERT輸出向量的長度一樣映砖,然后將這兩個向量分別去和文章輸出的向量做點積灾挨,然后通過Softmax輸出概率分布邑退,概率最大的分別是答案的起始位置和結束位置。這個任務中訓練的參數(shù)只有隨機初始化的兩個向量劳澄,BERT中的參數(shù)都不需要訓練的地技。
基于抽取的智能問答的解法

可以看出利用BERT的預訓練,做下游任務時就很簡單了秒拔,訓練的參數(shù)也非常少莫矗,而且實踐證明這樣做的效果是非常好的,超過了傳統(tǒng)的一些做法。這就是BERT的魅力所在作谚。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末三娩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子妹懒,更是在濱河造成了極大的恐慌雀监,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眨唬,死亡現(xiàn)場離奇詭異会前,居然都是意外死亡,警方通過查閱死者的電腦和手機单绑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門回官,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人搂橙,你說我怎么就攤上這事歉提。” “怎么了区转?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵苔巨,是天一觀的道長。 經(jīng)常有香客問我废离,道長侄泽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任蜻韭,我火速辦了婚禮悼尾,結果婚禮上,老公的妹妹穿的比我還像新娘肖方。我一直安慰自己闺魏,他們只是感情好,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布俯画。 她就那樣靜靜地躺著析桥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪艰垂。 梳的紋絲不亂的頭發(fā)上泡仗,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天,我揣著相機與錄音猜憎,去河邊找鬼娩怎。 笑死,一個胖子當著我的面吹牛胰柑,可吹牛的內(nèi)容都是我干的截亦。 我是一名探鬼主播辣辫,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼魁巩!你這毒婦竟也來了急灭?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤谷遂,失蹤者是張志新(化名)和其女友劉穎葬馋,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肾扰,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡畴嘶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了集晚。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窗悯。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖偷拔,靈堂內(nèi)的尸體忽然破棺而出蒋院,到底是詐尸還是另有隱情,我是刑警寧澤莲绰,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布欺旧,位于F島的核電站,受9級特大地震影響蛤签,放射性物質發(fā)生泄漏辞友。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一震肮、第九天 我趴在偏房一處隱蔽的房頂上張望称龙。 院中可真熱鬧,春花似錦戳晌、人聲如沸鲫尊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽马昨。三九已至竞帽,卻和暖如春扛施,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背屹篓。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工疙渣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人堆巧。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓妄荔,卻偏偏與公主長得像泼菌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子啦租,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容