假设我有
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()不会解决问题,因为那样的话整个表达式将没有参数可以优化。
如何实现所描述的行为?
目的明确:
我打算实施section 13.5 of this book
其中delta
依赖于V
,但不是派生的,而V
本身是派生的。
如果这个问题的名字更合适,请告诉我,以便我进行更改。