關(guān)于最近的NLP模型Bert、Elmo蝙眶、GPT(下--1)

這篇文章介紹Bert季希,但是暫時(shí)還沒(méi)研究完,所以只能分兩部分寫(xiě)幽纷。
這篇文章主要介紹bert的思想和創(chuàng)新點(diǎn)式塌,下一篇文章主要介紹bert的結(jié)構(gòu)。
一定要看論文原文BERT中文翻譯PDF版


BERT的新語(yǔ)言表示模型友浸,它代表Transformer的雙向編碼器表示峰尝。與最近的其他語(yǔ)言表示模型不同,BERT旨在通過(guò)聯(lián)合調(diào)節(jié)所有層中的上下文來(lái)預(yù)先訓(xùn)練深度雙向表示尾菇。因此境析,預(yù)訓(xùn)練的BERT表示可以通過(guò)一個(gè)額外的輸出層進(jìn)行微調(diào)囚枪,適用于廣泛任務(wù)的最先進(jìn)模型的構(gòu)建,比如問(wèn)答任務(wù)和語(yǔ)言推理劳淆,無(wú)需針對(duì)具體任務(wù)做大幅架構(gòu)修改链沼。谷歌團(tuán)隊(duì)認(rèn)為現(xiàn)有的技術(shù)嚴(yán)重制約了預(yù)訓(xùn)練表示的能力。其主要局限在于標(biāo)準(zhǔn)語(yǔ)言模型是單向的沛鸵,這使得在模型的預(yù)訓(xùn)練中可以使用的架構(gòu)類(lèi)型很有限括勺。
通過(guò)提出BERT:即Transformer的雙向編碼表示來(lái)改進(jìn)基于架構(gòu)微調(diào)的方法。BERT 提出一種新的預(yù)訓(xùn)練目標(biāo):遮蔽語(yǔ)言模型(masked language model曲掰,MLM)疾捍,來(lái)克服上文提到的單向性局限。MLM 隨機(jī)遮蔽模型輸入中的一些 token栏妖,目標(biāo)在于僅基于遮蔽詞的語(yǔ)境來(lái)預(yù)測(cè)其原始詞匯 id乱豆。與從左到右的語(yǔ)言模型預(yù)訓(xùn)練不同,MLM 目標(biāo)允許表征融合左右兩側(cè)的語(yǔ)境吊趾,從而預(yù)訓(xùn)練一個(gè)深度雙向 Transformer宛裕。除了遮蔽語(yǔ)言模型之外,還引入了一個(gè)“下一句預(yù)測(cè)”(next sentence prediction)任務(wù)论泛,可以和MLM共同預(yù)訓(xùn)練文本對(duì)的表示揩尸。

BERT模型具有以下兩個(gè)特點(diǎn):

  1. 是這個(gè)模型非常的深,12層屁奏,并不寬(wide)岩榆,中間層只有1024,而之前的Transformer模型中間層有2048坟瓢。這似乎又印證了計(jì)算機(jī)圖像處理的一個(gè)觀點(diǎn)——深而窄 比 淺而寬 的模型更好勇边。
  2. MLM(Masked Language Model),同時(shí)利用左側(cè)和右側(cè)的詞語(yǔ)载绿,這個(gè)在ELMo上已經(jīng)出現(xiàn)了粥诫,絕對(duì)不是原創(chuàng)油航。

輸入表示

bert的輸入表示(input representation)能夠在一個(gè)token序列中明確地表示單個(gè)文本句子或一對(duì)文本句子(例如崭庸, [Question, Answer])。對(duì)于給定token谊囚,其輸入表示通過(guò)對(duì)相應(yīng)的token怕享、segment和position embeddings進(jìn)行求和來(lái)構(gòu)造。下圖是輸入表示的直觀表示:


bert輸入表示

具體如下:

  1. 使用WordPiece嵌入(Wu et al., 2016)和30,000個(gè)token的詞匯表镰踏。用##表示分詞函筋。
  2. 使用學(xué)習(xí)的positional embeddings,支持的序列長(zhǎng)度最多為512個(gè)token奠伪。每個(gè)序列的第一個(gè)token始終是特殊分類(lèi)嵌入([CLS])跌帐。對(duì)應(yīng)于該token的最終隱藏狀態(tài)(即首懈,Transformer的輸出)被用作分類(lèi)任務(wù)的聚合序列表示。對(duì)于非分類(lèi)任務(wù)谨敛,將忽略此向量究履。
  3. 句子對(duì)被打包成一個(gè)序列。以?xún)煞N方式區(qū)分句子脸狸。首先最仑,用特殊標(biāo)記([SEP])將它們分開(kāi)。其次炊甲,添加一個(gè)learned sentence A嵌入到第一個(gè)句子的每個(gè)token中泥彤,一個(gè)sentence B嵌入到第二個(gè)句子的每個(gè)token中。
  4. 對(duì)于單個(gè)句子輸入卿啡,只使用 sentence A嵌入吟吝。

Masked LM

從直覺(jué)上看,深度雙向模型比left-to-right 模型或left-to-right and right-to-left模型的淺層連接更強(qiáng)大颈娜。遺憾的是盔憨,標(biāo)準(zhǔn)條件語(yǔ)言模型只能從左到右或從右到左進(jìn)行訓(xùn)練,因?yàn)殡p向條件作用將允許每個(gè)單詞在多層上下文中間接地“see itself”腺阳。
為了訓(xùn)練一個(gè)深度雙向表示(deep bidirectional representation)缘圈,谷歌采用了一種簡(jiǎn)單的方法,即隨機(jī)屏蔽(masking)部分輸入token野崇,然后只預(yù)測(cè)那些被屏蔽的token称开。他們將這個(gè)過(guò)程稱(chēng)為“masked LM”(MLM),盡管在文獻(xiàn)中它經(jīng)常被稱(chēng)為Cloze任務(wù)(Taylor, 1953)乓梨。
在這個(gè)例子中鳖轰,與masked token對(duì)應(yīng)的最終隱藏向量被輸入到詞匯表上的輸出softmax中,就像在標(biāo)準(zhǔn)LM中一樣扶镀。在谷歌所有實(shí)驗(yàn)中蕴侣,隨機(jī)地屏蔽了每個(gè)序列中15%的WordPiece token。與去噪的自動(dòng)編碼器(Vincent et al.臭觉, 2008)相反昆雀,只預(yù)測(cè)masked words而不是重建整個(gè)輸入。

雖然這確實(shí)能獲得雙向預(yù)訓(xùn)練模型蝠筑,但這種方法有兩個(gè)缺點(diǎn)狞膘。
首先,預(yù)訓(xùn)練和finetuning之間不匹配什乙,因?yàn)樵趂inetuning期間從未看到[MASK]token挽封。為了解決這個(gè)問(wèn)題,并不總是用實(shí)際的[MASK]token替換被“masked”的詞匯臣镣。相反辅愿,訓(xùn)練數(shù)據(jù)生成器隨機(jī)選擇15%的token智亮。例如在這個(gè)句子“my dog is hairy”中,它選擇的token是“hairy”点待。

然后鸽素,執(zhí)行以下過(guò)程:數(shù)據(jù)生成器將執(zhí)行以下操作,而不是始終用[MASK]替換所選單詞:
80%的時(shí)間:用[MASK]標(biāo)記替換單詞亦鳞,例如馍忽,my dog is hairy → my dog is [MASK]
10%的時(shí)間:用一個(gè)隨機(jī)的單詞替換該單詞,例如燕差,my dog is hairy → my dog is apple
10%的時(shí)間:保持單詞不變遭笋,例如,my dog is hairy → my dog is hairy.

這樣做的目的是將表示偏向于實(shí)際觀察到的單詞徒探。Transformer encoder不知道它將被要求預(yù)測(cè)哪些單詞或哪些單詞已被隨機(jī)單詞替換瓦呼,因此它被迫保持每個(gè)輸入token的分布式上下文表示。此外测暗,因?yàn)殡S機(jī)替換只發(fā)生在所有token的1.5%(即15%的10%)央串,這似乎不會(huì)損害模型的語(yǔ)言理解能力。使用MLM的第二個(gè)缺點(diǎn)是每個(gè)batch只預(yù)測(cè)了15%的token碗啄,這表明模型可能需要更多的預(yù)訓(xùn)練步驟才能收斂质和。谷歌證明MLM的收斂速度略慢于 left-to-right的模型(預(yù)測(cè)每個(gè)token),但MLM模型在實(shí)驗(yàn)上獲得的提升遠(yuǎn)遠(yuǎn)超過(guò)增加的訓(xùn)練成本稚字。

下一句預(yù)測(cè)

許多重要的下游任務(wù)饲宿,如問(wèn)答(QA)和自然語(yǔ)言推理(NLI)都是基于理解兩個(gè)句子之間的關(guān)系,這并沒(méi)有通過(guò)語(yǔ)言建模直接獲得胆描。

在為了訓(xùn)練一個(gè)理解句子的模型關(guān)系瘫想,預(yù)先訓(xùn)練一個(gè)二進(jìn)制化的下一句測(cè)任務(wù),這一任務(wù)可以從任何單語(yǔ)語(yǔ)料庫(kù)中生成昌讲。
具體地說(shuō)国夜,當(dāng)選擇句子A和B作為預(yù)訓(xùn)練樣本時(shí),B有50%的可能是A的下一個(gè)句子短绸,也有50%的可能是來(lái)自語(yǔ)料庫(kù)的隨機(jī)句子车吹。例如:

Input = [CLS] the man went to [MASK] store [SEP]
he bought a gallon [MASK] milk [SEP]
Label = IsNext

Input = [CLS] the man [MASK] to the store [SEP]
penguin [MASK] are flight ##less birds [SEP]
Label = NotNext

這里完全隨機(jī)地選擇了NotNext語(yǔ)句,最終的預(yù)訓(xùn)練模型在此任務(wù)上實(shí)現(xiàn)了97%-98%的準(zhǔn)確率鸠按。


可以說(shuō)MLM和下一句預(yù)測(cè)是bert最大的創(chuàng)新方法礼搁,但是,bert之所以能大規(guī)模屠榜目尖,和其超大訓(xùn)練集是分不開(kāi)的,而這種大規(guī)模訓(xùn)練方法扎运,一般公司和團(tuán)體也玩不起瑟曲。所以饮戳,有錢(qián)才是爸爸
下篇我們繼續(xù)磕BERT洞拨。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末扯罐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子烦衣,更是在濱河造成了極大的恐慌歹河,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件花吟,死亡現(xiàn)場(chǎng)離奇詭異秸歧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)衅澈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)键菱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人今布,你說(shuō)我怎么就攤上這事经备。” “怎么了部默?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵侵蒙,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我傅蹂,道長(zhǎng)蘑志,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任贬派,我火速辦了婚禮急但,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘搞乏。我一直安慰自己波桩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布请敦。 她就那樣靜靜地躺著镐躲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪侍筛。 梳的紋絲不亂的頭發(fā)上萤皂,一...
    開(kāi)封第一講書(shū)人閱讀 51,258評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音匣椰,去河邊找鬼裆熙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的入录。 我是一名探鬼主播蛤奥,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼僚稿!你這毒婦竟也來(lái)了凡桥?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蚀同,失蹤者是張志新(化名)和其女友劉穎缅刽,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蠢络,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衰猛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谢肾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腕侄。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖芦疏,靈堂內(nèi)的尸體忽然破棺而出冕杠,到底是詐尸還是另有隱情,我是刑警寧澤酸茴,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布分预,位于F島的核電站,受9級(jí)特大地震影響薪捍,放射性物質(zhì)發(fā)生泄漏笼痹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一酪穿、第九天 我趴在偏房一處隱蔽的房頂上張望凳干。 院中可真熱鬧,春花似錦被济、人聲如沸救赐。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)经磅。三九已至,卻和暖如春钮追,著一層夾襖步出監(jiān)牢的瞬間预厌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工元媚, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留轧叽,地道東北人苗沧。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像犹芹,于是被迫代替她去往敵國(guó)和親崎页。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鞠绰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

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

  • 本文上兩篇系列 NLP的巨人肩膀(上) NLP的巨人肩膀(中) 4.6 Bidirectional Encoder...
    weizier閱讀 6,427評(píng)論 1 22
  • 春節(jié)的熱鬧之后腰埂,我們又要踏上離開(kāi)家鄉(xiāng)、在外求學(xué)工作的路了蜈膨。下周的火車(chē)會(huì)帶我離開(kāi)這座小城屿笼,去往北京。我收拾著行李翁巍,...
    Amy小西閱讀 526評(píng)論 0 3
  • Node.js 全局對(duì)象JavaScript 中有一個(gè)特殊的對(duì)象驴一,稱(chēng)為全局對(duì)象(Global Object),它及...
    yyshang閱讀 375評(píng)論 0 1
  • 今天我和奶奶接弟弟回來(lái)的時(shí)候媽媽回來(lái)灶壶,姑奶奶和姑爺爺帶我們?nèi)コ燥埜味稀M跗糯笪r吃的大蝦和火鍋。我們吃的可開(kāi)心啦驰凛。希望下...
    顏優(yōu)越閱讀 212評(píng)論 0 0