天天看點

7、文本分類算法

  1. textCNN:前面介紹過,這裡不做贅述
  2. TextRNN:前面介紹過,也不做贅述
  3. Attention:就是在輸出之後加了一層attention,感覺大家都已經很了解了,但還是簡單說一下,attention就是輸出層的s(t-1)與前面所有的隐含層做乘積再softmax,得到一個權重分布的向量,再與所有隐含層相乘疊加得到c(t)(權重矩陣的計算有多種方法,點乘是一種,下面代碼中的是相加),然後再根據c(t)、s(t-1)得到一個結果,再全連接配接。
    7、文本分類算法
  4. bert:特征提取器是Transformer,多頭提取了多個語義子空間的資訊,self-attention操作類似于假設所有字的之間的距離是1,上下文資訊提取更加完善,且可以并行操作;前饋網絡之前增加了殘差網絡和LN操作,對這部分輸入資訊進行處理且加快收斂。輸入的時候其中一個輸入是語句,把語句的字首加上辨別符,這個辨別符對應的輸出向量作為分類的向量
  5. Albert:說到bert就簡略寫一下albert,這篇文章會另寫一篇更加細緻,這裡隻做個大概介紹:
    1. 詞向量矩陣由V*H變成V*E +E*H,E遠小于H時,參數量明顯降低
    2. 參數共享:albert所有層之間的參數共享,結果表明,albert層之間的輸入與輸出之間的L2距離或者cosin距離明顯更加平穩,也表明albert的權重共享有利于網絡的穩定
    3. 兩個句子順序預測:正樣本構造不變,負樣本的構造增加了兩個連續句子但順序相反,這樣可以使網絡學習到更多的資訊,因為之前的正負樣本相當于一個二分類任務,隻需要學習到這兩個句子是不是一個主題就行,而忽略了順序,新的負樣本構造可以不止關注主題是否相同,還會關注連貫性。損失的計算
    4. 訓練了很久發現沒有過拟合就把dropout層給去除了,大概覺得模型會一直學習到新的東西吧
  6. FastText:是以字向量和詞向量疊加,再經過全連接配接得到分類結果。優化政策
    1. 利用詞内n-gram資訊(subword n-gram information)比如是abcd,2-gram,則輸入的向量是a+b+c+d+ab+bc+cd,是以不僅要訓練字向量(V*100),還要訓練字組合的新詞的向量(W*100),n-gram的詞比較多,采用hash-trick映射到一個桶裡面,降低詞的個數。
    2. 使用階層化softmax進行訓練,可以有效地降低計算量

繼續閱讀