论文笔记:word2vec Parameter Learning Explained

这篇博客详细解析了word2vec参数学习的过程,包括CBOW和Skip-Gram模型的参数计算,以及Hierarchical Softmax和Negative Sampling两种优化方法。重点讨论了CBOW模型的单个输入和多输入情况,Skip-Gram模型的联合概率优化目标,以及这两种模型在实际应用中的计算优化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文学习:word2vec Parameter Learning Explained

这篇论文详细的介绍了 word2vec 参数的计算更新步骤,就像作者在摘要里所写的一样,Mikolov 的论文简化了公式的推导,所以文章显得比较晦涩。整篇论文可以分为三个部分吧,分别是:

  • CBOW模型以及Skip-Gram模型在单输入以及多输入的情况下参数更新过程(这是没有使用优化计算技巧的情况)
  • 两种优化计算的方式:Hierarchical Softmax 以及 Native Sampling 情况下参数的更新过程
  • BP算法参数的更新过程(这一部分在附录里,算是补充内容,姑且算作第三部分吧)

其中,因为很多方式的计算过程是一样的,所以论文着重点在第一部分,准确说是 CBOW模型的在单个输入的情况下参数的更新过程。下面简单介绍我在学习论文时候的一些小问题,当然,具体的计算过程还是要看原论文。

第一部分 CBOW模型以及Skip-Gram模型的参数计算过程

我觉得注意点有:

  • 首先要明确的是几个参数的含义,像 VVV 表示的是我们词汇表的长度, NNN 是最终训练得到的词向量的维数,也就是对于每个单词(字),对应的是一个 (1, N) 或者说是 (N, 1) 的词向量。

  • 第二点要注意这里计算过程中使用的向量都是列向量的形式,例如输入是一个 (V, 1) 的 one-hot 编码的列向量,在 input vector 和 output vector 之间的中间结果也是一个 (N, 1)的列向量,可能是我刚开始学习论文的原因,总觉得这样计算过程不算很直观,这样的结果是公式中出现了很多转置符号来保证结果的尺寸,不过,要理解计算过程也不难,例如 在得到中间变量 hhh 的计算中: h=WT.xh = WT.xh=WT.x 这里结合每一部分的意义来理解,也就是从矩阵 WWW (也就是 input vector 矩阵)中拿出来要训练的那个词向量。第二个过程也是类的意义,其实理解一下矩阵乘法就好。

  • 第三点是参数的更新过程,注意这里的损失函数的定义方式,在这里,对于输入的一个样本,输出的是一个长度为 VVV 的向量,表示的是对于这个输入的样本属于某个单词的度量,例如 V=(1.2, 3.4, 0.3, −2.3...)V = (1.2,\ 3.4,\ 0.3,\ -2.3...)V=(1.2, 3.4, 0.3, 2.3...),当然为了更直观,这些数据会通过softmax方式处理为一个概率分布,因此,将目标定为使得正确的分类概率最大即可,也就是论文中的:
    max(wO∣wI)=max yj∗ max(w_{O}|w_{I})= max \ y_{j^{*}} max(wOwI)=max yj
    这里的 yj∗y_{j^{*}}yj 也就是输入数据正确对应的分类(具体来说,比如在“天气好”,如果分成“天气”和“好”两个词语的话,在CBOW中可能是使用“天气”来预测“好”,那么输入是“天气”,那么经

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值