(View in FullScreen)

GlassBox

Neural Network Development, Implementation and Education.


Machine Learning, as any expert in it will tell you, is basically what we've started to call software that we don't really understand how it works.

- James Bridle    


GlassBox is a free, Multi-Platform Artificial Intelligence Tool, focusing on the power of Neural Networks. Using GlassBox, it is possible to generate an Artificial Neural Network of any Architecture and common Initialization Method, apply it to any Problem Dataset, train it with BackPropagation and L1 - L2 Regularization if needed, prune it and analyze how it processes its Inputs to generate its Output.




Network Design

GlassBox can generate an Artificial Neural Network of any Architecture, with Initialization Methods including Xavier Glorot Initialization and Kaiming-He Initialization, as well as traditional Activation Functions, such as ReLU, Sigmoid, TanH and more.


Problem Data

It is possible to directly insert a Problem Dataset from JSON, either by providing the Inputs and Expected Outputs as pairs, by providing a pair of Lists, one of the Inputs and one of Expected Outputs, or simply inserting the Input and Output Lists separately. This Training Data can be split into Training, Validation and Test Sets.


Training Methods

The main Training Method used is Gradient Descent Backpropagation. It is possible to activate its Momentum, as well as add L1 or L2 Regularization and Pruning Methods.


Analysis

GlassBox provides innovative ways to visualize the real process behind the Neural Network's Computation - This is where it gets its name from, as a Black-Box Algorithm suddenly becomes easily understandable with even visual media. Its techniques focus mainly on Gradient Analysis of the Network's features, meaning that it computes exactly how each Node and Layer impacts the Output. Concerning the Visualization:

  • It graphs the Loss of the Network throughout its Training, especially in context with significant changes to its Architecture, such as removing an entire Node or Layer,
  • It can show how each Output Node of the Network is impacted by each Input Node, as well as visualize these connections graphically.
  • It allows the user to control its Training by applying the BackPropagation Algorithm or Pruning Weights step-by-step, in order to observe the increase in its accurcacy across all Data Sets throughout its Training.


GlassBox Beta Version.
Github: https://github.com/Orfeas-Mavros/GlassBox

Download

Download
CS Code.zip 18 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.