Operational Calculus for Differentiable Programming

  • 2019-01-06 14:52:56
  • Žiga Sajovic, Martin Vuk
  • 0

Abstract

In this work we present a theoretical model for differentiable programming.We construct an algebraic language that encapsulates formal semantics ofdifferentiable programs by way of Operational Calculus. The algebraic nature ofOperational Calculus can alter the properties of the programs that areexpressed within the language and transform them into their solutions. In our model programs are elements of programming spaces and viewed as mapsfrom the virtual memory space to itself. Virtual memory space is an algebra ofprograms, an algebraic data structure one can calculate with. We define theoperator of differentiation ($\partial$) on programming spaces and, using itspowers, implement the general shift operator and the operator of programcomposition. We provide the formula for the expansion of a differentiableprogram into an infinite tensor series in terms of the powers of $\partial$. Weexpress the operator of program composition in terms of the generalized shiftoperator and $\partial$, which implements a differentiable composition in thelanguage. Such operators serve as abstractions over the tensor series algebra,as main actors in our language. We demonstrate our models usefulness in differentiable programming by usingit to analyse iterators, deriving fractional iterations and their iteratingvelocities, and explicitly solve the special case of ReduceSum.

 

Quick Read (beta)

loading the full paper ...