BERT
基於變換器的雙向編碼器表示技術(英語:Bidirectional Encoder Representations from Transformers,BERT)是用自然語言來處理(NLP)的預訓練技術,由 Google 提出。二空一八年,雅各布 ・ 德夫林和同事的建立並發佈了 BERT。Google 佇咧利用 BERT 來閣較好地理解使用者搜揣語句的話。二空二空年的一項文獻調查會出結論:" 佇冬外一點外的時間內底,BERT 已經成做 NLP 實驗中無處不在的基線 ",算上分析佮改進模型的研究出版物超過一百五十篇。
上頭先的英語 BERT 發佈的時陣提供兩種類型的預訓練模型:(一)BERTBASE 模型,一个十二層,七百六十八維,十二个自注意頭(self attention head), 一百十一 M 參數的神經網路結構;(二)BERTLARGE 模型,一个二十四層,一千空二十四維,十六个自注意頭,三百四十 M 參數的神經網路結構。兩个人的訓練語料攏是 BooksCorpus 佮英語維基百科語料,單詞量分別是八億以及二十五億。
結構
BERT 的核心部份是一个 Transformer 模型,其中編碼層數佮自注意力頭數量可變。結構佮 Vaswani 等人 ( 二千空一十七 ) 的實現差不多「完全一致」。
BERT 佇咧兩个任務上進行預訓練:語言模型(嘿百分之十五的 token 去予人崁蓋,BERT 需要對頂下跤文中進行推斷)佮後一句預測(BERT 需要預測予定的第二个句敢是第一句的下句)。 訓練完成了後,BERT 學習著單詞的頂下文嵌入去。代價貴參參的預訓練完成了後,BERT 會當使用較少的資源佮較細的資料集佇下游的任務上進行微調,以改進佇遮的任務上的效能。
效能佮分析
BERT 佇以下自然語言理解任務上的效能表現了上為卓越:
- GLUE(General Language Understanding Evaluation,通用語言理解評估)任務集(包括九个任務)。
- SQuAD(Stanford Question Answering Dataset,史丹佛問答資料集)v 一孵一佮 v 二孵空。
- SWAG(Situations With Adversarial Generation,對抗生成的情境)。
有關 BERT 佇頂懸述自然語言理解任務中是按怎會當達到先入去水平,目前猶未揣著明確的原因。目前 BERT 的通解說性研究主要集中佇咧研究精心選擇的輸入序列對 BERT 的輸出的影響關係,通過探測分類器分析內部向量表示,佮注意力權重表示的關係。
歷史
BERT 起是佇咧預訓練的頂下文表示學習,包括半監督序列學習(Semi-supervised Sequence Learning), 生做預訓練(Generative Pre-Training), ELMo 和 ULMFit。佮進前的模型無仝,BERT 是一種深度雙向的、沒監督的語言表示,而且攏使用純文字語料庫來進行預訓練的模型。最下文沒關模型(如 word 二 vec 抑是 GloVe)為詞表內底的每一个單詞生做一个詞向量表示,因此容易出現單詞的歧義問題。BERT 考慮著單詞出現時陣的上下文。比如講,詞「水份」的 word 二 vec 詞向量佇「植物需要吸收水份」和「財務報表內底有水份」是有仝款的,猶毋過 BERT 根據頂下文的無仝提供無仝的詞向量,詞向量佮句仔表達的句意有關。
二空一九年十月二五,Google 搜揣宣布𪜶已經開始佇美國國內的英語搜揣查愛用中國來應用 BERT 模型。二空一九年十二月九號,據報導,Google 搜揣已經佇七十外種語言的搜揣採用矣 BERT。二空二空年十月,差不多每一个因為英語的查詢攏由 BERT 處理。
得著獎的狀況
二空一九年計算語言學協會北美分會(NAACL)年會上,BERT 得著最佳長篇論文獎。
參見
參考文獻
外部連結
- 官方 GitHub 倉庫