1. 程式人生 > >BERT(Bidirectional Encoder Representations from Transformers)理解

BERT(Bidirectional Encoder Representations from Transformers)理解

一、BERT是如何進行預訓練 pre-training的?

BERT 用了兩個步驟,試圖去正確地訓練模型的引數。

1)第一個步驟是把一篇文章中,15% 的詞彙遮蓋,讓模型根據上下文全向地預測被遮蓋的詞。假如有 1 萬篇文章,每篇文章平均有 100 個詞彙,隨機遮蓋 15% 的詞彙,模型的任務是正確地預測這 15 萬個被遮蓋的詞彙。通過全向預測被遮蓋住的詞彙,來初步訓練 Transformer 模型的引數。

2)然後,用第二個步驟繼續訓練模型的引數。譬如從上述 1 萬篇文章中,挑選 20 萬對語句,總共 40 萬條語句。挑選語句對的時候,其中 2*10 萬對語句,是連續的兩條上下文語句,另外 2*10 萬對語句,不是連續的語句。然後讓 Transformer 模型來識別這 20 萬對語句,哪些是連續的,哪些不連續。

這兩步訓練合在一起,稱為預訓練 pre-training,訓練結束後的Transformer模型,包括它的引數,就是論文期待的通用的語言表徵模型。