我是靠谱客的博主 娇气花生,最近开发中收集的这篇文章主要介绍TensorFlow函数:tf.nn.nce_loss,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

功能:计算并返回噪声对比估计(NCE, Noise Contrastive Estimation)训练损失。

tf.nn.nce_loss(
weights,
biases,
labels,
inputs,
num_sampled,
num_classes,
num_true=1,
sampled_values=None,
remove_accidental_hits=False,
partition_strategy='mod',
name='nce_loss'
)
参数必要类型说明
weights张量shape为[num_classes, dim]
biases张量类偏差,shape为[num_classes]
labelsint64目标类shape[batch_size, num_true]
inputs张量输入网络的正向激活shape [batch_size]
num_sampledint每批随机抽样的类数
num_classesint可能的类数
num_trueint每个训练示例的目标类数
sampled_values元组采样出的负样本,由* _candidate_sampler函数返回
remove_accidental_hitbool是否删除“意外命中”
partition_strategystring分区策略
namestring操作名称

这里值得一提的是:

  1. 如果 len(params) > 1,ids 的每个元素 id 根据 partition_strategy 在 params 元素之间被分区。
    如果 partition_strategy 是 “mod”,我们将每个 id 分配给分区 p = id % len(params).例如,13个 id 分为5个分区:[[0, 5, 10], [1, 6, 11], [2, 7, 12], [3, 8], [4, 9]]
    如果 partition_strategy 是 “div”,我们以连续的方式将 id 分配给分区.在这种情况下,13 个 id 分为5个分区:[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10], [11, 12]]
  2. 如果sampled_values是None,我们默认为log_uniform_candidate_sampler)
  3. 通过_compute_sampled_logits 函数计算出正样本和采样出的负样本对应的output和label
  4. 通过 sigmoid cross entropy来计算output和label的loss,从而进行反向传播

最后

以上就是娇气花生为你收集整理的TensorFlow函数:tf.nn.nce_loss的全部内容,希望文章能够帮你解决TensorFlow函数:tf.nn.nce_loss所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部