Тензор потока, как вычислить градиент выхода по отношению к входу? - PullRequest
0 голосов
/ 09 сентября 2018

В последнее время я пытаюсь провести несколько экспериментов, и у меня есть нейронная сеть D (x), где x - входное изображение с размером пакета 64. Я хочу вычислить градиент D (x) относительно x. Должен ли я сделать вычисления следующим образом?

grad = tf.gradients(D(x), [x])

Спасибо всем!

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Да, вам нужно будет использовать tf.gradients. Для получения более подробной информации см https://www.tensorflow.org/api_docs/python/tf/gradients.

0 голосов
/ 09 сентября 2018

Во время обучения нейронной сети градиент обычно вычисляется как loss function относительно ввода. Это потому, что функция потерь может быть хорошо определена вместе с ее градиентом.

Однако, если вы говорите о градиенте вашего вывода D(x), я полагаю, что это некоторый набор векторов. Вам нужно будет определить, как будет вычисляться градиент по отношению к его входным данным (то есть слою, который генерирует выходные данные).

Точные детали этой реализации зависят от используемой вами структуры.

...