层次softmax (hierarchical softmax)理解
基于word2vec模型学习词的语义向量表示,已在NLP许多任务中都发挥了重要的作用,接下来对词向量学习中的hierarchical softmax的应用做一个分析和学习 CBOW(Continuous Bag-of-Word) One-word context 假设我们vocabulary size 为 V V V ,hidden layer 神经元个数为 N N N ,假设我们只有一个上下文单词,则根据这个上下文单词预测目标词,类似于一个bigram model,如下图所示: 输入是一个one-hot编码的vector(大小为 V V V ),假设只给定一个上下文word,对于输入编码, { x 1 , x 2 , . . . , x v } \{x_1, x_2,...,x_v\} { x 1 , x 2 , . . . , x v } ,只有一个为1,其它都为0。如上图所示,第一层的参数权重 W V ∗ N W_{V*N} W V ∗ N , W W W 中的每一行是一个 N N N 维度的向量,代表的就是单词 w w w 的向量 v w v_w v w 表示。 从hidden layer到output layer,也有一个不同的权重矩阵 W ′ = { w i j ′ } W^{'}=\{w_{ij}^{'}\} W ′ = { w i j ′ }