CS224d L3 高级的词向量表示

2018-07-12  本文已影响0人  gb_QA_log

title: CS224d L3 高级的词向量表示
date: 2017-03-27 19:43:56
categories: NLP/CS224d
tags: [CS224d,NLP]



Advanced word vector representations: language models, softmax, single layer networks

J(\theta)=\frac{1}{T}\sum_{t=1}^{T}\sum_{-c<=j<=c,j\neq0}logP(w_{t+j}|w_t)
P(w_0|w_t)=\frac{e^{v_{w_0}^{'T}v_{w_i}}}{\sum_{w=1}^{W}e^{v_{w}^{'T}v_{w_i}}}

BGD/SGD/MBGD

BGD 批量梯度下降(Batch Gradient Descent)

更新每一参数时都使用所有的样本来进行更新

\theta^{new}=\theta^{old}-\alpha\frac{\partial}{\partial\theta^{old}}J(\theta)

image.png

SGD 随机梯度下降(Stochastic Gradient Descent)

SGD是通过每个样本来迭代更新一次,如果样本量很大的情况(例如几十万),那么可能只用其中几万条或者几千条的样本,就已经将theta迭代到最优解了.

对比上面的批量梯度下降,迭代一次需要用到十几万训练样本,一次迭代不可能最优,如果迭代10次的话就需要遍历训练样本10次。

但是,SGD伴随的一个问题是噪音较BGD要多,使得SGD并不是每次迭代都向着整体最优化方向。

\theta^{new}=\theta^{old}-\alpha\frac{\partial}{\partial\theta^{old}}J_t(\theta)

image.png

小批量梯度下降法MBGD(Mini-batch Gradient Descent)

BGD和SGD的折衷

CBOW/Skip-gram

image.png

Continuous Bag-of-Words Model (CBOW)

image.png
  1. 输入单词矩阵V,有one-hot的X标明。这样v_i=VX_i
  2. v_{avg}=\frac{v_{c-m}+v_{c-m+1}+...+v_{c+m}}{2m}求出输入层的平均值
  3. Generate a score vector z=Uv_{avg},和output和input average相乘
  4. 然后用softmax方法,y_{'}=softmax(z),得到的y_{'}也是one hot的向量

Continuous Skip-gram Model (Skip-gram)

该模型是用center word预测the surrounding words。


image.png
  1. 输入中心词x为one hot向量
  2. 和CBOW一样,单词v_c=VX
  3. 因为只有一个,求平均是v_{avg}=v_c
  4. 利用u=Uv_c生成2m个单词u_{c-m},u_{c-m+1}..u_{c+m}的score
  5. Turn each of the scores into probabilities, y = softmax (u)
  6. y_{c-m},y_{c-m+1}..y_{c+m}为真实y,而y^{'}_{c-m},y^{'}_{c-m+1}..y^{'}_{c+m}为求出来的
    image.png

Negative Sampling

Appendix

上一篇 下一篇

猜你喜欢

热点阅读