http://zh-v2.d2l.ai/chapter_natural-language-processing-pretraining/word2vec.html
练习里面的第一问梯度的计算复杂度该怎么求,是指training complexity吗,每一个梯度的计算复杂度是
m*T
吗
由于连续词袋模型中存在多个上下文词,因此在计算条件概率时对这些上下文词向量进行平均。 这是依据什么可以做平均处理的?
原始预料中,同一中心词可能存在不同的上下文词,此时其词向量是如何计算的呢?
请问公式14.1.5中 第一个连乘号 从1-T,这T个条件概率连乘的实际意义是代表什么意思?这一步没看懂。
我的理解是:
把一个T个单词组成的序列,拆成T个样本点组成的小数据集,每个样本点是(一个中心词,2m个上下文词),然后那个连乘的概率指的是这T个样本点的联合概率,因为再假设每个样本点是相互独立,所以就可以再写成连乘形式
不知道我上面的理解是否正确?
就14.1.8 式而言,感觉是|V|。虽然分子分母均存在循环,但可以复用的
great question。除外我还有若干疑问:
2.作者计算条件概率时直接使用softmax(dot product),可以这样直接使用吗?相等吗
3. 文中说到“跳元模型参数就是二个向量”,那么是不是对应于类似nn.Parameter呢?
4.“当使用随机梯度下降来最小化损失时,在每次迭代中可以随机抽样一个较短的子序列来计算该子序列的(随机)梯度。。” ,为什么是要抽样一个较短子序列而不是原序列?
5.从依赖性角度看,CBOW是不是比skip-gram效果更好,毕竟多对一导致条件信息量大
6.习题第三问中,余弦相似与点积关系感觉不简单直接比较,因为cosQ=(a•b) / (||a|| ||b||), 给定x=[1,2,1,1,1],y=[1,2,2,2,1],z=[0,0,7,8,9], 结果是(x,y) 更相似但不如(x,z) 点积大
对于所有wo一个中心词wc的复杂度是|V|,对于所有wo所有中心词wc的复杂度就要|V|平方了
对于整个词典而言可以这样近似。但此时应该说是基于整个epoch下的计算量吧,不能说是“每个梯度”吧,
one more question:
目前学了几个word vector表示方式:one- hotting,Embedding layer in Seq2seq,word2vec。这几个应该是同样目的,但逐个更优的实现?