Julia中的前向模式自动微分

摘要:ForwardDiff:Julia软件包的前向模式自动微分(AD),其性能与C++等低级语言竞争。与Python和MATLAB等其他流行高级语言中最近开发的AD工具不同,ForwardDiff利用即时编译(JIT)透明地重新编译不支持AD的用户代码,从而实现对高阶微分和使用自定义数值类型(包括复数)的微分的高效支持。对于梯度和雅可比计算,ForwardDiff提供了一种避免昂贵堆分配、更好利用内存带宽的向量前向模式变体。在我们的数值实验中,我们证明了对于非常大的维度,ForwardDiff的梯度计算可能比基于Python的autograd软件包的逆向模式实现更快。我们还展示了如何在优化建模语言JuMP中有效使用ForwardDiff。根据我们的使用统计,有41个在GitHub上的唯一存储库依赖于ForwardDiff,用户来自天文学、优化、有限元分析和统计等各个领域。AD2016第7届国际算法微分会议已经接受了此文档的扩展摘要来进行演示。

作者:Jarrett Revels, Miles Lubin, and Theodore Papamarkou

论文ID:1607.07892

分类:Mathematical Software

分类简称:cs.MS

提交时间:2016-07-28

PDF 下载: 英文版 中文版pdf翻译中