Interact and learn more my latest projects.
ABOUT MY PROJECTS
This is a dedicated space to show off my proudest work. This substrata of personal projects shows my learning processes as I hone my skills in developing my own interest. Accompanying each project are readings, code and videos showing what I have been working on when school gets boring. Hope you enjoy.
Evolution is natures way of extracting the best of the best. For billions of years, evolution brought the single celled organism to the you reading this website. The darwinian evolution processes is now used to develop complex computer systems namely Genetic Algorithmic programs that base their power on the iterative processes of evolution.
Noraml machine learning algorithms requires, hyperparamets such as learning rate, neural connections and number of layers of deepnets to be hard coded by the programer. What if those values aren't optimized? What if the computer can decide how complex its brain is? Welcome to Deep Neuroevolutionary Programming.
Load Fully Evolved Archive: [CTRL] | Speed Up: [E] | Slow Down: [D]
Toggle AI: [A] | Move Shape: [Arrow Keys] | Rotate Shape: [Up Arrow]
Drop Shape: [Down Arrow] | Save State: [Q] | Load State: [W]
Drop Shape: [Down Arrow]| Save State: [Q] | Load State: [W]
Get Archive: [G] | Load Archive: [R] | Pick Shape: [I,O,T,S,Z,J,L]
Neural Evolution of Augmented Topologies
The demo later on evolves an agent population to improve its ability to walk across the screen. The weights and nodes of the neural net is crossed between the different elite organisms. This is my first example of Deep Neuroevolution.
The neural architecture is a simple 3 layer ANN the network connections is decided based on evolution. To the right is a sample of the code for the neural network. The predict function does a forward pass through the neural network.
Reinforcement Learning Algorithms
The goal of the project was to develop a model which uses both CNN's and Q-Learning to leverage Deep Q Learning to train an agent to incrementally improve their gameplay. Points wise, the bot went from 0 - 450 points in 50 games, not too shabby. The image below shows a snipet of this progression in 30x speed. Furthermore, to the right is the main body of the Q-Learning process. The rest of the model can be found on my Github. Here
Over the course of an hour, the was able to show promising results in preformance! The graph on the right shows the mapping of preformance (points) vs number of games . In short, every 3 frames of the game was fed into the model, processed through a CNN, then the following action (A prime) was fed further to calculate loss. Parameters are updated and actions are preformed. TL:DR it uses multiple Neural Nets along with the Q learning algorithm to compute best possible actions for the agent with zero knowledge of how the game works.
Above: shows the preformance (points) vs number of games.
Convolutional Neural Network
I built a convolutional neural network to detect microscope images and classify them as either cancerous, human tissue, or debris. The model is trained on a dataset of 5000 images with a pixel size of 150x150 (black and white). The Image to the right is what the computer sees in the first layer of my model. You can also find the complete neural structure of my model on my Github and all my code. Check out the source code of this website for all the tensorflow JS code. For more info take a peek at my presentation!
Below are a few pictures that my model accepts. 1. Right click to download the pictures and re-upload them to test my model yourself! 2. Upload the image to the website. 3. The predictions will tell you the type of cells the image contains Please note my model ONLY accepts 150x150 grayscale images
This was a very quick project made to introduce me to the area of NLP. The LSTM model, in summary, uses mutliple artificial neural nets and passes the weights forward to the next neural net. Whats special about ths network is it includes embeded words where the neural net finds connection between words. Attention layers help regulate the memory cells of the LSTM. Below is a snipet of a conversation with the bot. Once again, the code is in my github.
The program was from a tutorial from pytorch.org which outlined a super indepth explination. To the right is an example of the code. Currenty LSTM's are still a new area for me. I'm still continuing look into this area of interest. To be continued...