最近,我尝试做一些实验,我有一个神经网络D(x(,其中x是批量大小为64的输入图像。我想计算 D(x( 相对于 x 的梯度。我应该按以下方式进行计算吗?
grad = tf.gradients(D(x), [x])
谢谢大家!
是的,您需要使用tf.gradients
.有关更多详细信息,请参阅 https://www.tensorflow.org/api_docs/python/tf/gradients。
在神经网络的训练过程中,通常计算相对于输入的loss function
梯度。这是因为,损失函数可以及其梯度很好地定义。
但是,如果您谈论输出D(x)
的梯度,我假设这是一组向量。您需要定义如何相对于其输入(即生成输出的层(计算梯度。
该实现的确切细节取决于您使用的框架。