Deepnet Synapse Delta Visualizer

Corey Rigney (CSH PR Director)
Computer Science House
2 min readSep 17, 2018

A project created by Jacob Potter, a member of Computer Science House.

This project involves the use of a simple four layer deep-learning neural network written in C that I built from scratch which leverages the sigmoid activation function along with backpropagation to assist previous layers with correction. The option for variable size and count of the training data allows for the network to optimally determine and associate patterns in any zero padded binary data. This also allows for the simulation of full-batch training. The option to export the trained synaptic weights is also available. This allows you to train the network on a certain set of data, export the synapses, and then later import them to run the network in validation mode.

Connect multiple synaptic weights with triangles.

Thanks to OpenGL, ( more specifically the OpenGL, OpenGL ES, and Vulkan development library GLFW, and GLEW for function pointer association ) you are able to watch the neural network learn. The fact that the base network is 4 layers is important for this implementation because that means that there are 3 synaptic weight matrices, therefore, allows me to easily map each synapse to a respective Cartesian coordinate axis (X,Y,Z). I then render the location of the normalized ( -1.0 to 1.0 ) synaptic weight values to the screen and redraw each frame without clearing so a path can be seen ( default mode ).

Three visualization modes are available: Default, Line, Dot, and Tri. ( The picture shown is tri ). These options can be changed via compiling with the respective flag. I have yet to implement rotation so all that can really be seen right now is X and Y.

Each colored trail is one layer0 -> layer1 synaptic weight.

The visualization of the synapse deltas during training greatly slows the training loop due to the overhead of OpenGL, but this could probably be minimized with a multi-threaded support.

For more info on running/compiling and more screen shots, Check it out on Github!

For more projects from members of Computer Science House, click here!

--

--

Corey Rigney (CSH PR Director)
Computer Science House

The PR Director manages CSH’s social media presence in addition to many other responsibilities. CSH’s blog can be found at medium.com/ritcsh or csh.rit.edu/blog