News for hackers. Stuff that matters.
Re:Automatic Differentiation with Julia by elcomet on Tuesday October 23, 2018 @09:47AM (#18283312)
Thid is really neat.

Is this really used in practice?

It seems to me that most of the AD frameworks used for deep learning implement the backward function that returns the jacobian for every initial function, and then chain those backward functions

Re:Automatic Differentiation with Julia by cultus on Tuesday October 23, 2018 @09:55AM (#18283367)
I used it for non ML tasks in geophysics, which made my life a lot easier. However, I think most scientists and engineers aren't aware of it. It has been described as "criminally underused."
Re:Automatic Differentiation with Julia by aaaaaaaaaab on Tuesday October 23, 2018 @11:15AM (#18284052)
To calculate the gradient of a function R^n -> R^m, forward-mode AD is preferable if n << m, while reverse-mode is faster for n >> m.

From this it should be clear why machine learning uses reverse-mode.

On the other hand, forward-mode is better for e.g. calculating the tangent of a high-dimensional curve (i.e. R -> R^n).

Re:Automatic Differentiation with Julia by IngoBlechschmid on Tuesday October 23, 2018 @10:31AM (#18283662)
Yes, definitely, there are even battle-tested implementations for Fortran available.

Though I have never seen AD frameworks used in the production contexts for neural networks/backpropagation. As you say, the code for this seems to be mostly handrolled. Please take this negative statement with a grain of salt, I don't actually work in machine learning.

Re:Automatic Differentiation with Julia by kxyvr on Tuesday October 23, 2018 @11:07AM (#18283980)
Backpropagation is literally the reverse mode AD applied to neural nets. That said, I wish had a paper that I could point to that shows explicitly that. From what I can tell, the AD community has known this basically since the start, but for whatever reason backpropogation is taught rather than the more general technique.