Вычисление градиентов вывода керас по отношению к входам сети? - PullRequest
0 голосов
/ 09 июля 2019

Если у меня есть сеть в Керасе с некоторыми входными переменными, скажем, x, y, z.Как бы я рассчитал градиент выходов по отношению к каждому из этих входов (х, у, г).Я оглядывался по сторонам и не мог найти четкого ответа на этот вопрос, и мне не удалось решить его самостоятельно после того, как я некоторое время возился с tf.gradients.Я видел этот вопрос Keras с TF backend: получить градиент выходов относительно входных данных , но мне это не совсем понятно, и я не понимаю, что делать или как это реализовать.Любая помощь и простой пример были бы великолепны, спасибо.

РЕДАКТИРОВАТЬ:

Вот конкретный пример того, что я ищу.Рассмотрим, например, функцию f (x, y, z) = x ^ 2 + y ^ 2 + z ^ 2.

def function(x,y,z):
    return (x**2) + (y**2) + (z**2)

network = Sequential()
network.add(Dense(128, input_shape=3, activation='relu'))
network.add(Dense(128, activation='relu'))
network.add(Dense(1,activation='relu'))

Если я натренировал нейронную сеть на случайных примерах x, y, z и значений функций f (x, y, z) и аппроксимировал функцию f (x, y, z), что яхотел бы затем использовать сеть для возврата градиента функции относительно каждого из входов в отдельности.Вектор градиента для этого примера был бы задан как f '(x, y, z) = 2x + 2y + 2z.Поэтому, когда сеть обучена, для заданного входного вектора (x, y, z) я хотел бы не только аппроксимировать значение функции, но и ее производные по входам, например, когда сеть обучена, если яесли, скажем, входной вектор (1,2,3) в сеть, я хотел бы не только получить сетевое приближение для f (1,2,3) = 1 ^ 2 + 2 ^ 2 + 3 ^ 2 = 14,но я хотел бы получить аппроксимацию для производной функции f (x, y, z) по каждому из индивидуумов в отдельности, поэтому в этом случае я хотел бы аппроксимировать частную производную функции f (x, y, z)по отношению к x = 1, который, конечно, будет 2, а также для частной производной функции f (x, y, z) по отношению к двум другим входам, которые равны 4 и 6 соответственно.Это просто простой пример того, что я хотел бы сделать.

...