Venturecxx
Venturecxx copied to clipboard
Gradients through expressions of ESRs are lost
To keep track of them I would need to adjust the custom automatic differentiation system to propagate gradients from evaluation to constant nodes, read and them off the constant nodes when computing the gradient of the request PSP.
- This problem can be largely avoided by writing request PSPs to place any potentially continuous-valued input objects into the environment and refer to them by synthetic names; then the expression itself is discrete and has no derivative, and derivatives do propagate through lookups to environments of ESRs.
- However, not all extant requesters obey this convention
- This convention will not work for
eval
. Gradients througheval
are potentially useful for "inverse interpretation" types of structure learning projects, though they can work around it by writing their own metacircular evaluators.
By code inspection, I assume that mapv
currently has this problem, but it is masked by its output PSP not defining a gradient method at all.