NLP(自然語言處理) - Tricks 集合

前言

這是一篇NLP tricks的集合,在自然語言處理的模型中,有很多優化模型效果的技巧,其中很多技巧已經稱爲默認設置,不再文章中額外說明。這裏持續更新一些方法作爲記錄。

Weight Average

Weight Average是一種自動集成方式,指的是在最終進行模型測試前,取前面每個checkpoint模型權重的平均值作爲最終的測試模型。

Adaptive Embedding

Adaptive embedding 是一種自適應詞頻的詞嵌構建方法,通常用於詞表較大的數據集(PTB這種小集就不用了)。這種方法的出發點是詞頻越高的詞往往越容易出現一詞多義的現象,同時其本身的含義也越豐富。
同時伴隨的一般是一組Cut-off值,這個值將詞頻分爲了幾個區間,比如[300000, 60000, 2000]。這時,在不同區間的詞有不一樣大小的詞嵌矩陣。對任意一個詞進行詞嵌操作,會首先根據不同詞頻映射爲不同大小的詞嵌向量,再通過線性映射,統一投影爲規定維度大小。如下圖所示:
在這裏插入圖片描述
高頻詞Thelittle通過高頻詞表轉化爲維度爲d的詞向量,而低頻詞dog轉化爲維度爲dkn1\frac{d}{k^{n-1}}的詞向量,而後再將這些向量映射到d維的向量作爲輸入的token。

Variational Dropout

依據AWD-LSTM給出的解釋,Variational Dropout不同於標準的Dropout,在每層,每次傳遞信息時使用Dropout都會隨機生成一個Dropout mask。Variational Dropout會在第一次執行時就確定一個固定的Dropout mask。這個mask只會在下一個mini-batch時改變。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章