Inspiration

I have always been interested in deep learning and AI in general. The fact that we can make inanimate object do seemingly intelligent things that only human could do before is fascinating. However, for beginners and learning like I once was, it is extremely difficult to test, understand, and experience with deep learning first hand, as it requires advanced programming skills and high level math knowledge. The concept of neural networks and machine learning is always there and simple enough to understand, there is just no easy way to play with it. Now as an AI developer myself who has created many project ranging from speech detection to music generation, facial recognition to image creation, I want to give the next generation of developer this amazing and useful knowledge. So that is why I created AIVIS.

What it does

AIVIS is an online application aimed to take away the complications in creating custom deep learning neural networks. With just a few clicks you can get your network up and running. It is perfect when you just want to test out a certain neural network structure but don't want to go through the trouble of writing so much code, or just when you want to test out what a neural network can do after you learned about its concepts.

How I built it

In order to run this on a web browser, I had to create the entire application with HTML, CSS, and JS for processing. In order to make processing faster and more realistic, TensorFlow.JS is used on the front-end to deliver the training performances. This makes it so no centralized processing servers are needed, meaning it can be hosted on even just a GitHub site. Since the training and testing are done through the user's hardware, it can even be used to benchmark just how capable it is to process neural networks!

Challenges I ran into

It was incredibly difficult to make a modifiable neural network that compensates for over and under fitting, exploding and vanishing gradients, and different types of activation functions. Especially that the user can upload their own data for training and testing, it is incredibly difficult to check if the created network can be used with the given data at any size.

Accomplishments that I'm proud of

I am very proud of the simplistic features of the UI, as it makes the experience a lot easier to use and nicer to look at. The custom neural network and help button was definitely one of the hardest to make, as it requires a lot of parameters to get right.

What I learned

Through this project, I learned that TensorFlow is incredibly capable in handling large data, and what is needed to prevent the most common types of training errors, such as over fitting.

What's next for AIVIS

Currently AIVIS is still in prototype stage, and it only has the option to create MLP architecture, which is very limiting. The next step is to add in more architectural choices such as convolution, recurrence, LSTM, Transformers, and more.

Built With

Share this project:

Updates