4 ms·
For starters, what if you want to differentiate through code that traverses a collection, for example: val x = ... ys.map(y => y + x) Each loop iterat
by tiarkrompf 7y ago
For starters, what if you want to differentiate through code that traverses a collection, for example:
val x = ...
ys.map(y => y + x)
Each loop iteration needs to contribute a gradient update to x, which is defined in an outer scope. And what if y => y + x is not given as an inline lambda, but defined elsewhere. It doesn't seem like your blog posts discusses any such cases.
- tome 7y agoCorrect, it doesn't discuss that case, indeed it doesn't treat user-defined functions at all. I just don't understand in what sense it doesn't treat binding or sharing.