前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >[DeeplearningAI笔记]序列模型2.8 GloVe词向量

[DeeplearningAI笔记]序列模型2.8 GloVe词向量

作者头像
演化计算与人工智能
发布2020-08-14 15:22:06
发布2020-08-14 15:22:06
4910
举报

2.8 GloVe word vectors GloVe 词向量

“Pennington J, Socher R, Manning C. Glove: Global Vectors for Word Representation[C]// Conference on Empirical Methods in Natural Language Processing. 2014:1532-1543.

  • 示例 I want a glass of orange juice to go along with my cereal
  • 定义
X_{ij}

表示单词 i 在单词 j 上下文中出现的次数。其中 i 相当于 Context,而 j 相当于 Target.

  • 当定义目标单词出现在上下文单词的左或右十个单词数时,此时 i 和 j 是一种对称的关系。即有
X_{ij}=X_{ji}
  • 因此根据此定义,得知
X_{ij}

就是一个能够获取单词 i 和单词 j 出现位置相近时或彼此接近是的频率的计数器

  • 目的 Glove 算法的目的就是优化
  • 此式中
\theta^{T}_{i}e_{j}

负采样[2]中的式子

\theta_{t}^{T}e_c

意义相同

  • 为了解决
X_{ij}

可能为 0 的问题(因为

log0

)的值为负无穷,引进了

f(X_{ij})

使得当

X_{ij}=0时,f(X_{ij})=0

,并且会使用规定

0log0=0

.

  • 并且 ,引入的
f(X_{ij})

可以解决有些词语例如 this, is, of, a... 等词语出现频率过高而有些名词出现频率过低导致的不平衡问题--即

f(X_{ij})

相当于一个加权因子,对于不常用的词汇也能给予大量有意义的运算,而对于出现频率过高的词汇更大而不至于过分的权重。对于此函数的具体细节,参考标题下的参考论文。

  • Note
\theta和e

现在是完全对称的,因此一种训练参数的方法是 一致的初始化

\theta

和 e 然后使用梯度下降来最小化输出,当每个词都处理完了之后取平均值。

e_w^{final}=\frac{e_{w}+\theta_{w}}{2}
词嵌入向量解释
  • 因为即使每行表示单词向量独特的特征,但是对于学习到的 词嵌入矩阵 其每行表示的意义不一定是 正交的 ,而是多行特征的线性表征。例如定义的第一行表示 Gender,第二行表示 Royal,第三行表示 Age,第四行表示 Food,但是实际学到的是这些特征的 使用平行四边形方法得到的线性表出 所以单独理解学到的 词嵌入矩阵 是十分困难的。

参考资料

[1]吴恩达老师课程原地址: https://mooc.study.163.com/smartSpec/detail/1001319001.htm

[2]负采样: https://blog.csdn.net/u013555719/article/details/82190917

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrawSky 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.8 GloVe word vectors GloVe 词向量
    • 词嵌入向量解释
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档