cs224n课程笔记(二)

本文详细介绍了word2vec中的skip-gram模型,重点讨论了如何通过随机梯度下降法优化词向量,以及负采样技术如何提高效率并避免陷入局部最优。通过skip-gram模型,词向量能够捕捉语义和句法信息,使得相似的词在向量空间中接近。文章还探讨了共现矩阵和矩阵操作在word2vec中的作用。
摘要由CSDN通过智能技术生成

复习skip-gram
在这里插入图片描述
如上图公式,给定中心词Vc(就是上图的into),分母是一个恒定的总和。现在的问题是如何得到v向量和u向量,已知一个非常大的矩阵,这个矩阵根据不同的词对应着不同的词向量。这个矩阵包含了所有的中心词向量,从语料库的第一个窗口开始取出第一个词向量,代入上图的式子,然后最大化这个概率式值,然后为了所有这些不同的词取词向量,下一步是计算中心词(into)和其他词的概率。一开始所有数字和向量的初始状态都是随机的,这些小随机数(两个较小的数字之间均匀采样得到的)。如何增加概率值的方法?求这些向量的导数,接着使用随机梯度下降法来求出每个窗口的梯度。因为所有的向量都不相同,那么得到的梯度更新会具有非常稀疏。由于目标函数是非凸的(就是会有局部最优解),如何避免陷入局部最优,有事实表明初始化非常重要,用小随机数初始化尤其对于词向量,使用SGD,当在语料库中移动窗口时,我们会在每个窗口更新损失函数实现梯度更新。这个向量的所有数字元素分布在0附近,大量的梯度更新很快会耗尽内存,所以相比于做稀疏矩阵的运算,只需要更新特定的列就可以了。或者你把它作为一个哈希(散列)来实现,通过键值对来更新,值就是这些向量而键则是字串。在每个窗口都需要遍历一次完整的语料库,对每个窗口都要进行相同的计算,同样需要求巨大的和,并且这个求和需要遍历整个词汇表。当你的词汇表很大的时候,需要做大量的内积运算。

所以我们要对skip-gram做一些小的技巧,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值