word2vec原理概述

来源:互联网 发布:股票历史分时数据获取 编辑:程序博客网 时间:2024/05/21 03:55
  • 最近阅读了Mikolov两篇关于word2vec的论文,结合Goldberg对这两篇论文的解读,作如下概述。
  • 概述
在较早的论文“Efficient Estimation of Word Representations in Vector Space”中,Mikolov讨论了Feedforward Neural Net Language Model (NNLM)、Recurrent Neural Net Language Model (RNNLM)以及论文中描述的两个新模型Continuous Bag-of-Words Model (CBOW)和Continuous Skip-gram Model (Skip-gram). 
 NNLM是最早提出的前馈神经网络模型,模型由输入层(input)、映射层(projection)、隐藏层(hidden)和输出层(output)构成,其中主要的计算瓶颈是映射曾到隐藏层的转换;RNNLM克服了NNLM的部分局限性,比如无需指定语境的长度。RNN没有映射层,只有输入、隐藏、输出三层。至此,神经网络语言模型的性能瓶颈集中在了非线性的隐藏层中。
  为了提升计算效率,作者提出了CBOW和Skip-gram。其中CBWM去除了隐藏层,并让输入层的所有单词共享映射层。从图一左可以看到,CBOW使用围绕目标单词的其他单词(语境)作为输入,在映射层做加权处理后输出目标单词。word2vec原理概述
区别于CBOW根据语境预测目标单词,Skip-gram根据当前单词预测语境,如图一右所示。在“
Distributed Representations of Words and Phrases and their Compositionality”中,作者对Skip-gram做了进一步的论述和扩展。本文详细描述Skip-gram的原理及扩展。
  • 定义及符号
       文本集合(Text):T
单词(word):w,使用长度为d的列向量表示
语境(context):以单词w为中心,向前k个单词,向后k个单词所形成的短语中包含的单词
模型参数:θ
条件概率p(c|w):当w出现时,某一语境c出现的概率
C(w):在文本集合T中,单词w出现过的语境包含的单词的集合
语境中的单词c,使用长度为d的列向量表示 cC(w)
cw均表示单词,但作者认为,即使对于同一个单词,比如apple,它作为普通单词和作为语境中的单词是的向量表示是不同的,因此使用不同的符号来表示语境中的单词和普通单词。
V:文本集合对应的词汇表
D:所有单词w和它的语境C(w)构成的组合的集合
  • Skip-gram
Skip-gram的目标是寻找参数集合θ来最大化如下条件概率的乘积:
word2vec原理概述
等同于下式:
word2vec原理概述
作者使用了逻辑回归的扩展Softmax [4] 对θ进行形式化处理,使得条件概率转化为下式:
word2vec原理概述
其中vc和vw分别是cw的列向量,维度为dC是所有语境中的单词构成的集合,等同于词汇表V。参数θ就是vc和vw中每一维度的具体取值,参数的总数为|C|×|V|×d。将式3代入式2,并于等式两边取对数可得:
word2vec原理概述
作者认为,通过训练得到的单词的向量表示vw能够使得条件概率p(c|w)最大化,则vw是w的好的表示。这里潜在的基本假设是:相似的单词拥有相似的语境。换言之,特定的语境只有确定的语义才能够与之匹配。通过最大化条件概率,使得单词和语境之间的对应关系最大化,进而满足了基本假设:相似的单词拥有相似的语境。而满足条件概率最大化的单词矢量,也就成为了单词语义的合理表示。
从式3可以发现,由于条件概率p(c|w)的分母计算需要很大代价,作者使用hierarchical softmax来近似softmax,并用霍夫曼树来构建hierachical softmax.
  • Negative Sampling
另一种降低计算代价的方法是改变目标函数。对于一个单词、语境组合(w,c),使用p(D=1|w,c)来表示这个组合存在于T中的概率,对应的p(D=0|w,c) = 1-p(D=1|w,c),表示w,c)不在T中的概率。与前文类似,假设集合θ是控制p(D=1|w,c)分布的参数,那么此时的目标是寻找参数集合θ来最大化w,c)存在于T中的概率:
word2vec原理概述
同样,使用softmax来量化p(D=1|w,c;θ):
word2vec原理概述
因此,最终的目标函数为:
word2vec原理概述
为了使目标函数最大化,有一个很简单的方法,即使得vc=vw,且vc·vw=K。当K足够大时,可以得到p(D=1|w,c)=1,从而达到目标函数最大化。因此,为了所有的矢量有相同的值,作者生成了一个数据集D',D'中的所有单词、语境组合都不存在于T中,这些样例被称之为反例(negative examples),而获得反例的采样方法被称之为反例采集(negative-sampling)。引进了反例之后的目标函数演变为:
word2vec原理概述
假设σ(x)=1/(1+e-x),则:
word2vec原理概述
和式4进行比较,可以明显的看到累加嵌套的消除。两者最大的区别是式4根据条件概率p(c|w)进行建模而此处根据联合概率p(D=1|w,c)进行建模


  • 参考文献
  1. Efficient Estimation of Word Representations in Vector Space
  2. Distributed Representations of Words and Phrases and their Compositionality
  3. word2Vec Explained: Deriving Mikolov et al.'s Negative-Sampling Word-Embedding Method
  4. Softmax Regression, www.cnblogs.com/tornadomeet/archive/2013/03/22/2975978.html

转:http://blog.sina.com.cn/s/blog_66a6172c0102v1k9.html
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 二岁宝宝不吃饭怎么办 2岁半宝宝不爱吃饭怎么办 宝宝一岁了不爱吃饭怎么办 一岁多的宝宝不爱吃饭怎么办 小孩不吃饭还吐怎么办 一岁婴儿不吃饭怎么办 写字久了肩膀疼怎么办 6岁儿童不写字怎么办 孩子字写得丑怎么办 6岁儿童怕写字怎么办 高三学生上课困怎么办 高三学生压力大怎么办 数学会做的做错怎么办 脑子很笨反应慢怎么办 好学生考砸了怎么办 孩子写作业范愁怎么办 对粗心的孩子该怎么办 做计算题总出错怎么办 孩子字写得不好怎么办 3岁宝宝数学不好怎么办 十个月的宝宝拉肚子怎么办 刚生的宝宝拉肚子怎么办 我给兔子洗澡了怎么办 刚生的小狗脐带怎么办 宠物兔不想养了怎么办 兔子被打不动了怎么办 ai画板大小会变怎么办 和小孩生肖相冲怎么办 小孩和父母相冲怎么办 4岁宝宝抵抗力差怎么办 5岁儿童抵抗力差怎么办 格力小狗腿歪了怎么办 泰迪后腿骨折了怎么办 狗的后腿骨折了怎么办 跟丢了萨尔怎么办 去当兵欠的网贷怎么办 辅警体能过不了怎么办 蛙跳完后大腿疼怎么办 体能太差在部队怎么办 家里的钥匙丢了怎么办 lol美服更新慢怎么办