我正在计算交叉熵损失函数相对于模型输入的梯度,如下所示。由于某些原因,梯度的值全为零,而交叉熵损失函数的值则不为零。 这个问题以前有没有发生过?
PS:
我正在尝试计算梯度以找到对抗性示例。
交叉熵损失函数的值停留在16.1180
代码如下:
y_true = keras.backend.placeholder(shape = Model.output.shape)
cross_entropy = keras.backend.mean(keras.losses.categorical_crossentropy(y_true,Model.output))
get_grads = keras.backend.function([Model.input,y_true],keras.backend.gradients(cross_entropy,[Model.input]))
....
gradients = get_grads([X,Y])[0]