1. 程式人生 > >word2Vec之Hierarchical Softmax理解

word2Vec之Hierarchical Softmax理解

Hierarchical Softmax理解

  word2vec是2013年google提出的一個獲取詞向量的演算法包,其中Hierarchical Softmax模型是推導的一個重要步驟,所以本文對其進行梳理,也加深自己的理解。

1、Skip-Gram模型

1.1 Skip-Gram網路結構

  word2vec中有兩個較為重要的網路模型:CBOW,Skip-Gram。其建模方式又有:Negative Sampling(負取樣)、Hierarchical Softmax。在這裡我們選擇Skip-Gram模型,講解Hierarchical Softmax。

          這裡寫圖片描述


                          skip-gram 網路示意圖
從圖中可以看出skip-gram中共包含三部分:輸入層、隱藏層、輸出層。
輸入層:只含當前樣本中心詞的詞向量,v(w)ϵRm
隱藏層:其實在Skip-Gram中這個層是多餘的,用公式表達為v(w)v(w)
輸出層:和CBOW類似,輸出層也是一顆haffman樹,如果計算梯度的時候需要做Hierarchical Softmax。

1.2 梯度下降

Hierarchical Softmax是word2vec中用到的一項關鍵技術,在計算之前,根據需要首先得定義一些符號:
1、

pw表示從根節點到詞語w節點路徑
2、lw表示pw途經節點個數
3、p1w,p2w,p3w...plww,其中p1w表示根節點,plww表示詞語w所對應的節點。
4、d2w,d3w...dlww,代表詞語w所對應的編碼。其中djw代表節點pjw所對應的編碼(根節點不對應任何編碼)。由於是二叉樹,所以djw的取值範圍為0和1。
5、θ1w,θ2w,θ3w...θlw1w表示pw路徑中非葉子節點所對應的詞向量。θlww表示葉子節點節點所對應的詞向量,即是詞語w所對應的詞向量。
有了這些標記後,藉助網上的一個經典例子講解Hierarchical Softmax。
這裡寫圖片描述
上圖中詞語w="",節點號:38,23,9,4,3構成了pw, lw的值為5,θ1w,θ2w,θ3w,θ4w分別對應路徑中非葉子節點的詞向量。Θ5w表示根節點的詞向量。