Automatic Differentiation via Contour Integration
keplerlounge.com
keplerlounge.com
So I don't think this is more biologically plausible than neurons using finite differences to do gradient descent.
Neural nets use back prop to infer bottoms up what features define what features define what features which are eventually useful for a final prediction. But we don’t really see evidence of backstop in biology.
That is to say, biology probably uses an algorithm to passively identify patterns arbitrarily, unlike neural nets which attempt to identify the patterns that solve for a given task. The latter just theoretically requires a lot of information before a space can be well defined. The former doesn’t.
(Haven't looked closely at the posted code so no idea how directly relevant this is.)
An important feature of auto-diff is that it’s numerically exact. This can be shown in a few lines to be equivalent to finite differencing.
That doesn’t take away from that fact that it’s a neat technique though!
Another poster in the thread mentioned this as well.
The cool thing is you can make the noise vector arbitrarily small (up to machine precision), so it doesn't have the issues that finite differences has. I'm not sure if the same is true of the method described in the article.
[1] Using Complex Variables to Estimate Derivatives of Real Functions, https://pdfs.semanticscholar.org/3de7/e8ae217a4214507b9abdac...
Sorry, what? Pretty sure this is not Taylor's theorem (and it's false)?
I think instead this is an application of the fundamental theorem of applied maths which states, approximately, that, in applied mathematics:
- all Taylor series converge
- all functions are piecewise smooth
- all sums and integrals can be transposed
- if the solution must be x if it exists, then the solution exists (and is x)
- if it looks right then it is