Использование параметра grads_ys в tf.gradients - TensorFlow
Я хочу понять grad_ys
параметр в tf.gradients
, Я видел, как он использовался как множитель истинного градиента, но в определении это не было. Математически, как бы выглядело все выражение?
1 ответ
Редактировать: лучшее уточнение обозначений здесь
ys
суммируются, чтобы сделать один скаляр y
, а потом tf.gradients
вычисляет dy/dx
где x
представляет переменные из xs
grad_ys
представляют "начальное" значение backprop. По умолчанию они равны 1, но другое значение может быть, если вы хотите объединить несколько tf.gradients
звонки вместе - вы можете передать на выходе предыдущего tf.gradients
позвонить в grad_ys
продолжить обратный поток.
Для формального определения посмотрите на связанное выражение в Обратном накоплении здесь: https://en.wikipedia.org/wiki/Automatic_differentiation
Термин, соответствующий dy/dw3 * dw3/dw2
в TensorFlow - вектор 1 (думайте об этом, как будто TensorFlow оборачивает стоимость фиктивной операцией идентификации). Когда вы указываете grad_ys
этот термин заменяется grad_ys
вместо вектора 1
s