版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第12章BERT模型本章主要內(nèi)容:1.
BERT模型特點與任務2.
BERT模型結構與目標函數(shù)3.BERT模型輸入4.BERT模型預訓練5.BERT模型的微調(diào)6.BERT模型推理7.上下文依賴與詞多義性問題BERT(BidirectionalEncoderRepresentationsfromTransformers)模型是由谷歌于2018年提出的能將人類語言轉(zhuǎn)換為機器可以理解和處理的數(shù)值形式的語言表示模型。BERT模型是一個自編碼語言模型(AutoEncoderLM),使用了雙向的Transformers的編碼器。BERT模型通過預訓練來學習無標注數(shù)據(jù)的深度雙向表示。當預訓練結束后,通過添加一個額外的輸出層進行微調(diào),最終可以在多種NLP任務上實現(xiàn)了目前的SOTA水平模型。
12.1BERT模型特點與任務12.1.1BERT模型特點1.雙向語言模型2.判別式模型3.自注意力機制4.預訓練任務5.微調(diào)能力6.多語言支持12.1.2BERT模型是語言表示模型1.詞嵌入技術(1)基本概念(2)常見的詞嵌入模型(3)學習過程(4)特點(5)應用2.語言表示模型一些常見的語言表示模型如下:(1)Word2Vec(2)GloVe(3)FastText(4)ELMo(5)BERT模型(6)GPT12.1.3BERT模型的上下游任務BERT模型的上游任務和下游任務是模型在不同階段的目標。1.上游任務(1)掩碼語言模型(2)下一句預測2.下游任務下游任務是指模型在預訓練完成之后,針對特定應用場景進行的訓練和評估。對于BERT模型,預訓練完成后,模型可以在各種特定的下游任務上進行微調(diào)。3.BERT模型的下游任務(1)序列標注(2)文本分類(3)自然語言推理(4)問答系統(tǒng)4.上游任務與下游任務的比較12.2BERT模型結構與目標函數(shù)12.2.1BERT模型結構1.BERT的總體結構2.Transformer編碼器3.BERT的主體結構12.2.2BERT模型目標函數(shù)1.BERT模型預訓練階段的目標函數(shù)(1)掩碼語言模型預測這些被掩碼的單詞在這一任務中,輸入文本的一部分單詞被隨機掩碼(例如,將一個單詞替換為[MASK]標記)。模型的目的是預測這些被掩碼的單詞。(2)下一句預測2.BERT模型微調(diào)階段的目標函數(shù)BERT模型的微調(diào)是指將已經(jīng)預訓練的BERT模型適配到特定下游任務的過程。因為完成預訓練的BERT模型已經(jīng)具備了豐富的語言理解能力,所以微調(diào)的目的是將這些能力遷移到具體的任務上,如文本分類、命名實體識別、自然語言推理、情感分析等。BERT模型微調(diào)的一般步驟如下:(1)任務特定數(shù)據(jù)的準備(2)模型架構的調(diào)整(3)微調(diào)參數(shù)的選擇(4)模型的微調(diào)(5)評估和迭代在微調(diào)階段,BERT模型針對特定的下游任務調(diào)整目標函數(shù)。例如,對于文本分類任務,在模型的輸出層添加一個分類頭,并使用分類交叉熵損失作為目標函數(shù)。對于問答任務,添加一個開始和結束標記預測的頭部,并使用相應位置的交叉熵損失作為目標函數(shù)。12.3BERT模型輸入
12.3.1BERT模型嵌入1.BERT模型的輸入表示(1)詞嵌入(2)段嵌入向量(3)位置嵌入向量(4)BERT模型的輸入到輸入向量的映射(5)合成12.3.2
BERT模型輸入過程
BERT模型輸入步驟如下。1.分詞: 首先,輸入文本需要被分詞。這一步驟通常使用WordPiece分詞器完成,它可以將單詞分解為更小的子詞單元,以便更好地處理稀有詞和詞匯的多樣性。2.標記化:分詞后的每個子詞會被轉(zhuǎn)換為一個唯一的整數(shù)標記(TokenID)。這些整數(shù)標記對應BERT的詞匯表中的位置。3.添加特殊標記: ①BERT輸入序列的開始被添加一個特殊的[CLS]標記,這個標記的輸出可以用于分類任務。②句子之間(如果輸入是句子對)被添加一個特殊的[SEP]標記,用于分隔兩個句子。4.位置編碼:為了讓BERT模型理解單詞的順序,每個輸入標記都分配一個位置編碼,這些編碼表明了單詞在序列中的位置。5.段編碼:對于句子對任務,BERT還需要知道輸入標記屬于哪個句子。因此,每個標記都分配一個段編碼,用于區(qū)分第一個句子和第二個句子。6.轉(zhuǎn)換成嵌入向量:將標記(TokenID)、位置編碼和段編碼通過嵌入層轉(zhuǎn)換為嵌入向量。這些嵌入向量輸入BERT的Transformer編碼器中進行處理。BERT模型的輸入可以表示為一個三維的張量,形狀通常為[批量大小,序列長度,嵌入維度]。其中,批量大小是一次處理的樣本數(shù)量,序列長度是每個樣本的最大序列長度(通常設置為模型能夠接受的最大長度,如512),嵌入維度是BERT的隱藏層大?。ɡ?68或BERT的隱藏層大小(例如768或1024)。12.4BERT模型預訓練
BERT模型預訓練包括掩碼語言模型任務訓練和下一個句預測任務訓練。12.4.1掩碼語言模型任務訓練BERT模型預訓練的第一個任務是采用掩碼語言模型的方式來訓練語言模型,簡單地說,就是在輸入一句話的時候,隨機地選擇一些要預測的詞,然后用一個特殊的符號[MASK]來代替它們,之后讓模型根據(jù)所給的標簽數(shù)據(jù)學習在[MASK]這些地方應該填的詞,即被掩碼的詞。一個深度雙向模型比從左到右模型和從右到左單向連接模型的效果更好。標準的條件語言模型只能夠從左到右或者從右到左地訓練,使用雙向條件使每個token(掩碼的詞)能夠間接地看到自己,所以能夠在多層上下文中簡單地預測掩碼的詞。為了能夠雙向地訓練語言模型,隨機掩碼一定比例的輸入token(這些token被替換成[MASK]),然后預測這些被掩碼的token,這就是掩碼語言模型工作原理。被掩碼的詞將會被輸入到一個Softmax分類器中,分類器輸出的維度對應詞典的大小。在預訓練時通常為每個序列屏蔽15%的token。與降噪自編碼器相比,只預測被掩碼的token,并不重建整個輸入。這種方法允許預訓練一個雙向的語言模型,但是缺點就是造成了預訓練和微調(diào)之間的失配,這是因為[MASK]這個token不會在微調(diào)時出現(xiàn)。為了緩解這一點,采取下述做法:在生成訓練數(shù)據(jù)時隨機選擇15%的token進行替換,被選中的token有80%的幾率被替換成[MASK],10%的幾率被替換成另一個隨機的token,10%的幾率token不被改變。然后將使用交叉熵損失來預測原來的token。.如果一直用標記[MASK]代替(在實際預測時是碰不到這個標記)會影響模型,所以MASK選擇需要下述技巧。 (1)應用二八定律,隨機掩碼的時,10%的單詞將被替代成其他單詞,10%的單詞不替換,剩下80%才被替換為[MASK]。 (2)需要注意的是掩碼語言模型預訓練階段,模型是不知道真正被替換的是哪個詞,所以模型每個詞都要關注。 (3)訓練技巧:序列長度太大(512)將影響訓練速度,所以90%的步驟都用序列長度(128)訓練,余下的10%步數(shù)訓練長度(512)的輸入。 (4)具體實現(xiàn)考慮如下:
·在編碼器的輸出上添加一個分類層;
·用嵌入矩陣乘以輸出向量,將其轉(zhuǎn)換為詞匯的維度;
·用Softmax計算詞匯表中每個單詞的概率。 (5)BERT的損失函數(shù)只考慮替換的預測值,忽略沒有掩碼的字的預測。這樣模型要比單向模型收斂得慢,但可以增加結果的情境意識。12.4.2下一個句子預測任務訓練
BERT模型預訓練的另一個上游任務是在掩碼語言模型訓練的基礎上額外增加了一個句子級別的連續(xù)性預測任務,即預測輸入BERT的兩段文本是否為連續(xù)的文本,引入這個任務可以更好地使模型學習到連續(xù)的文本片段之間的關系。下一句預測的方法如下: (1)為預訓練句子關系模型,BERT使用一個非常簡單的二分類任務:將兩個句子A和B鏈接起來,預測原始文本中句子B是否排在句子A之后。 (2)具體訓練的時候,50%的輸入對在原始文檔中是前后關系,另外50%中是從語料庫中隨機組成的,并且是與第一句斷開的。 (3)為了幫助模型區(qū)分開訓練中的兩個句子,輸入在進入模型之前要按以下方式進行處理: ①在第一個句子的開頭插入[CLS]標記,在每個句子的末尾插入[SEP]標記。 ②將表示句子A或句子B的一個句子嵌入添加到每個token上,即段嵌入。 ③給每個token添加一個位置嵌入,來表示它在序列中的位置。 (4)完成第二個句子是否是第一個句子的后續(xù)句子的預測。 ①整個輸入序列輸入給Transformer模型用一個簡單的分類層將[CLS]標記的輸出變換為2×1形狀的向量。 ②用Softmax計算下一個句預測的概率。 ③在訓練BERT模型時,掩碼語言模型和下一句預測是一起訓練的,目標就是要最小化兩種策略的組合損失函數(shù)。12.5BERT模型的微調(diào)
12.5.1BERT模型的微調(diào)任務
雖然BERT模型的下游任務很多,但卻不包括文本生成任務。因為文本生成時模型是不能看到當前位置以及之后的信息,而BERT只使用了編碼器部分,完成自注意力,因此能用于文本生成任務。BERT進行微調(diào)后可以完成多種下游任務,主要包括以下幾類。
1.文本分類
2.命名實體識別
3.問答系統(tǒng)
4.自然語言推理
5.句子對任務
6.情感分析
7.機器翻譯
8.摘要生成
9.對話系統(tǒng)
10.關鍵詞提取
BERT的通用性和強大的語言理解能力使其能夠適應多種不同的NLP任務。通過微調(diào),BERT可以在特定任務上調(diào)整其參數(shù),以更好地適應這些任務的要求。由于BERT在預訓練過程中已經(jīng)學到了豐富的語言表示,因此它在微調(diào)后通常能在上述任務中取得很好的效果。12.5.2BERT模型的微調(diào)過程NLP任務方式是對BERT進行微調(diào)。
1.更多的微調(diào)預訓練 對BERT進行更多的預訓練。該步驟使用和BERT相同的無監(jiān)督任務MLM和NSP任務,但需要使用目標任務領域的數(shù)據(jù)集。
2.多任務微調(diào)
3.單任務微調(diào) 對BERT進行單任務微調(diào)。就是直接使用最終的任務進行有監(jiān)督學習。BERT微調(diào)的一些基本的策略主要考慮學習率、長文本處理方式等。(1)最好的長文本的處理方式是“頭+尾巴”。(2)最好的特征表示就是最后一層的特征(3)最好的學習率是一個相對較小的學習率,通常在以下情況下使用:·微調(diào)預訓練模型:當對已經(jīng)在大規(guī)模數(shù)據(jù)集上預訓練的模型進行微調(diào)時,較小的學習率可以防止破壞預訓練時學到的特征?!ぞ氄{(diào)整:在模型訓練接近收斂時,減小學習率可以幫助模型在損失函數(shù)的極小值附近進行更精細的調(diào)整?!け苊膺^擬合:較小的學習率有助于避免模型在訓練數(shù)據(jù)上過度擬合。(4)BERT越靠近輸入層的學習率應該越低,反之應該越高12.6上下文依賴與詞多義性問題上下文依賴問題和詞多義性問題在自然語言處理(NLP)中是兩個不同的概念,它們分別指向語言理解過程中的不同挑戰(zhàn)。12.6.1問題的提出1.上下文依賴性2.詞多義性問題3.上下文依賴與詞多義性問題區(qū)別(1)性質(zhì)不同(2)處理方式不同(3)表現(xiàn)形式不同12.6.2BERT模型上下文依賴問題解決BERT模型上下文依賴問題通過以下機制解決。1.雙向編碼BERT模型使用雙向的Transformer架構,這意味著在處理一個詞時,模型同時考慮這個詞左右兩側(cè)的上下文信息。這種雙向性確保了模型能夠捕捉到詞在句子中的完整上下文依賴關系,而不僅僅是單向的(如傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡RNN或長短時記憶網(wǎng)絡LSTM)。2.自注意力機制BERT通過自注意力機制來分配每個詞與其他詞之間的注意力權重,這些權重反映了詞之間的相互依賴關系。在自注意力機制中,每個詞都會與其他所有詞進行比較,以確定它們之間的關聯(lián)強度,從而構建一個能夠反映上下文依賴的表示。3.多頭注意力BERT中的多頭注意力機制允許模型在不同的表示子空間中并行地學習上下文依賴關系。每個注意力頭都可以捕獲不同的上下文信息,通過組合這些頭部的輸出,BERT能夠獲得更加豐富和全面的上下文表示。4.層疊的Transformer塊BERT由多個層疊的Transformer塊組成,每一層都可以捕獲不同層次的上下文依賴。通過多層堆疊,BERT能夠?qū)W習到更深層次的上下文依賴關系,這對于理解復雜句子結構尤為重要。.5.位置編碼為了保留詞的位置信息,BERT引入了位置編碼,將位置信息與詞的嵌入向量相加。位置編碼使得模型能夠理解詞序,這對于理解句子的上下文依賴至關重要。6.掩碼語言模型在預訓練階段,BERT使用MLM任務來訓練模型預測被隨機掩蓋的詞。MLM任務迫使模型根據(jù)未被掩蓋的上下文詞來預測掩蓋的詞,從而加強了模型對上下文依賴的理解。7.預訓練與微調(diào)BERT首先在大規(guī)模文本上進行預訓練,學習通用的語言表示。隨后,針對特定任務進行微調(diào),模型會進一步調(diào)整以適應特定任務的上下文依賴。通過這些機制,BERT模型能夠有效地解決上下文依賴問題,并在各種自然語言處理任務中展現(xiàn)出卓越的性能。12.6.3BERT模型詞多義性問題解決BERT模型通過以下幾種方式有效地解決了詞多義性問題。1.上下文理解:BERT模型是一種雙向的Transformer結構,這意味著它在處理一個詞時,能夠同時考慮到這個詞左右兩側(cè)的上下文信息。因此,同一個詞在不同的上下文中有不同的表征,這有助于區(qū)分不同的詞義。2.預訓練任務:BERT的預訓練包括兩個任務:掩碼語言模型(MaskedLanguageModel,MLM)和下一句預測(NextSentencePrediction,NSP)。MLM任務通過隨機掩蓋一些詞,并要求模型預測這些詞,這迫使模型學習到詞義與上下文之間的關系。3.詞片段(Subwords)處理:BERT使用WordPiece算法來處理詞匯,將未知詞匯或稀有詞匯分解為更小的片段。這種方法可以幫助模型更好地理解詞的不同組成部分,從而在一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省佛山市禪城區(qū)2024-2025學年四年級上冊期末考試數(shù)學試卷(含答案)
- 黑龍江省哈爾濱市道里區(qū)2023-2024學年八年級上學期期末物理測試 (1)(含答案)
- 國家安全合同
- 阿里巴財務部經(jīng)理面試技巧及答案
- 歷史研究員面試題及答案
- 無領導小組面試題及高分策略含答案
- 老干部文體活動組織者面試題庫含答案
- 試驗員筆試題及解析
- 人力資源專家面試手冊人才選拔與招聘問題集
- 出口紡織品加工貿(mào)易協(xié)議
- 光伏電站并網(wǎng)調(diào)試方案
- 多學科專家診療規(guī)范要點匯編
- GB/T 46283-2025健康信息學外科手術術語系統(tǒng)分類結構
- 數(shù)字展廳設計方案
- 《圖形創(chuàng)意與應用》全套教學課件
- 2025年重慶物理高考試題及答案
- 鐵塔施工隊安全培訓課件
- 電檢應急預案
- 科研成果評審專家意見模板
- 工程教育國際化路徑-洞察及研究
- 中華民族共同體概論課件第三講文明初現(xiàn)與中華民族起源(史前時期)2025年版
評論
0/150
提交評論