当前位置:网站首页>word2vec原理
word2vec原理
2022-08-06 16:46:00 【ithicker】
word2vec
主线
前言
Efficient Estimation of Word Representations in
Vector Space
Distributed Representations of Words and Phrases and their Compositionality
引出:
这篇论文详细地推导和解释了word2vec模型的参数更新公式,包括:CBOW(continuous bag-of-word)模型和SG(skip-gram)模型,以及两种参数优化技术:hierarchical softmax 和 negative sampling.
基本原理
引1:
如上图所示:
input layer输入的X是单词的one-hot representation(考虑一个词表V,里面的每一个词 w_{i} 都有一个编号i∈{1,…,|V|},那么词 w_{i} 的one-hot表示就是一个维度为|V|的向量,其中第i个元素值非零,其余元素全为0,例如: w_2=[0,1,0,…,0]^T );
输入层到隐藏层之间有一个权重矩阵W,隐藏层得到的值是由输入X乘上权重矩阵得到的(细心的人会发现,0-1向量乘上一个矩阵,就相当于选择了权重矩阵的某一行,如图:输入的向量X是[0,0,1,0,0,0],W的转置乘上X就相当于从矩阵中选择第3行[2,1,3]作为隐藏层的值);
隐藏层到输出层也有一个权重矩阵W’,因此,输出层向量y的每一个值,其实就是隐藏层的向量点乘权重向量W’的每一列,比如输出层的第一个数7,就是向量[2,1,3]和列向量[1,2,1]点乘之后的结果;
最终的输出需要经过softmax函数,将输出向量中的每一个元素归一化到0-1之间的概率,概率最大的,就是预测的词。
对比可以发现,和simple CBOW不同之处在于,输入由1个词变成了C个词,每个输入 X_{ik} 到达隐藏层都会经过相同的权重矩阵W,隐藏层h的值变成了多个词乘上权重矩阵之后加和求平均值。
如上图所示,Skip-gram model是通过输入一个词去预测多个词的概率。输入层到隐藏层的原理和simple CBOW一样,不同的是隐藏层到输出层,损失函数变成了C个词损失函数的总和,权重矩阵W’还是共享的。
一般神经网络语言模型在预测的时候,输出的是预测目标词的概率,也就是说我每一次预测都要基于全部的数据集进行计算,这无疑会带来很大的时间开销。不同于其他神经网络,Word2Vec提出两种加快训练速度的方式,一种是Hierarchical softmax,另一种是Negative Sampling。
引2
那么霍夫曼树有什么好处呢?一般得到霍夫曼树后我们会对叶子节点进行霍夫曼编码,由于权重高的叶子节点越靠近根节点,而权重低的叶子节点会远离根节点,这样我们的高权重节点编码值较短,而低权重值编码值较长。这保证的树的带权路径最短,也符合我们的信息论,即我们希望越常用的词拥有更短的编码。如何编码呢?一般对于一个霍夫曼树的节点(根节点除外),可以约定左子树编码为0,右子树编码为1。如上图,则可以得到c的编码是00。
在word2vec中,约定编码方式和上面的例子相反,即约定左子树编码为1,右子树编码为0,同时约定左子树的权重不小于右子树的权重。
引3
既然名字叫Negative Sampling(负采样),那么肯定使用了采样的方法。采样的方法有很多种,比如之前讲到的大名鼎鼎的MCMC。我们这里的Negative Sampling采样方法并没有MCMC那么复杂。
比如我们有一个训练样本,中心词是 w w w,它周围上下文共有 2 c 2c 2c个词,记为 c o n t e x t ( w ) context(w) context(w)。由于这个中心词 w w w,的确和 c o n t e x t ( w ) context(w) context(w)相关存在,因此它是一个真实的正例。通过Negative Sampling采样,我们得到neg个和 w w w不同的中心词 w i , i = 1 , 2 , . . n e g w_i, i=1,2,..neg wi,i=1,2,..neg,这样 c o n t e x t ( w ) context(w) context(w)和 w i w_i wi就组成了neg个并不真实存在的负例。利用这一个正例和neg个负例,我们进行二元逻辑回归,得到负采样对应每个词 w i w_i wi对应的模型参数 θ i \theta_{i} θi,和每个词的词向量。
引4
在负采样中,对于给定的词w,如何生成它的负采样集合NEG(w)呢?已知一个词w,它的上下文是context(w),那么词w就是一个正例,其他词就是一个负例。但是负例样本太多了,我们怎么去选取呢?在语料库C中,各个词出现的频率是不一样的,我们采样的时候要求高频词选中的概率较大,而低频词选中的概率较小。这就是一个带权采样的问题。设词典D中的每一个词w对应线段的一个长度:
优缺点
引1:
顾名思义,Word2Vec就是把单词转换成向量。它本质上是一种单词聚类的方法,是实现单词语义推测、句子情感分析等目的一种手段。
Word2Vec 的基本思想是把自然语言中的每一个词,表示成一个统一意义统一维度的短向量。
word2vec适合的情况就是对于一个序列的数据,在序列局部数据间存在着很强的关联。典型的就是文本的序列了,邻近的词之间关联很强,甚至可以通过一个词的上下文大概预测出中间那个词是什么。
选取训练后的单词向量的其中任意3个维度,放到坐标系中展示,会发现语义相似的词汇在空间坐标中的位置会十分接近,而语义无关的词之间则相距较远。这种性质可以用来对单词和句子进行更加泛化的分析。
引用文献
1.Mikolov T , Chen K , Corrado G , et al. Efficient Estimation of Word Representations in Vector Space[J]. Computer ence, 2013.
2.Mikolov, T., Sutskever, I., Chen, K., Corrado, G., et al. (2013) Distributed Representations of Words and Phrases and Their Compo-sitionality. Advances in Neural Information Processing Systems, 3111-3119.
边栏推荐
- The dedecms program GBK code picks up the wrong plug-in and submits Chinese to be filtered
- JVM:(三)运行时数据区
- 阿里首本凤凰架构竟要付费,构建大型分布式系统的指南这么宝贵吗
- office2019永久密钥激活码最新_office2019激活密钥码终身激活(100%激活)
- win7 printer sharing settings (detailed graphic steps)
- C专家编程 第7章 对内存的思考 7.1 Intel 80x86系列
- 百盛新纪元代理2C快充方案(5)
- 离线安装Pyenv
- dedecms程序GBK编码挑错插件提交中文被过滤
- win7启动项设置在哪 win7关闭开机启动项怎么设置
猜你喜欢

win7网络出现感叹号一步搞定 win7网络黄色感叹号

Dreamweaving document for the manuscript to be reviewed causes the tag tag document to disappear bug fix

bin文件用什么软件打开 如何打开bin文件格式

How to turn on the wireless screen mirroring function in win7

cdr是什么软件 cdr格式用什么软件打开

FP6601AP5 CPC-16L Type-A HVDCP控制器与插入/输出自动检测

dedecms证明手机站下一篇变上一篇而且还出错Request Error!

Will win7 upgrade win10 data loss?

Windows 7 can't enter the system and security model Windows 7 system crash into safe mode

怎么解除谷歌浏览器的防火墙 如何关闭防火墙对chrome浏览器的拦截
随机推荐
数字化转型要避免“唯技术论”!
Dedecms dream weaving system prompts 500 error solution
笔记本win11怎么退回win10(适用联想、华为、小米、戴尔)
win7激活密钥大全2021 win7最新激活密钥
bluetooth peripheral device can not find the driver how to do bluetooth peripheral device no driver
2022显卡价格什么时候能降下来 显卡价格恢复原价时间预测
ECCV 2022 | 清华&腾讯AI Lab提出REALY: 重新思考3D人脸重建的评估方法
Windows 7 can't enter the system and security model Windows 7 system crash into safe mode
win7 suffix name is hidden how to open win7 file how to display suffix name
Introducing [GO]go-micro
windows7激活产品密钥最新免费2022大全(含旗舰版、专业版、家庭版、通用版)
Windows 7 screen shortcuts is Windows 7 computer screen shortcuts
Win7 Ultimate Edition forcibly delete the power-on password Win7 power-on password forgot how to remove
ip地址配置错误网络无法连接怎么解决win7
SourceTree安装与使用
JVM: (2) Class Loading Subsystem
[Shader realizes the expansion effect of FishEye fisheye picture_Shader effect 16]
dedecms搜索结果页每页显示条数不生效
win7 printer sharing settings (detailed graphic steps)
JVM: (4) Program counter in runtime data area