内容简介:Automatic Differentiation via Contour IntegrationThere has previously been some back-and-forth among scientists about whether biological networks such as brains might compute derivatives. I have previously made my position on this issue clear:The standard
AutoDiff
Automatic Differentiation via Contour Integration
Motivation:
There has previously been some back-and-forth among scientists about whether biological networks such as brains might compute derivatives. I have previously made my position on this issue clear: https://twitter.com/bayesianbrain/status/1202650626653597698
The standard counter-argument is that backpropagation isn't biologically plausible but partial derivatives are very useful for closed-loop control so we are faced with a fundamental question we can't ignore. How might large branching structures in the brain and other biological systems compute derivatives?
After some reflection I realised that an important result in complex analysis due to Cauchy, the Cauchy Integral Formula, may be used to compute derivatives with a simple forward propagation of signals using a monte-carlo method. Incidentally, Cauchy also discovered the gradient descent algorithm.
Minimal implementation in the Julia language:
function mc_nabla(f, x::Float64, delta::Float64) ## automatic differentiation of holomorphic functions in a single complex variable ## applied to real-valued functions in a single variable N = round(Int,2*pi/delta) ## sample with only half the number of points: sample = rand(1:N,round(Int,N/2)) thetas = sample*delta ## collect arguments and rotations: rotations = map(theta -> exp(-im*theta),thetas) arguments = x .+ conj.(rotations) ## calculate expectation: expectation = (2.0/N)*real(sum(map(f,arguments).*rotations)) return expectation end
Blog post:
https://keplerlounge.com/neural-computation/2020/01/16/complex-auto-diff.html
Jupyter Notebook:
https://github.com/AidanRocke/AutoDiff/blob/master/cauchy_tutorial.ipynb
以上所述就是小编给大家介绍的《Automatic Differentiation via Contour Integration》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Unix/Linux编程实践教程
Bruce Molay、杨宗源、黄海涛 / 杨宗源、黄海涛 / 清华大学出版社 / 2004-10-1 / 56.00元
操作系统是计算机最重要的系统软件。Unix操作系统历经了几十年,至今仍是主流的操作系统。本书通过解释Unix的工作原理,循序渐进地讲解实现Unix中系统命令的方法,让读者理解并逐步精通Unix系统编程,进而具有编制Unix应用程序的能力。书中采用启发式、举一反三、图示讲解等多种方法讲授,语言生动、结构合理、易于理解。每一章后均附有大量的习题和编程练习,以供参考。 本书适合作为高等院校计算机及......一起来看看 《Unix/Linux编程实践教程》 这本书的介绍吧!