【NLP】ELMo vs GPT vs BERT

最近看了一篇論文叫《Linguistic Knowledge and Transferability of Contextual Representations》,NAACL 2019,感受長了不少姿式,和你們分享一下。學習

目前詞向量的作法有兩大類,一類是相似word2vec、glove這樣給每一個單詞一個固定的向量,另外一類是像ELMo、GPT、BERT這種經過全局信息去給單詞計算出一個向量,做者稱爲CWRs (contextual word representations)。第一類的缺點就很明顯,好比「蘋果」一詞在不一樣的上下文中的含義是不一樣的。從18年開始,CWRs這種編碼方式就不斷刷新sota的分數,不只是從道理上仍是實踐上都遠優於以前的編碼方式,從論文結果來看有20-30%的差距。ui

關於上述三個網紅模型的具體細節請參考之前的文章:編碼

【NLP】語言模型和遷移學習orm

【NLP】Google BERT詳解ci


下面主要講一下論文的一些結論。論文總共探討了三個問題:get

1. CWRs(上下文詞表徵)編碼了語言的哪些feature?

  • 在各種任務中,BERT>ELMo>GPT,發現「bidirectional」是這類上下文編碼器的必備要素
  • 相比於其餘任務,編碼器們在NER和糾錯任務表現較差 => 沒有捕獲到這方面信息
  • 在得到CWRs編碼後,再針對任務增長MLP(relu)或者LSTM會提高效果
  • 引出了問題:何時直接fine-tune編碼器?何時freeze編碼器,增長task-specific layer?

2. 編碼器中不一樣層的transferability是怎樣變化的?

  • 對於ELMo(LSTM)來講,靠前的層更transferable,靠後的層更task-specific
  • 對於transformer來講,靠中間的層更transferable,可是把各個層加權起來的效果會更好
  • 模型是有trade off的,在任務上表現越好,遷移性越差

3. 預訓練任務會對任務和transferability有怎樣的影響?

  • 雙向語言模型預訓練出來平均效果越好
  • 預訓練任務越接近特定任務,在特定任務的表現越好
  • 預訓練數據越多,表現越好



不知道這樣簡要寫同窗們能不能看懂。。不懂的能夠留言,看到就回復~it