NNAD
stands for Neural Network Analytic Derivatives and is a C++ implementation of the analytic derivatives of a feed-forward neural network with arbitrary architecture with respect to its free parameters. We adopeted the back-propagation method that makes the computation of derivatives in the context of minimisation problems particularly performing.
The NNAD
library only relies on cmake
for configuration and installation. This is done by following the standar procedure:
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=SOME_PATH
make
Alternatively, one can use Conda
:
conda create -n nnad
conda install gxx_linux-64 (see https://docs.conda.io/projects/conda-build/en/latest/resources/compiler-tools.html)
cd NNAD
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
make && make install
A detailed documentation of the code generated with Doxygen can be found here.
A simple example of the usage of NNAD
, where analytic derivatives are compared to a numerical evaluation, can be found in tests/main.cc
. More elaborate examples, where NNAD
is used in minimisation problems, are instead collected here.
- Rabah Abdul Khalek, Valerio Bertone, On the derivatives of feed-forward neural networks, arXiv:2005.07039
- Rabah Abdul Khalek: rabah.khalek@gmail.com
- Valerio Bertone: valerio.bertone@cern.ch