NLP深度学习 —— CS224学习笔记3
来源:互联网 发布:喜马拉雅山攀登 知乎 编辑:程序博客网 时间:2024/05/29 09:17
四、3、 Skip-Gram 模型
另一种方法是得到中间的词,然后由模型来预测或生成周边的词。这种模型被成为Skip-Gram模型。
设置与此前的CBOW大致相同,只是调换了x和y的顺序。
具体可以分解成6步:
1)生成one hot 向量 x
2)得到语境的嵌入词向量
3)将
4)生成2m得分向量使用
5)将每个得分转换成概率y=softmax(u)
6)期望生成的概率与真实概率相符
如同CBOW,我们需要生成一个目标函数来评估模型。一个重要的不同点是我们使用简单贝叶斯假设来分解概率,即高度条件独立假设,给定词与周边词完全无关。
最小化
有了这个目标函数,可以计算未知参数的梯度,然后通过随机梯度下降在每次迭代时更新。
4、负抽样
目标函数中对于|V|的计算量是非常巨大的。
任何更新或对目标函数的评估需要O(|V|)时间,所以我们考虑是否可用近似的方法来降低成本。
对每步训练,我们仅采几个负样本,而不遍历所有词汇。
我们从干扰分布(Pn(w))中取样,该概率与词频排序相配。
我们需要更新目标函数,梯度,更新规则。
虽然负取样基于Skip-Gram模型,但事实优化不同目标。
考虑一组词和语境(w,c),如果它来自语料集概率记作P(D=1|w,c),否则P(D=0|w,c).
首先用sigmoid函数为第一种情况建模
现在我们构建一个新的目标函数并试图最大化相符的概率。
我们采用简单最大似然的方法,这里我们使用theta作为参数,在我么例子中应是V和U。
新的目标函数为
上述取样自Pn(w)。有很多关于Pn(w)的讨论,但最有效的是在Unigram模型中设置成3/4
可以看出对常见词的提升较少而对罕见词提升概率较大。
- NLP深度学习 —— CS224学习笔记3
- NLP深度学习 —— CS224学习笔记 1
- NLP深度学习 —— CS224学习笔记2
- NLP深度学习 —— CS224学习笔记4
- NLP深度学习 —— CS224学习笔记5
- NLP深度学习 —— CS224学习笔记6
- NLP深度学习 —— CS224学习笔记7
- NLP深度学习 —— CS224学习笔记8
- NLP深度学习 —— CS224学习笔记9
- NLP深度学习 —— CS224学习笔记10
- NLP深度学习 —— CS224学习笔记12
- CS224 LectureNote4学习笔记
- NLP深度学习 —— CS 224学习笔记 11
- CS224 LectureNotes2的学习笔记
- NLP深度学习资源
- 深度学习笔记——理论与推导之Structured Learning【NLP】(十二)
- Stanford深度学习与自然语言处理讲义下载(CS224)
- 深度学习-->NLP-->语言模型
- Oracle10g RAC (OCFS2)开启关闭及日常检查
- HDU 6162 Ch’s gift(树链剖分+线段树)
- 关注民生民情——华北水利水电大学“情艺”国情社情调查团
- 回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议
- Class.forName()用法详解
- NLP深度学习 —— CS224学习笔记3
- 状态码收集
- JSONP实现跨域请求JSON数据
- 【tomcat】tomcat常见操作记录
- 日常(抗日神剧_扫雷)
- 无限轮播 RollViewPager 的简单使用
- fragment加载
- codeforces840C On the Bench -- DP
- python3.4 获取cookie后继续访问其他页面