NLP預(yù)訓(xùn)練中的mask方式
目錄
一、為什么要mask
二、這些年paper中出現(xiàn)過(guò)的mask方式
2.1 padding Padding-mask
2.2 sequence mask:transformer decoder部分
2.3 BERT: maskd LM
2.4 RoBERTa: dynamic maskd LM
2.5 ERNIE: Knowledge masking strategies
2.6 BERT-wwm
參考資料
一、為什么要mask
1.1 padding:
數(shù)據(jù)輸入模型的時(shí)候長(zhǎng)短不一,為了保持輸入一致,通過(guò)加padding將input轉(zhuǎn)成固定tensor
如:
一句話:[1, 2, 3, 4, 5]
input size: 1* 8
加padding:[1, 2, 3, 4, 5, 0, 0, 0]
1.2 padding 引入帶來(lái)的問(wèn)題:
padding填充數(shù)量不一致,導(dǎo)致均值計(jì)算偏離
如:
原始均值:(1 + 2 + 3 + 4 + 5) / 5 = 3
padding后的均值: (1 + 2 + 3 + 4 + 5) / 8 = 1.875
1.3 引入mask,解決padding的缺陷:
假設(shè) m = [1, 1 , 1, 1, 1, 0, 0, 0]
?:逐個(gè)相乘
mask后的avg = 3 (和原先結(jié)果一致)
1.4 除了上述的padding的場(chǎng)景,為了讓模型學(xué)習(xí)到某個(gè)詞或者關(guān)注到某個(gè)區(qū)域,也可以使用mask對(duì)信息做屏蔽。
二、這些年paper中出現(xiàn)過(guò)的mask方式
2.1 padding Padding-mask
原理同上
例:transformer mask encoder self-attention mask
2.2 sequence mask:transformer decoder部分
訓(xùn)練的時(shí)候,在Masked Multi-h(huán)ead attention層中,為了防止未來(lái)的信息被現(xiàn)在時(shí)刻看到,需要把將來(lái)的信息mask掉。
mask為下三角矩陣
使用mask矩陣,把當(dāng)前之后的全部遮住。
可以防止看到t時(shí)刻之后的信息。
t-1時(shí)刻、t時(shí)刻、t+1時(shí)刻在masked Multi-h(huán)ead attention layer是并行計(jì)算的。
延伸問(wèn)題:transformer decoder在預(yù)測(cè)時(shí)也用到了mask
是為了保持預(yù)測(cè)時(shí)和訓(xùn)練時(shí),信息量一致。保證輸出結(jié)果的一致。
2.3 BERT: maskd LM
The training data generator chooses 15% of the token positions at random for prediction. If the i-th token is chosen, we replace the i-th token with (1) the [MASK] token 80% of the time (2) a random token 10% of the time (3) the unchanged i-th token 10% of the time. Then, Ti will be used to predict the original token with cross entropy loss.
——BERT 原文:訓(xùn)練數(shù)據(jù)中,被mask選中的概率是15%,選中的詞,被[MASK]替換的概率是80%,不變的概率是10%,隨機(jī)替換的概率是10%。
解釋:訓(xùn)練分布和實(shí)際語(yǔ)言分布有差異,三種替換方式是為了告訴模型,輸入的詞有可能是錯(cuò)誤的,不要太相信。
對(duì)應(yīng)的代碼:bert/create_pretraining_data.py
2.4 RoBERTa: dynamic maskd LM
The original BERT implementation performed masking once during data preprocessing, resulting in a single static mask. To avoid using the same mask for each training instance in every epoch, training data was duplicated 10 times so that each sequence is masked in 10 different ways over the 40 epochs of training. Thus, each training sequence was seen with the same mask four times during training.
RoBERTa的原文對(duì)比了BERT的靜態(tài)mask。并說(shuō)明了RoBERTa為了避免靜態(tài)mask導(dǎo)致每個(gè)epoch訓(xùn)練輸入的數(shù)據(jù)mask是一樣的,所以先把數(shù)據(jù)復(fù)制了10份,然后在40輪訓(xùn)練中,每個(gè)序列都以10種不同的方式被mask。
2.5 ERNIE: Knowledge masking strategies
ERNIE is designed to learn language representation enhanced by knowledge masking strategies, which includes entity-level masking and phrase-level masking.
給BERT加了知識(shí)圖譜,加強(qiáng)了局部學(xué)習(xí)。BERT原先的方式,只是從mask出現(xiàn)的概率做填空。用knowledge level的填空方式,把knowledge挖空,保證了模型學(xué)到關(guān)鍵知識(shí)。
基本級(jí)別掩碼(Basic-Level Masking):
這里采用了和BERT完全相同的掩碼機(jī)制,在進(jìn)行中文語(yǔ)料時(shí),這里使用的是字符級(jí)別的掩碼。在這個(gè)階段并沒(méi)有加入更高級(jí)別的語(yǔ)義知識(shí)。
短語(yǔ)級(jí)別掩碼(Phrase-Level Masking):
在這個(gè)階段,首先使用語(yǔ)法分析工具得到一個(gè)句子中的短語(yǔ),例如圖中的“a serious of”,然后隨機(jī)掩碼掉一部分,并使用剩下的對(duì)這些短語(yǔ)進(jìn)行預(yù)測(cè)。在這個(gè)階段,詞嵌入中加入了短語(yǔ)信息。
實(shí)體級(jí)別掩碼(Entity-Level Masking):
在這個(gè)階段,將句子中的某些實(shí)體掩碼掉,這樣模型就有了學(xué)習(xí)更高級(jí)別的語(yǔ)義信息的能力。
2.6 BERT-wwm
繼2019年4月百度發(fā)布ERNIE1.0之后,同年7月訊飛+哈工大發(fā)布了BERT-WWM。
The whole word masking mainly mitigates the drawbacks in original BERT that, if the masked WordPiece token (Wu et al., 2016) belongs to a whole word, then all the WordPiece tokens (which forms a complete word) will be masked altogether.
連續(xù)mask所有能組成詞的詞
wwm的Roberta沒(méi)有動(dòng)態(tài)mask,因?yàn)椴恍枰,所有詞已經(jīng)mask了。
wwm的代碼解釋參考[4]
例句:there is an apple tree nearby.
tok_list = ["there", "is", "an", "ap", "##p", "##le", "tr", "##ee", "nearby", "."]
bert沒(méi)有wwm結(jié)果是:
there [MASK] an ap [MASK] ##le tr [RANDOM] nearby .
[MASK] [MASK] an ap ##p [MASK] tr ##ee nearby .
there is [MASK] ap [MASK] ##le tr ##ee nearby [MASK] .
bert-wwm結(jié)果是:
there is an [MASK] [MASK] [RANDOM] tr ##ee nearby .
there is [MASK] ap ##p ##le [MASK] [MASK] nearby .
there is! [MASK] ap ##p ##le tr ##ee nearby [MASK] .
可以看出,apple這個(gè)詞,在沒(méi)有wwm時(shí),會(huì)被mask不同部分;wwm時(shí),則同時(shí)被mask,或者不被mask。
wwm無(wú)需改動(dòng)bert代碼:
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
10月31日立即下載>> 【限時(shí)免費(fèi)下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
-
即日-11.13立即報(bào)名>>> 【在線會(huì)議】多物理場(chǎng)仿真助跑新能源汽車(chē)
-
11月28日立即報(bào)名>>> 2024工程師系列—工業(yè)電子技術(shù)在線會(huì)議
-
12月19日立即報(bào)名>> 【線下會(huì)議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
即日-12.26火熱報(bào)名中>> OFweek2024中國(guó)智造CIO在線峰會(huì)
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書(shū)》
推薦專題
- 1 【一周車(chē)話】沒(méi)有方向盤(pán)和踏板的車(chē),你敢坐嗎?
- 2 特斯拉發(fā)布無(wú)人駕駛車(chē),還未迎來(lái)“Chatgpt時(shí)刻”
- 3 特斯拉股價(jià)大跌15%:Robotaxi離落地還差一個(gè)蘿卜快跑
- 4 馬斯克給的“驚喜”夠嗎?
- 5 打完“價(jià)格戰(zhàn)”,大模型還要比什么?
- 6 馬斯克致敬“國(guó)產(chǎn)蘿卜”?
- 7 神經(jīng)網(wǎng)絡(luò),誰(shuí)是盈利最強(qiáng)企業(yè)?
- 8 比蘋(píng)果偉大100倍!真正改寫(xiě)人類歷史的智能產(chǎn)品降臨
- 9 諾獎(jiǎng)進(jìn)入“AI時(shí)代”,人類何去何從?
- 10 Open AI融資后成萬(wàn)億獨(dú)角獸,AI人才之爭(zhēng)開(kāi)啟
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷(xiāo)售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷(xiāo)售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門(mén)市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市