NN – Yet Another Neural Network Implementation

NN is a single-file library for training and running neural networks that perform function generalization. In the future classification will likely be added. Implementation heavily follows Timothy Master’s book “Practical Neural Network Recipes in C++”.

Link to source: here.

NN contains three major optimizations for training:

  1. Genetic Initialization
  2. Conjugate gradient descent
  3. Simulated annealing

A fourth optimization that I’d like to implement soon is linear regression, in order to speed up the main learning iterations.

Here is one of the demos I’ve created by successfully training the neural network:


A missile shoots from one planet to another in order to hit the red target. The network is constrained to shoot only from the top of the purple planet, and solves for the correct angle of launch in order to accurately hit the target on the other planet.

The missile is simulated by summing the gravitational potential from each planet and integrating the summed force through Symplectic Euler integration, resulting in an energy conserving and realistic flight trajectory.

Click here for the video accompanying the below slideshow (from when I was trying to apply at SpaceX in the past). Here is a slideshow I’ve created that showcases myself and the NN library:

Download (PDF, Unknown)