fasttext模型在大量類別上能夠快速訓練的原因、爲了提升fasttext模型的評估指標做了哪些優化

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度學習實戰(不定時更新)


fasttext模型在大量類別上能夠快速訓練的原因、爲了提升fasttext模型的評估指標做了哪些優化 

簡述BERT模型的訓練過程、BERT模型在推斷過程中做了哪些性能優化、BERT模型在訓練過程中做了哪些性能優化 

在某個模型訓練過程中遇到的難題及其解決辦法、對自動超參數調優方法的理解、模型部署時如何實現熱更新、說一說最近看過的一篇論文

Softmax反向傳播推導、Bert的模型架構


問題:fasttext模型在大量類別上能夠快速訓練的原因

問題背景

fasttext模型因其簡單的結構和在大規模文本處理上的高性能而聞名於世,而考覈該模型在哪些部分上的優化得以增強性能幾乎成爲fasttext面試中的必考問題。

解題思路

第一步: 找出核心知識點並解析

  • fasttext模型:
    • fasttext模型是結構簡單,僅由Embedding層,GAP層和輸出層組成,適用於大規模文本分類的高效選擇之一。使用n-gram特徵,層次softmax是fasttext模型的兩大顯著特徵。

  • fasttext模型高效訓練的原因:
    • 1,模型結構簡單,參數量相比大型模型(如BERT)較少,即提高訓練效率又提高推斷效率。
    • 2,當業務場景中存在大量目標類別時,fasttext的輸出層使用層次softmax提升訓練效率。

  • 層次softmax詳解:
    • 1,什麼是層次softmax: 是一種使用最優二叉樹結構替代網絡原有輸出層(全連接層)的方式。
    • 2,提升訓練效率的內在原理: 在訓練階段,由於二叉樹是根據預先統計的每個標籤數量的佔比構造的哈夫曼樹(最優二叉樹),根據哈夫曼樹的性質,使得佔比最大的標籤節點路徑最短,又因爲路徑中的節點代表參數量,也就意味着這種方式需要更新的參數最少,因此提升訓練速度。
    • 3,該方式對模型推斷(預測)是否有影響: 在預測階段,相比全連接層速度略有提升,因爲運算參數減少了1/N,N是標籤總數。
    • 4,是否存在一定弊端: 因爲最優二叉樹的節點中存儲參數,而樣本數量最多的標籤對應的參數又最少,可能出現在某些類別上欠擬合,影響模型準確率。因此,若非存在大量目標類別產生的訓練低效,首選具有全連接層的輸出層。

第二步: 整合核心知識點形成答案

答案

fasttext的輸出層使用層次softmax提升在大量類別上的訓練效率。


問題:爲了提升fasttext模型的評估指標做了哪些優化

解題思路

第一步: 找出核心知識點並解析

  • fasttext模型:
    • fasttext模型是結構簡單,僅由Embedding層,GAP層和輸出層組成,適用於大規模文本分類的高效選擇之一。使用n-gram特徵,層次softmax是fasttext模型的兩大顯著特徵。

  • fasttext模型如何提升評估指標:
    • 1,遷移詞向量,使模型初始化的參數爲遷移參數。
    • 2,對數據進行增強,對於中文文本數據,一般是選擇回譯增強法,擴充正負樣本的數量。
    • 3,根據文本分類目標和業務要求修改損失函數(這種方法實現難度較大,一般不採用)。

第二步: 整合核心知識點形成答案

答案

在項目中,我們首先使模型初始化參數爲遷移參數,這樣我們的模型訓練時,起始的驗證準確率由原來的50%提升至63%,最終準確率也提升了大概7%。而且我們還對正負樣本數據分別進行回譯增強,在原有的數據集基礎上,我們分別上採樣了正負樣本各1000條,有效擴展了數據特徵維度,將驗證準確率由之前的87%提升至90%。


fasttext模型在⼤量類別上能夠快速訓練的原因

1:fasttext模型是結構簡單,僅由Embedding層,GAP層和輸出層組成,適⽤於⼤規模⽂本分類
的⾼效選擇之⼀。使⽤n-gram特徵,層次softmax是fasttext模型的兩⼤顯著特徵。
2: 模型結構簡單,參數量相⽐⼤型模型(如BERT)較少,即提⾼訓練效率⼜提⾼推斷效率。
3: 當業務場景中存在⼤量⽬標類別時,fasttext的輸出層使⽤層次softmax提升訓練效率。
4: 關於層次softmax
4.1: 層次softmax是⼀種使⽤最優⼆叉樹結構替代⽹絡原有輸出層(全連接層)的⽅式。
4.2: 提升訓練效率的內在原理: 在訓練階段,由於⼆叉樹是根據預先統計的每個標籤數量的
佔⽐構造的哈夫曼樹(最優⼆叉樹),根據哈夫曼樹的性質,使得佔⽐最⼤的標籤節點路徑
最短,⼜因爲路徑中的節點代表參數量,也就意味着這種⽅式需要更新的參數最少,因此提
升訓練速度。
4.3: 該⽅式對模型推斷(預測)是否有影響: 在預測階段,相⽐全連接層速度略有提升,因爲運
算參數減少了1/N,N是標籤總數。
4.4: 是否存在⼀定弊端: 因爲最優⼆叉樹的節點中存儲參數,⽽樣本數量最多的標籤對應的
參數⼜最少,可能出現在某些類別上⽋擬合,影響模型準確率。因此,若⾮存在⼤量⽬標類
別產⽣的訓練低效,⾸選具有全連接層的輸出層。

爲了提升fasttext模型的評估指標都做了哪些優化

1: 遷移詞向量,使模型初始化的參數爲遷移參數。
2: 對數據進⾏增強,對於中⽂⽂本數據,⼀般是選擇回譯增強法,擴充正負樣本的數量。
3: 根據⽂本分類⽬標和業務要求修改損失函數(這種⽅法實現難度較⼤,⼀般不採⽤) 。
在項⽬中,我們⾸先使模型初始化參數爲遷移參數,這樣我們的模型訓練時,起始的驗證準確率
由原來的50%提升⾄63%,最終準確率也提升了⼤概7%。⽽且我們還對正負樣本數據分別進⾏回
譯增強,在原有的數據集基礎上,我們分別上採樣了正負樣本各1000條,有效擴展了數據特徵維
度,將驗證準確率由之前的87%提升⾄90%。

 

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