  We introduce Reverse Derivative Ascent: a categorical analogue of gradient
based methods for machine learning. Our algorithm is defined at the level of
so-called reverse differential categories. It can be used to learn the
parameters of models which are expressed as morphisms of such categories. Our
motivating example is boolean circuits: we show how our algorithm can be
applied to such circuits by using the theory of reverse differential
categories. Note our methodology allows us to learn the parameters of boolean
circuits directly, in contrast to existing binarised neural network approaches.
Moreover, we demonstrate its empirical value by giving experimental results on
benchmark machine learning datasets.
