论文浅尝 | BERT:Pre-training of Deep Bidirectional Transformers
論文筆記整理:王春培,天津大學(xué)碩士。
鏈接:https://arxiv.org/pdf/1810.04805.pdf
動(dòng)機(jī)
將預(yù)訓(xùn)練語(yǔ)言表示應(yīng)用于下有任務(wù)現(xiàn)有兩種策略:基于特征的和基于微調(diào)的。文章認(rèn)為當(dāng)前技術(shù)限制了預(yù)訓(xùn)練的能力,尤其是基于微調(diào)的方法。很多語(yǔ)言模型是單向的,或者特征抽取器功能不夠強(qiáng)大,這些都限制了下游NLP任務(wù)的性能。BERT模型通過(guò)使用雙向編碼器來(lái)改進(jìn)基于微調(diào)的方法,添加NSP提高模型性能,推進(jìn)了11項(xiàng)NLP任務(wù)的技術(shù)。
亮點(diǎn)
BERT的亮點(diǎn)主要包括:
(1)使用雙向語(yǔ)言模型,使用能力更強(qiáng)的Transformer提取特征,添加NSP任務(wù),提高模型性能。
(2)推進(jìn)了11項(xiàng)NLP任務(wù)的最新技術(shù),可應(yīng)用范圍非常廣。
概念及模型
模型體系結(jié)構(gòu)
BERT的模型架構(gòu)是一個(gè)多層雙向Transformer編碼器,文中主要報(bào)告兩種模型參數(shù)的結(jié)果:
(1)BERTBASE: L=12, H=768, A=12, TotalParameters=110M
(2)BERTLARGE: L=24, H=1024, A=16, TotalParameters=340M
輸入表示
輸入表示分為三部分:
(1)詞嵌入:用##表示分詞
(2)位置嵌入:通過(guò)學(xué)習(xí)得到位置嵌入,支持序列長(zhǎng)度可達(dá)512個(gè)令牌
(3)句子嵌入:句子對(duì)被打包成一個(gè)序列,首先用特殊標(biāo)記將它們分開(kāi)。其次,添加一個(gè)學(xué)習(xí)句子A嵌入到第一個(gè)句子的每個(gè)標(biāo)記中,一個(gè)句子B嵌入到第二個(gè)句子的每個(gè)標(biāo)記中,對(duì)于單個(gè)句子,只是用句子A嵌入。
?
預(yù)訓(xùn)練任務(wù)
1、任務(wù)#1:Masked LM
文章認(rèn)為雙向語(yǔ)言模型比單向語(yǔ)言模型功能更強(qiáng)大,為了訓(xùn)練雙向語(yǔ)言模型,文章采取的方法為隨機(jī)屏蔽一定比例的輸入令牌,然后僅預(yù)測(cè)那些被屏蔽的令牌,并將這其稱為“Masked LM”(MLM),這種做法與CBOW不謀而合。
雖然可以此方法構(gòu)建雙向預(yù)訓(xùn)練模型,但這種方法有兩個(gè)缺點(diǎn)。
首先,預(yù)訓(xùn)練和微調(diào)之間不匹配,因?yàn)閇MASK]令牌在微調(diào)期間從未出現(xiàn)。為了減輕這種影響,文章提出并不總是用實(shí)際的[MASK]令牌替換“掩蔽”詞。相反,訓(xùn)練數(shù)據(jù)生成器隨機(jī)選擇15%的令牌,然后執(zhí)行以下過(guò)程:
(1)80%的時(shí)間:用[MASK]標(biāo)記替換單詞
(2)10%的時(shí)間:用隨機(jī)單詞替換單詞
(3)10%的時(shí)間:保持單詞不變
?
Transformer編碼器不知道它將被要求預(yù)測(cè)哪些單詞或哪些單詞已被隨機(jī)單詞替換,因此它被迫保持每個(gè)輸入標(biāo)記的分布式上下文表示。此外,因?yàn)殡S機(jī)替換只發(fā)生在所有令牌的1.5%(即15%的10%),這似乎不會(huì)損害模型的語(yǔ)言理解能力。
第二個(gè)缺點(diǎn)是每批中只預(yù)測(cè)了15%的令牌,這表明模型可能需要更多的預(yù)訓(xùn)練步驟才能收斂。
?
2、任務(wù)#2:NSP
?
許多重要的下游任務(wù)都是基于理解兩個(gè)文本句子之間的關(guān)系,而這兩個(gè)文本句子并不是由語(yǔ)言建模直接捕獲的。為了訓(xùn)練理解句子關(guān)系的模型,文章預(yù)先訓(xùn)練了一個(gè)可以從任何單語(yǔ)語(yǔ)料庫(kù)生成的二值化的下一個(gè)句子預(yù)測(cè)任務(wù)。具體地,當(dāng)為每個(gè)預(yù)訓(xùn)練示例選擇句子A和B時(shí),50%的時(shí)間B是跟隨A的實(shí)際下一句子,并且50%的時(shí)間是來(lái)自語(yǔ)料庫(kù)的隨機(jī)句子。
?
實(shí)驗(yàn)
文章將介紹11個(gè)NLP任務(wù)的BERT微調(diào)結(jié)果:
1、GLUE結(jié)果
2、SQuAD v1.1
3、SQuAD v2.0
4、SWAG
總結(jié)
由于語(yǔ)言模式轉(zhuǎn)換學(xué)習(xí)的經(jīng)驗(yàn)改進(jìn)表明,豐富的、無(wú)監(jiān)督的預(yù)訓(xùn)練是許多語(yǔ)言理解系統(tǒng)的一個(gè)組成部分。特別是,這些結(jié)果使得即使是低資源任務(wù)也能從非常深的單向體系結(jié)構(gòu)中受益。文章的主要貢獻(xiàn)是將這些發(fā)現(xiàn)進(jìn)一步推廣到深度雙向架構(gòu),允許相同的預(yù)訓(xùn)練模型成功解決一系列廣泛的NLP任務(wù)。
?
OpenKG
開(kāi)放知識(shí)圖譜(簡(jiǎn)稱 OpenKG)旨在促進(jìn)中文知識(shí)圖譜數(shù)據(jù)的開(kāi)放與互聯(lián),促進(jìn)知識(shí)圖譜和語(yǔ)義技術(shù)的普及和廣泛應(yīng)用。
點(diǎn)擊閱讀原文,進(jìn)入 OpenKG 博客。
總結(jié)
以上是生活随笔為你收集整理的论文浅尝 | BERT:Pre-training of Deep Bidirectional Transformers的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 领域应用 | 机器知道哪吒是部电影吗?解
- 下一篇: 技术动态 | 知识图谱构建的研究已走入下