3D Multilayer Neural Network Simulation
Neural Networks are a great tool for aritificial learning. Here you will see a pleasing visualization of a neural network represented in 3D working and training with the MNIST dataset of digit recognition.
The machine learns how to predict handwritten images with a high accuracy. With the gradient descent the total error of each iteration is decreased. With back-propagation and supervised learning the network adjust its weights and biases to improve its performance.
The program is written in C# in Unity 3D. It can be divided in 2 main working areas. The visualization and neural network algorithms.
The neural network uses the sigmoid function for each activation It has 784 inputs, 2 hidden layers of 20 neurons and 10 outputs. Each neuron fully connected with the rest of the adyacent layers.
The visualization consist on 3 main areas. The digit panel where we represent the black and white image changing the material color each square. The neurons are spheres randomly placed and the weights are lines that gradually change their color depending on their value and disappear when the previous neuron is not activated. Finally the output neurons are represented with squares and string meshes.
The update has optimization improvements and also changes in the visualization like a new glowing effect of the wiehgts and outputs.
You can learn more about this project and its feautures in the next explanation video:
The source code of the application can be downloaded here if you have the programming tier:
[pms-restrict subscription_plans=”179″]
Download full project in Unity 3D
[/pms-restrict]