[Developers] Fwd: [New comment] Automatic Differentiation: The most criminally underused tool in the potential machine learning toolbox?

John Sibert sibert at hawaii.edu
Fri Nov 30 08:33:32 PST 2012




-------- Original Message --------
Subject: 	[New comment] Automatic Differentiation: The most criminally 
underused tool in the potential machine learning toolbox?
Date: 	Fri, 30 Nov 2012 04:56:22 +0000
From: 	Justin Domkes Weblog <comment-reply at wordpress.com>
Reply-To: 	Justin Domkes Weblog 
<comment+_dvt62oan5kqp1btsg5w-sp301gstz6ua-9w7kz9 at comment.wordpress.com>
To: 	sibert at hawaii.edu



WordPress.com
Respond to this comment by replying above this line


    New comment on *Justin Domke's Weblog
    <http://justindomke.wordpress.com>*

	<http://justindomke.wordpress.com>

<http://gravatar.com/lingpipe> 	

*Bob Carpenter* commented 
<http://justindomke.wordpress.com/2009/02/17/automatic-differentiation-the-most-criminally-underused-tool-in-the-potential-machine-learning-toolbox#comment-1729> 
on Automatic Differentiation: The most criminally underused tool in the 
potential machine learning toolbox? 
<http://justindomke.wordpress.com/2009/02/17/automatic-differentiation-the-most-criminally-underused-tool-in-the-potential-machine-learning-toolbox>. 


in response to *justindomke*:

    I recently got back reviews of a paper in which I used automatic
    differentiation. Therein, a reviewer clearly thought I was using
    finite difference, or “numerical” differentiation. This has led me
    to wondering: Why don’t machine learning people use automatic
    differentiation more?  Why don’t they use it…constantly? Before
    recklessly speculating on the answer, let me [...]

Justin — I’m following up to let you know we finally released Stan, our 
adaptive Hamiltonian Monte Carlo sampler:

http://mc-stan.org/

It has a BSD license and we’re hoping people feel free to use all or 
parts of it in their own work.

It’s written in C++ with taped reverse-mode auto-dif implemented with 
templates, and fully integrated with all the C++ special functions and 
with Eigen and with our own probability function library. Our auto-dif’s 
both more extensible and faster than CppAD or Sacado. I still need to 
write doc on the auto-dif itself and then put a link up on autodiff.org 
and on the Wikipedia page; but if you know auto-dif, it’s very 
straightforward, and our unit tests provide extensive simple examples of 
its use.

It also has a programming language like WinBUGS that lets users express 
models more naturally, including expressing constraints for which 
Jacobian adjustments are automatically calculated (and auto-diffed).

Oh, and there’s a complete R interface (Python, MATLAB and Julia are on 
the to-do list, too). There’s a 250 page manual with many statistical 
modeling examples and a full definition of the language and its functions.

The next release (out in a week or two) will add comparison operators, 
logical operators, and Newton-Raphson optimization. We’ll probably put 
in the quasi-Newton L-BFGS sooner or later. We’re also planning to do 
forward-mode templated auto-dif in the usual way so that we can 
calculate Hessians for both optimization and Riemann Manifold HMC. We 
got an NSF grant to continue work on it, so we’ll be able to continue to 
add to its functionality and support it.

P.S. Even for pretty hairy functions, our compile times are a lot better 
than you reported in the follow-on post. But they’re still pretty bad. 
clang++ is much better than g++ in terms of compile times.

Reply 
<http://justindomke.wordpress.com/2009/02/17/automatic-differentiation-the-most-criminally-underused-tool-in-the-potential-machine-learning-toolbox?replytocom=1729#respond> 
Comments 
<http://justindomke.wordpress.com/2009/02/17/automatic-differentiation-the-most-criminally-underused-tool-in-the-potential-machine-learning-toolbox> 


*Want less email?* Modify your Subscription Options 
<https://subscribe.wordpress.com/?key=4220e3bc2f2ce5bd9d8f568e895ce9d4&email=sibert%40hawaii.edu&option=comments>. 



Thanks for flying with WordPress.com <http://wordpress.com>

Bob Carpenter commented: "Justin -- I'm following up to let you know we 
finally released Stan, our adaptive Hamiltonian Monte Carlo sampler: 
http://mc-stan.org/ It has a BSD license and we're hoping people feel 
free to use all or parts of it in their own work. It's writte"




More information about the Developers mailing list