Я попытался вычислить градиент выходного слоя w.r.t. вход, и я ожидаю матрицу градиента (как градиент различных узлов в выходном слое с каждым входом), но я получаю одно значение. Я хочу знать, что это значение представляет здесь?
Моя цель состояла в том, чтобы вычислить градиент категориальной кросс-энтропийной потери по отношению к каждому входу. Я искал решение, а затем застрял в этом.
Я новичок в этом, поэтому, пожалуйста, игнорируйте глупые ошибки.
from keras.models import Sequential
from keras.layers import Dense, Activation
from keras import backend as k
import numpy as np
import tensorflow as tf
model = Sequential()
model.add(Dense(2, input_dim=1, init='uniform', activation='relu'))
model.add(Dense(2, init='uniform', activation='softmax'))
outputTensor = model.output
listOfVariableTensors = model.input
gradients = k.gradients(outputTensor, listOfVariableTensors)
trainingExample = np.random.random((1,1))
sess = tf.InteractiveSession()
sess.run(tf.initialize_all_variables())
evaluated_gradients = sess.run(gradients,feed_dict={model.input:trainingExample})
print(evaluated_gradients)
Я получил вывод оператора print как:
[array([[0.]], dtype=float32)]