Neural Network is one of the basic building blocks of Deep Learning. It is the fundamental algorithm that forms the basis of complex and advanced Deep Learning. Deep Leanring and Artificial Intelligence has shaped the modern technology and is certainly going to revolutionize the future. In this project we try to visualize this very basic framework using OpenGL. OpenGL is a computer graphics library on which many rendering and visualization softwares are built.
We have made a Neural Network having 2 hidden layers. The Input is highlighted with a 6x6 image of the digit '1'. The highlighted cell in the output shows that the image was of the digit '1'. The model is constantly rotating in order to help better visualize the Neural Network.
- OpenGL
- Glut
- C++
- To install Visual Studio and C++ : https://www.youtube.com/watch?v=IsAoIqnNia4
- To install useful OpenGL libraries like GLUT, GLEW, GLFW, etc. : https://www.youtube.com/watch?v=HurTyJ3v_xg&feature=youtu.be
- Clone the repo :
$ git clone https://github.com/m607stars/Neural_Network_visualization
- Open the file in Visual Code and Run.
- Improve the existing Visualization and introduce keybpard/mouse control.
- Make the model flexible, i.e. taking user input for the hidden layers, input and output sizes.
- Make the visualization on the basis of a real time Neural Network
- Create library for the extended versions like CNNs, RNNs, GNNs, etc.
- OpenGL Documentation - https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/
- Transformations in Opengl - https://learnopengl.com/Getting-started/Transformations
- Blending in OpenGL - https://learnopengl.com/Advanced-OpenGL/Blending
- Inspiration - https://youtu.be/3JQ3hYko51Y