从概念上了解区分nce 和info nce

  • 为什么有nce
  • nce 方案: 不算
  • 为什么有infonce
    • 所以infonce 和nce 啥关系
    • 参考文章

我这两天都在看infonce 的推导,我表示很头大。今天感觉看明白了,写出来大家讨论一下。

为什么有nce

为了解决一个问题:多分类问题,尤其是类别相当大的时候msoftmax 函数中分母计算量大的问题。
softmax:
类别上百万的时候,咋算

nce 方案: 不算

咋算? 不算,转化一下,二分类好算吧,用二分类来算。
怎么转化 :如上我们要求的是p(w|c) 分布,nce 方案是,我们转化为一个二分类问题。正样本是p(w,c) 中的,负样本是噪声分布q(w)中的,那么根据后验概率,我们可以求
p(label=1 |w,c),p(label=0|w,c) ,怎么求的看下图,kd 代表 p(w,c)中获取的kd 个正样本,kn 代表q(w) 中kn个负样本。

那么转化为的二分问题就是求D变量的二分类函数, 就可以区p(w,c) 和 q(w) 。 即是 Noise Contrastive Estimation 噪声对比估计。用相求的分布(正样本分布)和噪声分布做对比。
ps: 关于负样本数量的问题,有一些推导,记住一点就好,负样本愈多,模型越精准。其实我理解就是负样本分布越正确(不一定准确)

为什么有infonce

nce 是将数据分布求解转化为了二分类问题,而infonce 是将数据分布,转化成了多分类问题,但是比softmax 下面的全分类要少,(全分类我自己创的名词,大家理解就好)
infonce 取一个正样本, 负样本会采样N-1个,组成一个N分类问题,优化N类logistic 函数。
以上写的太简单了,但意思确实是这样的。
具体细节如下

这里转化为分类问题就是

(对上面式子懵逼的小伙伴:上面的这个公式就是求N个样本中,正样本正好是t+k 的概率,对就是这个)
然后对应的多分类损失函数就是(暂时将fk函数看p(x|c),这是一个正比关系,具体推导可以看相关文章:https://zhuanlan.zhihu.com/p/334772391)

所以infonce 和nce 啥关系

实际上就是同时使用了求原始分布转化为求分类问题这个路子。 我认为这里面很值得借鉴的是softmax 转化为二分类问题与转化为多分类问题的这个过程。

参考文章

  1. https://zhuanlan.zhihu.com/p/334772391
  2. https://zhuanlan.zhihu.com/p/317711322

我想简单的写写nce和infonce相关推荐

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

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

  2. 其实,我只想安静的写写代码...

    时间真是一把杀猪刀,不知不觉,在IT这个行业已经混了15年了,在很多同行眼中,已经算是一个骨灰级的老鸟.平时很少写博客,有时写了也没有发布.最近发生的一些事情,很让自己感慨.临近不惑之年,自己也该好好 ...

  3. 软件实施:别把我想简单了

    现在注重与软件公司沟通的书店经理比以前多了,而且有更多的书店在上马电脑系统或者更换系统时,聘请软件公司上门"实施". 聘请软件公司上门实施,意味着书店初步认识到软件应用与管理流程结 ...

  4. git pull 是到工作区还是暂存区_我把git想简单了

    git 是开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理.我们平时可能经常使用它,但是你真的了解 git 吗?先抛几个问题 git add 发生了什么?git 有哪些暂存区 ...

  5. Electron:想简单了解一下electron-react-boilerplate应用模板

    看到很多开发者在评论说electron-react-boilerplate模板配置有繁琐,臃肿.最近在体验一下electron-react-boilerplate,其实并没有觉得它的配置繁琐.如果有这 ...

  6. 只是想简单说下序列化

    [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902005.html 目录 序列化的含义 通过序列化保存对象数据 众说纷纭 一.序列化的含义 序列 ...

  7. 未能加载文件或程序集或它的某一个依赖项_手写一个miniwebpack

    前言 之前好友希望能介绍一下 webapck 相关的内容,所以最近花费了两个多月的准备,终于完成了 webapck 系列,它包括一下几部分: webapck 系列一:手写一个 JavaScript 打 ...

  8. 进入社会看到的一片总结,若有感慨

    前言 度假刚好回来, 正好看到一篇高质量的创业文章Tian Gang<30岁的程序员,你迷惘了吗?>,突然深有感触,不禁自己也想简单的写写. 本人属于兼职创业,所以和Tian Gang大哥 ...

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

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

最新文章

  1. UVa11300 Spreading the Wealth(数学问题)
  2. 傅里叶变换:周期、非周期 与连续、离散
  3. 无所不在的IM,网易云信潜心为移动社交时代打好地基
  4. springcloud(九):配置中心和消息总线(配置中心终结版)
  5. matlab 判断一个数组中有没有重复的元素
  6. 在Linux里awk与sed的区别,linux awk和sed讲解
  7. 枚举类型enum例题_10.1 C++枚举类型
  8. python创建包含双引号的字符串代码_python 字符串组成MySql 命令时,字符串含有单引号或者双引号导致出错解决办法...
  9. 黑群晖 断电 检测有bad sector_金属你不会以为回收就能直接再用吧,不是的,这些再生金属材料检测知识,很少人知道...
  10. CodeUI Test:UIMap录制文件分析一
  11. Spring Boot 搭建 Eureka Servrer 单机模式、高可用模式
  12. linux系统视屏录像_在Linux上的点击,弹出和故障排除录像
  13. 计算机网络由 子网,计算机网络系统是由通信子网和资源子网组成的。()
  14. jQuery实现 弹出层效果
  15. 微型计算机硬件包括啥,微型计算机系统的硬件包括哪五大组成部分
  16. 神经网络调参:loss 问题汇总(震荡/剧烈抖动,loss不收敛/不下降)
  17. 系统错误计算机中丢失文件,电脑文件丢失了怎么办?电脑文件丢失原因以及解决方法都在这了!...
  18. Blender 导出带贴图的FBX
  19. 录屏储存失败因为5823_为什么屏幕录制失败因为5823
  20. TreeMap用法 示例

热门文章

  1. Xmanager6 下载地址
  2. oracle触发器输出信息,插入后oracle触发器打印
  3. 内网穿透渗透小白初级基础(二)之sock5 代理
  4. C++ Vecter
  5. ai前世识别_ai人脸识别查找前世今生
  6. 超级实习生名企实习经历经得起背调吗?是正规实习吗?
  7. 冒险岛143服务端/米米143/米米冒险岛143服务端
  8. 北大青鸟ACCP5.0课程体系介绍
  9. tedu斌-MySql笔记2112-1
  10. 各大搜索引擎seo的区别