为什么”softmax_cross_entropy_with_logits_v2″会反向传播到标签中

我想知道为什么在TensorFlow 1.5.0及以后的版本中,softmax_cross_entropy_with_logits_v2默认会对标签和logits进行反向传播。在哪些应用场景中需要对标签进行反向传播呢?


回答:

我看到了下面的GitHub问题中也提出了相同的问题,你可以关注它以获取后续更新。

https://github.com/tensorflow/minigo/issues/37

我并不代表做出这一决定的开发者,但我猜测他们之所以默认这样做,是因为这种做法确实常见。对于大多数不进行标签反向传播的应用来说,标签通常是常量,不会受到不利影响。

对标签进行反向传播的两个常见用例是:

  • 创建对抗样本

围绕构建能够欺骗神经网络的对抗样本,有一整套研究领域。许多用于此目的的方法涉及训练一个网络,然后保持网络固定,并对标签(原始图像)进行反向传播,在某些约束条件下对其进行调整,以生成一个能欺骗网络错误分类图像的结果。

  • 可视化神经网络的内部结构。

我还建议大家观看YouTube上的deepviz工具包视频,你会学到很多关于神经网络学习的内部表示知识。

https://www.youtube.com/watch?v=AgkfIQ4IGaM

如果你继续深入研究并找到原始论文,你会发现他们也对标签进行反向传播,以生成能够高度激活网络中某些滤波器的图像,以便理解这些滤波器的作用。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注