Предположим, у меня есть
result = mynet1(input)
calculated_value1 = result
calculated_value2 = calculated_value1 * result
, и я хочу получить result
только с использованием обратного выражения calculated_value2
, но не внутреннего result
, полученного из calculated_value1
Значение, Я хочу, чтобы
calculated_value2.backward()
ссылался на calculated_value1
как на константу, даже если она зависит от result
, так что градиент будет зависеть только от result
один раз, а не result^2
.
Очевидно, что result.detach () не сработает, потому что тогда у всего выражения не будет параметров для оптимизации.
Как мне добиться описанного поведения?
Разъяснение намерений:
Я намерен реализовать раздел 13.5 этой книги
, в котором delta
зависит от V
, но не выводится, а само V
получается.
Кроме того, если есть более подходящее название для этого вопроса, пожалуйста, сообщите мне, чтобы я мог изменить его.