Neural Arithmetic

Build Statuscodecov

Collection of layers that can perform arithmetic operations such as addition, subtraction, multiplication, and division in a single layer. Implements NALU, iNALU, NMU & NAU, and NPU.

And additionally FastNAU and FastNPU for use with DiffEqFlux.jl.

Simple Neural Arithmetic

As an example, we can train different layers to learn the function

f(x,y) = (x+y, x*y, 1/x, sqrt(x))

which has two inputs and four outputs. For mo. The figure below plots the error of each layer and arithmetic operation in f for training and testing datapoints. All layers were trained on the input range U(0.1,2). For more details take a look at our paper.

layers