目录

1、前置知识softmax loss

2、sampled softmax

1.1、问题引入

1.2、如何通俗理解sampled softmax机制?

3、sampled softmax loss


1、前置知识softmax loss

回顾一下softmax loss(【机器学习】tf.nn.softmax)

简单来说,softmax loss = softmax+cross-entropy

损失函数 - 交叉熵损失函数 - 飞鱼Talk的文章 - 知乎

一文详解Softmax函数 - 触摸壹缕阳光的文章 - 知乎

softmax 介绍 + 公式 + 代码

2、sampled softmax

1.1、问题引入

p_i 观测样本 i 属于类别c的概率。

z_i : 第i个节点的输出值 1/3/-3(整数);

C : 共有几个节点,即分类类别的个数;

在youtubednn的推荐中,由于视频数量巨大,则C巨大,分母超多,现在想要缩减C的范围。

所以,sample_softmax的思想就是:一个正样本,随机挑选几个负样本,来做多分类的问题。

1.2、如何通俗理解sampled softmax机制?

注意这里只是训练的时候sample,预测的时候还是要预测过程仍然要使用完整的词表。

在nlp中的具体实施,(词表就是resys中所有视频)

但是操作起来异常简单。设定一个词频阈值 ,遍历训练语料,当词表大小达到 时,将遍历过的语料设为子集 。然后清空词表,继续遍历,直到所有句子都被分入子集。

训练模型时,在每个子集依次进行训练,只使用子集词表进行softmax。通俗地讲,就是将语料有策略地分成多份,在训练中使用每一份的小词表代替完整词表。

文章提及的sampled softmax只在模型训练过程中使用,在模型预测时依然需要遍历词典。个人感觉跟word2vec中采用的negative sampling有异曲同工之妙。

(我觉得就是一个东西(lll¬ω¬))

如何通俗理解sampled softmax机制? - 知乎

3、sampled softmax loss

类似与softmax loss,就是sample_softmax + cross_entropy。

cross_entropy中的预测概率p是来自sample_softmax的产出。

【机器学习】sampled softmax loss相关推荐

  1. Tensorflow的负采样函数Sampled softmax loss学习笔记

    最近阅读了YouTube的推荐系统论文,在代码实现中用到的负采样方法我比较疑惑,于是查了大量资料,总算能够读懂关于负采样的一些皮毛. 本文主要针对tf.nn.sampled_softmax_loss这 ...

  2. Tensorflow的负采样函数Sampled softmax loss踩坑之旅

    谷歌16年出的论文<Deep Neural Networks for Youtube Recommendation>中提到文章采用了负采样的思想来进行extreme multiclass分 ...

  3. Tensorflow之负采样函数Sampled softmax loss

    Tensorflow之负采样函数Sampled softmax loss 谷歌16年出的论文<Deep Neural Networks for Youtube Recommendation> ...

  4. 一文讲懂召回中的 NCE NEG sampled softmax loss

    深度学习中与分类相关的问题都会涉及到softmax的计算.当目标类别较少时,直接用标准的softmax公式进行计算没问题,当目标类别特别多时,则需采用估算近似的方法简化softmax中归一化的计算. ...

  5. 机器学习中的损失函数 (着重比较:hinge loss vs softmax loss)

    https://blog.csdn.net/u010976453/article/details/78488279 1. 损失函数 损失函数(Loss function)是用来估量你模型的预测值 f( ...

  6. Sampled Softmax,你真的会用了吗?

    作者 | 夜小白 整理 | NewBeeNLP 前面两篇关于文本匹配的博客中,都用到了Sampled-softmax训练方法来加速训练. 基于表征(Representation)的文本匹配.信息检索. ...

  7. 人脸识别-Loss-2010:Softmax Loss(Softmax激活函数 + “交叉熵损失函数”)【样本3真实标签为c_5,则样本3的损失:loss_3=-log(\hat{y}_5^3)】

    一般一个CNN网络主要包含卷积层,池化层(pooling),全连接层,损失层等. 全连接层:等号左边部分就是全连接层做的事, W W W 是全连接层的参数,我们也称为权值, X X X 是全连接层的输 ...

  8. 文本匹配开山之作-DSSM论文笔记及源码阅读(类似于sampled softmax训练方式思考)

    文章目录 前言 DSSM框架简要介绍 模型结构 输入 Encoder层 相似度Score计算 训练方式解读 训练数据 训练目标 训练方式总结 DSSM源码阅读 训练数据中输入有负样本的情况 输入数据 ...

  9. Sampled Softmax

    sampled softmax原论文:On Using Very Large Target Vocabulary for Neural Machine Translation 以及tensorflow ...

最新文章

  1. 【笔记】虚拟机用Xshell登陆报错“ssh服务器拒绝了密码”解决方法
  2. BI 界震动 - Power BI Premium 个人版只要每月 120 元
  3. Struts2知识点总结大全
  4. jquery 获取data-* 属性值
  5. 如何在 Windows 显示扩展名?
  6. NB-IoT移远BC95使用小结
  7. 服务器两个内存为何只显示4g_windows7系统插入2个4G内存条却只显示4G的设置步骤?...
  8. getopt_long的使用
  9. java netcdf精度_NetCDF 介绍
  10. 爬虫如何利用session方法保持登陆状态(selenium)
  11. 传奇开群服/公益服用什么服务器最好?
  12. 苹果脚本入门指南 第一章-苹果编程语言介绍和编程软件打开方法及界面介绍
  13. java libraries在哪_java.library.path在哪?
  14. TDD双工方式保护时隙与通信距离的关系
  15. setAttribute的具体用法
  16. 【实验四 循环结构】7-4 sdut-C语言实验-求阶乘(循环结构)
  17. 《苏菲的世界》读后感
  18. h5 canvas html 合成,图片合成以及canvas的应用
  19. 从10万个数中找10个最大的数
  20. C++的 remove函数

热门文章

  1. ESXi虚拟化介绍与安装
  2. ArcGIS Engine 画扇形要素
  3. unity穿山甲SDK打包问题
  4. System.ComponentModel.DataAnnotations.Schema 命名空间
  5. 开发板可以ping通百度IP,但是不能ping百度域名 提示ping: bad address 'www.baidu.com'
  6. THRUST:一个开源的、面向异构系统的并行编程语言:编程模型主要包括:数据并行性、任务并行性、内存管理、内存访问控制、原子操作、同步机制、错误处理机制、混合编程模型、运行时系统等
  7. 【TCP/IP】Windows系统下的TCP参数优化
  8. 东京被22个核污点包围 放射量与切尔诺贝利相当
  9. Mac12.2下mysql各种蛋疼问题
  10. SpringCloud微服务项目启动报错解决方案