To be a person with heart.

NLP词向量-Work2Vect-Skip Gram

skip-gram模型的输入是一个单词wI,它的输出是wI的上下文wO,1,...,wO,C,上下文的窗口大小为C。举个例子,这里有个句子“I drive my car to the store”。我们如果把”car”作为训练输入数据,单词组{“I”, “drive”, “my”, “to”, “the”, “store”}就是输出。所有这些单词,我们会进行one-hot编码。skip-gram模型图如下所示: 

前向传播

接下来我们来看下skip-gram神经网络模型,skip-gram的神经网络模型是从前馈神经网络模型改进而来,说白了就是在前馈神经网络模型的基础上,通过一些技巧使得模型更有效。我们先上图,看一波skip-gram的神经网络模型:

在上图中,输入向量x代表某个单词的one-hot编码,对应的输出向量{y1,…,yC}。输入层与隐藏层之间的权重矩阵W的第i行代表词汇表中第i个单词的权重。接下来重点来了:这个权重矩阵W就是我们需要学习的目标(同W′),因为这个权重矩阵包含了词汇表中所有单词的权重信息。上述模型中,每个输出单词向量也有个N×V维的输出向量W′。最后模型还有N个结点的隐藏层,我们可以发现隐藏层节点hi的输入就是输入层输入的加权求和。因此由于输入向量x是one-hot编码,那么只有向量中的非零元素才能对隐藏层产生输入。因此对于输入向量x其中xk=1并且xk′=0,k≠k′。所以隐藏层的输出只与权重矩阵第k行相关,从数学上证明如下: 




参考

https://blog.csdn.net/u010665216/article/details/78721354?locationNum=7&fps=1

评论

© IComac | Powered by LOFTER