Visualizing Deep Learning

by Zach Geis
I personally find Deep Learning and Neural Networks fascinating. The goal of this visualization is to demonstrate the actual operations behind a Neural Network.
As you adjust the iteration slider, the page will display every operation that goes into executing a Neural Network.

This network takes an input of 3 numbers. Each number is either 1 or 0. The goal of the network is to find a pattern between the first and second number being 1 and 0 in either order, but not both 0 or 1. (Exclusive OR)
For example, 0-0-0, 1-1-0, 0-0-1 should return 0, and 1-0-1, 0-1-1 should return 1.
The Final Error field and Error graph will display how far off the network is from its goal. The goal is to have an error close to 0.

The defaulted iteration count is 10 to prevent the page from executing too many calculations on first load. You should be able to get accurate results by setting the iteration count to 10000.

I've always found that interactive models like this help me learn the best! Hope you find this helpful as well.

Code for the network can be found here: MultiLayer.ts
For a simpler network see here: SingleLayer.ts
All of the network math is contained within the project as well and can be found here: MatrixUtil.ts

The network structure was inspired by the following blog post: Basic Python Network