论文标题
联合伴随和差异化
Combinatory Adjoints and Differentiation
论文作者
论文摘要
我们基于功能分析中的分类结构开发了一种自动和符号分化的组成方法,其中衍生物是抽象向量上的线性函数,而不是限于标量,向量,矩阵或启动器,称为多维阵列。我们表明,可以使用差分微积分来实现符号和自动分化,以生成基于原始,恒定,线性和双线性函数的规则以及其顺序和平行组成的线性函数。线性函数以组合域特异性语言表示。最后,我们提供了一个微积分,用于象征性地计算衍生物的伴随,而无需使用矩阵,而矩阵太低效率无法在高维空间上使用。导数的结果符号表示保留了输入程序的数据并行操作。组合分化和计算形式的伴随的组合在行为上等同于反向模式自动分化。特别是,它为矩阵过于效率而无法表示线性功能的优化提供了机会。
We develop a compositional approach for automatic and symbolic differentiation based on categorical constructions in functional analysis where derivatives are linear functions on abstract vectors rather than being limited to scalars, vectors, matrices or tensors represented as multi-dimensional arrays. We show that both symbolic and automatic differentiation can be performed using a differential calculus for generating linear functions representing Fréchet derivatives based on rules for primitive, constant, linear and bilinear functions as well as their sequential and parallel composition. Linear functions are represented in a combinatory domain-specific language. Finally, we provide a calculus for symbolically computing the adjoint of a derivative without using matrices, which are too inefficient to use on high-dimensional spaces. The resulting symbolic representation of a derivative retains the data-parallel operations from the input program. The combination of combinatory differentiation and computing formal adjoints turns out to be behaviorally equivalent to reverse-mode automatic differentiation. In particular, it provides opportunities for optimizations where matrices are too inefficient to represent linear functions.