码迷,mamicode.com
首页 > 其他好文 > 详细

nce loss 和

时间:2017-12-29 12:25:40      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:lan   今天   二分   learning   记录   估算   log   nbsp   https   

今天在训练word vec的时候,用的是nce_loss. 官方sample和我写的可视化示例里面,都用的这个 nce_loss。

 

今天找了一下解释,找到这个页面:

https://www.zhihu.com/question/50043438/answer/254300443

 

说实话,没怎么看懂,先摘抄下来:


Tensorflow实现了两种常用与word2vec的loss,sampled softmax和NCE,这两种loss本身可以用于任意分类问题。

之前一直不太懂这两种方法,感觉高深莫测,正好最近搞懂了,借tensorflow的代码和大家一起分享一下我的理解,也记录一下思路。

这两个方法跟绝大多数deep learning的方法一样,相当粗暴。

目的

两个方法的目标是在分类的数量太大时,简化softmax计算,采取估算的方法得到softmax的值。

 


 

Intuitive explanation

NCE loss的直观想法:把多分类问题转化成二分类。

之前计算softmax的时候class数量太大,NCE索性就把分类缩减为二分类问题。

之前的问题是计算某个类的归一化概率是多少,二分类的问题是input和label正确匹配的概率是多少。

二分类问题群众喜闻乐见,直接上logistic regression估算一下概率。

(这算不算是通俗易懂回答了答主的问题)

 


 

Sampled softmax则是只抽取一部分样本计算softmax。这个想法也很好理解,训练的时候我不需要特别精准的softmax归一化概率,我只需要一个粗略值做back propoagation就好了。当然这么粗糙的计算会不会出什么问题,从我个人的理解上看,不会。

大部分优化器很可能比这粗糙的多,deep learning就是门乱拳打死老师傅的学科。

 

nce loss 和

标签:lan   今天   二分   learning   记录   估算   log   nbsp   https   

原文地址:https://www.cnblogs.com/charlesblc/p/8143256.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!