Educational Neural Network Development and Simulation Platform
Albert Knebel, Dorin Patru · 2024
An educational software platform has been developed to introduce students to the design and operation of neural networks.The platform consists of a graphical user interface (GUI) written in C# where network parameters can be applied in the construction of the network.Currently, the platform can manage a fully-connected three-layer neural network that recognizes the handwritten digits in the MNIST database and can function as an educational tool to introduce neural network computing concepts.The GUI allows the user to specify the number of neurons in the various network layers, select from 3 different activation functions as well as a number of other network parameters.The weights, biases and layer output values can be modified from double representation to power-of-two integer representation with a specified number of hot-bits.The application capability to read and modify previously trained weights and biases and run the network in inference mode enables quick evaluation of the modifications effect on network accuracy.The functionality to visualize a block diagram of the network as well as the construction of convolutional neural networks (CNNs) to recognize images in the CIFAR-10 database is underway.The platform has been used as development tool to provide weight and bias files to be used as memory initialization files to implement the neural network on reconfigurable hardware (e.g.FPGAs); thus, evaluation of the impact of various weight and bias representations on hardware can be assessed.