日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Bert预训练

發布時間:2023/12/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Bert预训练 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Bert模型的目的:

預訓練Transformer的encoder網絡,從而大幅提高準確率

主要有兩個任務:

1、預測被遮擋單詞:

隨機遮擋一個詞或多個詞,讓encoder根據上下文來預測被遮擋的單詞

2、預測下一個句子:

把兩個句子放在一起,讓encoder判斷是否是原文中相鄰的兩個句子

預測被遮擋單詞:

首先輸入一句話,然后這句話被分詞成了一個個的單詞,通過embedding層把每一個單詞映射成一個個的詞向量x1x2...xt ,最后也輸出u1u2....ut這么多向量

具體過程:

假如現在我們遮擋住了cat這個單詞

那么我們會用mask標記這個被遮擋的單詞,緊接著它就會被embedding層標記為Xm向量,輸出記為Um向量,我們知道,Transformer的映射是多對一,所以Um向量會依賴所有的X向量,也就是說它會知道整句話的內容,那么就可以用它來預測被遮擋的單詞是什么,將這個Um作為特征向量送入softmax分類器輸出一個概率分布p,根據這個p值來判斷被遮擋的詞是什么

?這里,我們的希望的p值是越接近mask的one-hot編碼越好

我們將被遮擋單詞的ont-hot向量記為e,將CrossEntropy(e,p)作為損失函數,用反向傳播算出損失函數關于模型的梯度,然后作梯度下降來更新模型參數,bert預訓練不需要人工標注數據,它用被遮擋的單詞作為標簽,可以自動生成標簽,這樣訓練數據就可以想要多少就有多少,從而訓練出一個很大的模型

預測下一個句子

輸入數據:

[CLS]是用于分類的標識符

? ? ? ? [SEP]是用于分割句子的標識符


輸入兩個句子,中間用【SEP】符號隔開,其中一個句子一定是原文中真實存在的句子,另一個句子則是從訓練數據中隨機抽取的句子,比如:

[CLS] "calculus is a branch of math"
[SEP] "panda is native to south central china"? ?

這兩句話是真實的原文我們把它標簽為true??

[CLS] "calculus is a branch of math"
[SEP]“panda is native to south central china"

這兩句話是隨機匹配的我們把它標記為false

向量C雖然在CLS的位置上,但它包含的是輸入的兩句話的全部信息,把C作為特征向量輸入分類器Binary,得到一個介于0-1之間的值f,其中,1是代表兩句話true,0代表兩句話毫無關聯,依舊用將CrossEntropy(e,f)作為損失函數,用反向傳播算出損失函數關于模型的梯度,然后作梯度下降來更新模型參數

這樣作預訓練是因為:

相鄰的兩句話通常有關聯,這樣作二分類可以強化這種關聯,讓embedding層包含這種關聯,而且encoder層中的self-attention層的作用恰好就是找相關性

bert將上述所講的這兩種任務結合起來訓練Transformer,假如有兩個單詞被遮擋,就需要三個任務,也就是說三個損失函數,第一個損失函數是二分類(判斷標簽是true還是false),第二三個損失函數就是預測這兩個單詞,目標函數就是三個損失函數的加和,反向傳播算出損失函數關于模型的梯度,然后作梯度下降來更新模型參數

總結:

預測遮擋單詞是一個多分類問題
預測下一個句子是一個二分類問題
合并任務的目標函數就是兩個任務的目標函數之和
采用梯度下降方法更新合并任務模型參數

?

bert可以解決哪些nlp中的高級別下游任務?

●判斷兩句話意思是否相近
●判斷兩個問題意思是否相近
●蘊含任務

下圖表示:Bert模型已經接近甚至超過人類語言理解水平

如何利用Bert:

1、情感分析

?2、詞性標注

3、文本蘊含任務

?

4、抽取式問答系統:

?

總結

以上是生活随笔為你收集整理的Bert预训练的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。