自然語言處理(NLP)精選13道面試題_第1頁
自然語言處理(NLP)精選13道面試題_第2頁
自然語言處理(NLP)精選13道面試題_第3頁
自然語言處理(NLP)精選13道面試題_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

?然語?處理(NLP)精選13道?試題?末彩蛋:七?在線?貨組最新升級(jí)的《名企AI?試100題》免費(fèi)送!1、為什么BERT在第?句前會(huì)加?個(gè)[CLS]標(biāo)志?BERT在第?句前會(huì)加?個(gè)[CLS]標(biāo)志,最后?層該位對(duì)應(yīng)向量可以作為整句話的語義表?,從??于下游的分類任務(wù)等。為什么選它呢,因?yàn)榕c?本中已有的其它詞相?,這個(gè)?明顯語義信息的符號(hào)會(huì)更“公平”地融合?本中各個(gè)詞的語義信息,從?更好的表?整句話的語義。ftBERT的12CLS12pooling這?補(bǔ)充?下bert的輸出,有兩種,在BERTTF源碼中對(duì)應(yīng):?種是get_pooled_out(),就是上述[CLS]的表?,輸出shape是[batchsize,hiddensize]。?種是get_sequence_out(),獲取的是整個(gè)句?每?個(gè)token的向量表?,輸出shape是[batch_size,seq_length,hidden_size],這?也包括[CLS],因ft在做token級(jí)別的任務(wù)時(shí)要注意它。2、BERT的三個(gè)Embedding直接相加會(huì)對(duì)語義有影響嗎?這是?個(gè)?常有意思的問題,蘇劍林?師也給出了回答,真的很妙:Embedding的數(shù)學(xué)本質(zhì),就是以onehot為輸?的單層全連接。也就是說,世界上本沒什么Embedding,有的只是onehot。在這?想??個(gè)例?再嘗試解釋?下:假設(shè)tokenEmbedding矩陣維度是[4,768];positionEmbedding矩陣維度是[3,768];segmentEmbedding矩陣維度是[2,768]。對(duì)于?個(gè)字,假設(shè)它的tokenone-hot是[1,0,0,0];它的positionone-hot是[1,0,0];它的segmentone-hot是[1,0]。那這個(gè)字最后的wordEmbedding,就是上?三種Embedding的加和。如ftword后的特征:[1,0,0,0,1,0,0,1,04+3+2,7689768再換?個(gè)?度理解:直接將三個(gè)one-hot特征concat起來得到的[1,0,0,0,1,0,0,1,0]不再是one-hot了,但可以把它映射到三個(gè)one-hot組成的特征空間,空間維度是432=24,那在新的特征空間,這個(gè)字的one-hot就是[1,0,0,0,0…](23個(gè)0)。ft時(shí),Embedding矩陣維度就是[24,768],最后得到的wordEmbedding依然是和上?的等效,但是三個(gè)?Embedding矩陣的??會(huì)遠(yuǎn)?于新特征空間對(duì)應(yīng)的Embedding矩陣??。當(dāng)然,在相同初始化?法前提下,兩種?式得到的wordEmbedding可能?差會(huì)有差別,但是,BERT還有LayerNorm,會(huì)把Embedding結(jié)果統(tǒng)?到相同的分布。BERT的三個(gè)Embedding相加,本質(zhì)可以看作?個(gè)特征的融合,強(qiáng)?如BERT應(yīng)該可以學(xué)到融合后特征的語義信息的。3、在BERT中,token分3種情況做mask,分別的作?是什么?在BERT的MaskedLM訓(xùn)練任務(wù)中,會(huì)?[MASK]token去替換語料中15%的詞,然后在最后?層預(yù)測(cè)。但是下游任務(wù)中不會(huì)出現(xiàn)[MASK]token,導(dǎo)致預(yù)訓(xùn)練和fine-tune出現(xiàn)了不?致,為了減弱不?致性給模型帶來的影響,在這被替換的15%語料中:80MASK1010第?點(diǎn)中的替換:是MaskedLM中的主要部分,可以在不泄露label的情況下融合真雙向語義信息;第?點(diǎn)的隨機(jī)替換:因?yàn)樾枰谧詈?層隨機(jī)替換的這個(gè)token位去預(yù)測(cè)它真實(shí)的詞,?模型并不知道這個(gè)token位是被隨機(jī)替換的,就迫使模型盡量在每?個(gè)詞上都學(xué)習(xí)到?個(gè)全局語境下的表征,因?也能夠讓BERT獲得更好的語境相關(guān)的詞向量(這正是解決?詞多義的最重要特性);10(占所有詞的?例為15*101.5%),bias當(dāng)于是額外的獎(jiǎng)勵(lì),將模型對(duì)于詞的表征能夠拉向詞的真實(shí)表征(ft時(shí)輸?層是待預(yù)測(cè)詞的真實(shí)Self-attention)。?如果全?mask的話,模型只需要保證輸出層的分類準(zhǔn)確,對(duì)于輸出層的向量表征并不關(guān)?,因ft可能會(huì)導(dǎo)致最終的向量輸出效果并不好。4、為什么BERT選擇mask掉15%這個(gè)?例的詞,可以是其他的?例嗎?BERT采?的MaskedLM,會(huì)選取語料中所有詞的15%進(jìn)?隨機(jī)mask,論?中表?是受到完形填空任務(wù)的啟發(fā),但其實(shí)與CBOW也有異曲同?之妙。從CBOW的?度,這?有?個(gè)?較好的解釋是:在?個(gè)??為1/p=100/15約等于7的窗?中隨機(jī)選?個(gè)詞,類似CBOW中滑動(dòng)窗?的中?詞,區(qū)別是這?的滑動(dòng)窗?是?重疊的。那從CBOW的滑動(dòng)窗??度,10%~20%都是還ok的?例。5、針對(duì)句?語義相似度/多標(biāo)簽分類/機(jī)器翻譯翻譯/?本?成的任務(wù),利?BERT結(jié)構(gòu)怎么做fine-tuning?實(shí)際操作時(shí),上述最后?句話之后還會(huì)加?個(gè)[SEP]token,語義相似度任務(wù)將兩個(gè)句?按照上述?式輸?即可,之后與論?中的分類任務(wù)?樣,將[CLS]token位置對(duì)應(yīng)的輸出,接上softmax做分類即可(實(shí)際上GLUE任務(wù)中就有很多語義相似度的數(shù)據(jù)集)。針對(duì)多標(biāo)簽分類的任務(wù)多標(biāo)簽分類任務(wù),即MultiLabel,指的是?個(gè)樣本可能同時(shí)屬于多個(gè)類,即有多個(gè)標(biāo)簽。以商品為例,?件L尺?的棉服,則該樣本就有?少兩個(gè)標(biāo)簽——型號(hào):L,類型:冬裝。那個(gè)?類別,但是這樣做未免太暴?了,?多標(biāo)簽分類任務(wù),其實(shí)是可以「只??個(gè)模型」來解決的。BERTBERTlayersoftmaxlossn?定,由于是多標(biāo)簽分類任務(wù),因ft其維度可以適當(dāng)增??些),最后再做多標(biāo)簽分類任務(wù)。針對(duì)翻譯的任務(wù)針對(duì)翻譯的任務(wù),我??想到RTingfRTin//charcnnBERThasaMouth,andItMustSpeak:BERTasaMarkovRandomFieldLanguageModelMASS:MaskedSequencetoSequencePre-trainingforLanguageGenerationUnifiedLanguageModelPre-trainingforNaturalLanguageUnderstandingandGeneration6、使?BERT預(yù)訓(xùn)練模型為什么最多只能輸?512個(gè)詞,最多只能兩個(gè)句?合成?句?這是GoogleBERT預(yù)訓(xùn)練模型初始設(shè)置的原因,前者對(duì)應(yīng)PositionEmbeddings,后者對(duì)應(yīng)SegmentEmbeddings在BERT中,Token,Position,SegmentEmbeddings都是通過學(xué)習(xí)來得到的,pytorch代碼中它們是這樣的self.word_embeddings=Embedding(config.vocab_size,config.hidden_size)self.position_embeddings=Embedding(config.max_position_embeddings,config.hidden_size)?在BERTconfig中“max_position_embeddings”:512yvsi:2因ft,在直接使?Google的BERT預(yù)訓(xùn)練模型時(shí),輸?最多512個(gè)詞(還要除掉[CLS]和[SEP]),最多兩個(gè)句?合成?句。這之外的詞和句?會(huì)沒有對(duì)應(yīng)的embedding。當(dāng)然,如果有?夠的硬件資源??重新訓(xùn)練BERT,可以更改BERTconfig,設(shè)置更?max_position_embeddings和type_vocab_size值去滿???的需求。7、BERT?線性的來源在哪??前饋層的gelu激活函數(shù)和self-attention,self-attention是?線性的8、BERT是如何區(qū)分?詞多義的?同?個(gè)字在轉(zhuǎn)換為的輸?之后的向量是?樣,但是通過中的多層transformer關(guān)注不同的上下?,就會(huì)導(dǎo)致不同句?輸?到之后,相同字輸出的字向量是不同的,這樣就解決了?詞多義的問題。9、BERT的輸?是什么,哪些是必須的,為什么positionid不?給?10、神經(jīng)?絡(luò)中warmup策略為什么有效?有助于減緩模型在初始階段對(duì)mini-batch的提前過擬合現(xiàn)象,保持分布的平穩(wěn)有助于保持模型深層的穩(wěn)定性11、Bert采?哪種Normalization結(jié)構(gòu),LayerNorm和BatchNorm區(qū)別,LayerNorm結(jié)構(gòu)有參數(shù)嗎,參數(shù)的作??6464(64維)LayerNorm則是針對(duì)單場(chǎng)景、動(dòng)態(tài)?絡(luò)場(chǎng)景和來說就是對(duì)每層輸出ft也應(yīng)該被?起規(guī)范化。returnself.weight*x+self.bias貼?個(gè)LayerNorm的實(shí)現(xiàn),可以看到module中有weight和bias參數(shù),以Sigmoid激活函數(shù)為例,批量歸?化之后數(shù)據(jù)整體處于函數(shù)的?飽和區(qū)域,只包含線性變換,破壞了之前學(xué)習(xí)到的特征分布。為了恢復(fù)原始數(shù)據(jù)分布,具體實(shí)現(xiàn)中引?了變換重構(gòu)以及可學(xué)習(xí)參數(shù)w和b,也就是上?的weight和bias,簡(jiǎn)??之,規(guī)范化后的隱層表?將輸?數(shù)據(jù)限制到了?個(gè)全局統(tǒng)?的確定范圍,為了保證模型的表達(dá)能?不因?yàn)橐?guī)范化?下降,引?了b是再平移參數(shù),w是再縮放參數(shù)。(過激活函數(shù)前規(guī)范化,之后還原)12、為什么說ELMO是偽雙向,BERT是真雙向?產(chǎn)?這種差異的原因是什么?據(jù)訓(xùn)練時(shí),容

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論