NCE Noise Contrastive Estimation与negative sampling负例采样

  • 背景
  • NCE(Noise Contrastive Estimation)
  • Negative Sampling
  • 参考文献

背景

要解决的问题是, 当label太多, 导致使用传统的softmax 输出结果巨大, 计算不高效, 甚至无法实操的问题.
比如:

  1. word2vec cbow的负例.
  2. 或者其他的类似场合: 在一个context= cic_ici下, 有一大候选集L=(L1,L2,...Lj,...,Ln)L = (L_1, L_2,...L_j, ..., L_n)L=(L1,L2,...Lj,...,Ln)构成的label集合可供选择. 训练样本中正例只有一个(or若干个), 其他的都为负label.

NCE(Noise Contrastive Estimation)

假设共有mmm个样本((li,ci))((l_i, c_i))((li,ci)), 建模:
P(li∣ci)=uθ(li,ci)∑inuθ(lj,ci)=uθ(li,ci)ZiP(l_i|c_i) = \frac{u_{\theta}(l_i, c_i)}{\sum_i^n{u_{\theta}(l_j, c_i)}} = \frac{u_{\theta}(l_i, c_i)}{Z_{i}}P(lici)=inuθ(lj,ci)uθ(li,ci)=Ziuθ(li,ci)
假设负例label从某个分布Q(li)Q(l_i)Q(li)中抽取, 且抽取kkk次. 正例从上面的分布抽取, 则有:
(li,ci)(l_i, c_i)(li,ci) 为真实样本的概率:
P(TrueData∣li,ci)=P(li∣ci)kQ(li)+P(li∣ci)=P(T∣li,ci)P(TrueData | l_i, c_i) = \frac {P(l_i|c_i)}{kQ(l_i)+ P(l_i|c_i)}=P(T | l_i, c_i)P(TrueDatali,ci)=kQ(li)+P(lici)P(lici)=P(Tli,ci)
(li,ci)(l_i, c_i)(li,ci) 为假样本的概率:
P(notTrueData∣li,ci)=kQ(ci)kQ(li)+P(li∣ci)=P(F∣li,ci)P(not\ TrueData| l_i, c_i) = \frac {kQ(c_i)}{kQ(l_i)+ P(l_i|c_i)}=P(F | l_i, c_i)P(notTrueDatali,ci)=kQ(li)+P(lici)kQ(ci)=P(Fli,ci)
最终最大化log似然估计, 损失函数:
L=∑in(logP(T∣li,ci)+k∑i=0,Lx∼Q(li)klogP(F∣Lx,ci))L= \sum_{i}^n(logP(T | l_i, c_i) + k \sum_{i=0, L_x\sim Q(l_i)}^{k}logP(F|L_x, c_i)) L=in(logP(Tli,ci)+ki=0,LxQ(li)klogP(FLx,ci))

Negative Sampling

建模, 作为二分类softmax损失.
P(T∣li,ci)=uθ(li,ci)1+uθ(li,ci)=σ(uθ(li,ci))P(T| l_i, c_i) = \frac {u_{\theta}(l_i, c_i)}{1+ u_{\theta}(l_i, c_i)}=\sigma(u_{\theta}(l_i, c_i))P(Tli,ci)=1+uθ(li,ci)uθ(li,ci)=σ(uθ(li,ci))
P(F∣li,ci)=1−P(T∣li,ci)=11+uθ(li,ci)=1−σ(uθ(li,ci))P(F | l_i, c_i) = 1-P(T | l_i, c_i) = \frac {1}{1+ u_{\theta}(l_i, c_i)}=1-\sigma(u_{\theta}(l_i, c_i))P(Fli,ci)=1P(Tli,ci)=1+uθ(li,ci)1=1σ(uθ(li,ci))
最终最大化log似然估计略(和NCE相同), 负例的采样时, 为全体样本的所有lll不消重的均匀采样,或者每个l采到的概率为:
P(lx)=cnt(lx)0.75∑y∈Lcnt(ly)0.75P(l_x) = \frac{cnt(l_x)^{0.75}}{\sum_{y\in L}{cnt(l_y)^{0.75}}}P(lx)=yLcnt(ly)0.75cnt(lx)0.75.

参考文献

  1. word_embedding的负采样算法,Negative Sampling 模型
  2. negative sampling负采样和nce loss

NCE(Noise Contrastive Estimation) 与negative sampling相关推荐

  1. Noise Contrastive Estimation 前世今生——从 NCE 到 InfoNCE

    文章首发于:https://zhuanlan.zhihu.com/p/334772391 0 前言 作为刚入门自监督学习的小白,在阅读其中 Contrastive Based 方法的论文时,经常会看到 ...

  2. Noise Contrastive Estimation (NCE) 、负采样(NEG)和InfoNCE

    总结一下自己的理解: NCE需要根据频次分布等进行采样,NEG不考虑,InfoNCE是一种通过无监督任务来学习(编码)高维数据的特征表示(representation),而通常采取的无监督策略就是根据 ...

  3. Noise Contrastive Estimation

    熵 统计机器学习中经常遇到熵的概念,在介绍NCE和InfoNCE之前,对熵以及相关的概念做简单的梳理.信息量用于度量不确定性的大小,熵可以看作信息量的期望,香农信息熵的定义:对于随机遍历 X X X, ...

  4. [转] Noise Contrastive Estimation 噪声对比估计 资料

    有个视频讲的不错,mark一下 https://vimeo.com/306156327 转载于:https://www.cnblogs.com/Arborday/p/10903065.html

  5. negative sampling负采样和nce loss

    negative sampling负采样和nce loss 一.Noise contrastive estimation(NCE) 语言模型中,在最后一层往往需要:根据上下文c,在整个语料库V中预测某 ...

  6. 负采样Negative Sampling

    1.噪声对比估计(Noise contrastive estimation) 语言模型中,根据上下文c,在整个语料库V中预测某个单词w的概率,一般采用softmax形式,公式为: NCE:将softm ...

  7. NCE损失(Negative Sampling)

    DSSM的损失函数: 先是1个正例和5个负例过softmax: 最后交叉熵损失函数: Word2Vec的损失函数:输入词的词向量和预测词(或负例)的分界面向量点乘,经过sigmoid,再过交叉熵损失函 ...

  8. 文献阅读:Noise Is Also Useful: Negative Correlation-Steered Latent Contrastive Learning

    文献阅读:Noise Is Also Useful: Negative Correlation-Steered Latent Contrastive Learning Abstract 论文提出了一种 ...

  9. NLP | Word2Vec之基于Negative Sampling的 CBOW 和 skip-gram 模型

    前面介绍了基于Hierarchical Softmax的 skip-gram 和 CBOW 模型,虽然我们使用霍夫曼树代替传统的神经网络,可以提高模型训练的效率.但是如果我们的训练样本里的中心词www ...

最新文章

  1. 个人所得税计算,计算器.
  2. javascript:document对象的常用属性和方法
  3. 【干货】数据分析规范总结!
  4. 菜鸟学C语言(五)之求定积分
  5. excel 2010 group and subtotal function
  6. 如何加入微服务 Apache ServiceComb 社区
  7. 服务器中文档存储在哪,云服务器存储在哪
  8. springcloud gateway介绍
  9. C++ Socket编程实例解析
  10. 如何正确安装 Google Picasa 2 中文版?
  11. 金融科技成为服贸会热议话题:数字化转型中如何保障金融安全
  12. excel公式编辑器_用EXCEL图表制作时钟「内容详细,配有大量动画操作,值得收藏」
  13. 传奇世界私服务器端制作,传奇世界单机版一键端带服务器附带安装教程。(可局域网)...
  14. 无理数的无理数次幂的结果可以是有理数?(以〖√2〗^√2为例)
  15. 谈谈promise,谈谈微任务
  16. 能定位的不仅GPS,还有它!
  17. aarch64-linux-gnu交叉编译器二进制方式安装
  18. 机器学习笔记(二)矩阵和线性代数 例:用Python实现SVD分解进行图片压缩
  19. 让你秒懂古人测算地球周长的原理
  20. 2011年成都信息工程学院第二季极客大挑战逆向第二题Crackwho破文

热门文章

  1. OpenCL Data Types (数据类型)
  2. Mac中IDEA的工具栏隐藏显示的解决方法
  3. 使用POI对word文档进行取读
  4. 无法访问.你可能没有权限使用网络资源
  5. linux之CDN内容分发网络
  6. [转载] Motorola——手机USB驱动程序v4.9.0(用于windows)
  7. 暑假学习计划:week6.4-python爬虫
  8. 温度冷对电脑服务器有影响吗,温度影响到电脑的开关机吗?
  9. Axure8.0教程:动态面板多级联动
  10. 2018新版SpringCloud视频教程分享