AI, Reinforcement Learning, Machine Learning...


1)  Here are some of my projects that I've made while teaching myself Machine Learning.  These are the projects that at least have some visual component, mostly games with some form of Neuro-Evolution. 

2)  I will link to another page for my non-visual projects, transfer learning of pre-trained models, creating and using Convolutional Neural Networks, and Deep Reinforcement Learning.


Neuro-Evolutionary Models:

  • In each project's page I've put some description and links to the code on the P5JS's web editor.  I've made several variants of each project.  Most were originally written in Java or Python, but I made Javascript versions so they could be accessible in a browser.
  • Also for each project I usually have 3 versions,:
    • One with my own vanilla code to create and train the Neural Networks,
    • One using Tensors but not creating a model (i.e. using the tensor's linear algebra functions to calculate the weights and outputs)
    • And lastly one using the Layers API to create a full TensorFlow model.
  • SPOILER:  the TensorFlow Models actually performed the worst.  That's just because the model has so much functionality built into it, that isn't useful in these simple cases, and it slows the program to a crawl.
  • Two huge influences are Code Bullet and of course Coding Train.  Many of these projects inspiration came from Code Bullet's videos.  I used them for inspiration and reference only. I have not simply copied his code.  Simply copying code would have not taught me a thing or have been any fun.  The only code I directly copied was Coding Train's Matrix class.  The Matrix class creates a matrix object and has several very useful Linear Algebra methods.




Autonomous Vehicle
Neuro-Evolution
track

Project Page: Autonomous Vehicle
 link to run/view code: Car Track NE javascript
3D Flappy Bird
TensorFlow Neuro-Evolution
flappy 3d
Project Page: 3D Flappy Bird with TensorFlow JS
 link to run/viewcode: 3D Flappy Bird javascript
Flappy Bird
Neuro-Evolution
Difficulty Level:  lots of fun*

flappy
Project Page: Flappy Bird NE
link to run/viewcode: Flappy Bird Javascript

Google's Dino Run
 Neuro-Evolution
dino

Project Page: Dino Run
 link to run/viewcode:  Dino NE javascript
Dots
Plain Genetic Algorithm and Neuro-Evolution
dots

Project Page: Dots GA/NE
link to run/view code: Dots GA javascript
Snake Game
Neuro-Evolution
snake
Project Page: Snake Game NE
link to run/view  code: Snake Game Javascript
Worlds Hardest Game
difficulty level: banged this out in a few hours*
whg
Project Page: WHG
link to run/view code: WHG NE Javascript
Rubix Cube:
Coding Train uploaded a Processing program of a Rubix Cube.
I want to try to use a genetic algorithm to solve it.
So far I've got a population of independent cubes,
now I have to make sure every generation starts at the same
initial scramble, create a fitness function, and some sort of
crossover function.
cube
Matter.js
I started working on a walking simulation, but ran into
issues with matter.js.  I hope to come back to it someday

matter
Project Page: Matter.js
link to run/view code: Matter.js Javascript