總結使用
最後本文提出了一種對bert預訓練進行精細調參和調整訓練集的方法,用這種方法對bert進行預訓練還能提公升效能。
自訓練的方法,諸如 elmo、gpt、bert、xlm、xlnet 均帶來了很大的效能提公升,但很難搞懂究竟是方法的哪些方面對模型效能的提公升貢獻最大。
我們復現了bert的工作,並對調參和資料集大小的影響進行了細緻的評估。
我們對模型進行了如下修改:
並且我們提出了乙個新的資料集 cc-news 。
github:
本節主要回顧 bert 預訓練的一些引數設定和訓練目標,為引出後面的創新點作鋪墊。
bert 的輸入:兩個序列拼接到一起,並用兩種特殊符號分隔,如:
[ cl
s],x
1,..
.,xn
,[se
p],y
1,..
.,ym
,[eo
s].[cls], x_1, ..., x_n, [sep], y_1, ..., y_m, [eos].
[cls],
x1,
...,
xn,
[sep
],y1
,..
.,ym
,[e
os].
其中 n+m
<
tn+mn+mt
t就是bert訓練是輸入序列的最大長度。
bert 首先是用大規模無標註的資料進行預訓練,然後再用有標註的資料在特定任務上進行精調。
bert 模型結構:l 層transformer,a 個自注意力機制頭,隱層向量維度為 h。
bert 兩個訓練目標:
資料集,一共16 gb:
關於資料,大量研究**了使用更多、更多元(差異性更大)的資料來進行提公升bert的效能。
下面是實驗結果對比:
從上面實驗結果看出,static與reference的效果差不多,dynamic在效能上稍微有一點提公升。本文接下來均採用dynamic的mask方式。
結論:動態mask比靜態mask效果好。
在原始的bert訓練步驟中,輸入模型的兩個句子會被簡單拼接在一起,它們50%的概率是來自同一文字的相鄰句子,50%來自不同的文字,即nsp任務的正負樣本比例為1:1。
之前的研究表明,如果去掉nsp任務,bert模型在qnli,mnli和squad 1.1 效能會出現明顯的下降。
結果如下:
可以看到,使用句子對(sentence-pair)時,模型效能下降了,可能是因為模型學不到長距離依賴,導致測試集中長文字上效果會下降。doc-sentences (去掉nsp)相比原始bert的segment-pair (nsp)的效能要好那麼一點點;同時也比full-sentences好一點點。這說明去掉nsp其實也可以,並且單文件的 效果比多文件好。
結論:去掉nsp訓練目標並不會降低bert效能。
**用更大的batch_size進行訓練可以提公升模型效能嗎?可以。**當然這個前提是你的gpu有足夠的視訊記憶體。
實驗結果如下:
bsz是batch_size,當從256提公升到2k時,ppl(mlm 的困惑度,越低說明模型學的越好)降低了,在推理(mnli-m)和情感分析(sst-2)上效能都提公升了。
結論:batch_size可以設得更大(2k、8k),模型效能沒什麼影響。
原始bert的詞彙表大小是30k,本文增加到了50k。
roberta 這篇**的主要創新點如下:
github: chinese-bert-wwm
提高視覺系統顏色識別魯棒性的一種方案
前言 視覺系統中顏色識別的魯棒性在視覺系統中經常遇到,怎樣提高它的魯棒性是乙個有一定的理論意義和實用價值。本文就此提出一實用方案,就足球機械人視覺子系統中的顏色識別例項進行介紹。在實現足球機械人視覺子系統時存在的一大難點就是影象顏色的魯棒性,影象顏色的魯棒性形成的主要原因是光照,還有影象採集時所形成...
快排與一種優化
快速排序 quick sort 是計算機領域乙個重要的演算法。初學快排,理解起來並不難,核心理念主要是選取pivot軸心元素 選取pivot元素也有一定技巧,可能會影響到演算法的複雜度,需要多加揣摩 再從左向右尋找第乙個比pivot元素大的值,從右向左尋找第乙個比pivot元素小的值,當兩個 記號 ...
oracle 多表查詢的一種優化方法
要用到4張表進行多表查詢 表1 jw jh x y 3000 記錄 表2 djqkgx jh qkdyid 3000 記錄 表3 qkxx id qkdy 100以內 表4 dba01 jh rcyl1 rq 42萬 現在已知 qkdy,rq 要查 max a.x max a.y min a.x m...