Project

To apply novel evolutionary learning techniques to the problem of creating a fully autonomous vehicle in a simulated enviroment.


Research Questions

-Can evolutionary learning be applied successfully to self driving vehicles? With the challenge of high input dimensionality?

-How will a sucsessful unsupervised learning model affect the future development of self driving vehicle algorithms?

-Could hyperparameter optimization reduce the training requirements of advanced autonomous vehicle AI and thus create more optimized models?


Thesis

By applying neuroevolutionary augmenting topologies to a simulated self driving agent, the training hardware requirements and model size will be drastically reduced. This will result in self driving algorithms becoming more effective and more acsessible.

Action Plan



Outline



Literature Review

Pecha Kucha





Evolving Neural Networks through Augmenting Topologies

Contrasts fixed topology networks with evolving ones. Claims increased performance is based on speciation to protect innovation in structure and incremental structure evolution. Broad overview of NEATs, related data structures and experimental findings on widely used datasets. Proposes NEATS make good candidates for featureless high dimensional enviroments.




Lamarckian Evolution of Convolutional Neural Networks

Lamarckian evolution of convolutional neural networks, assumes convolutional networks are best for image classification. Contains a lot of information on the shortcomings of traditional NEATS and how they can be improved with higher functioning neurons to produce better results. Presents promising findings on the viability of NEATs with convolutions for image classification applications. Also describes evolutionary niching, where initially worse solutions are saved and continued to be evolved and evaluated again.




End to End Learning for Self-Driving Cars

Complete description of techniques and models used by Nvidia to create a simple fully autonomous vehicle using supervised data of specialized routes. Presents promising accuracy results for the technique used. Used a fixed topology network of 3 convolutional layers and five fully connected trained with the ADAM optimizer. Supervised learning is not the focus but thus contains good information on the workflow nescassary.




Introduction to Evolutionary Algorithms

Provides a complete indepth look at evolutionary learning techniques including speciacion, niching, mutation operators, and computational space required to execute this style of learning in a reasonable amount of time.




Autoencoder-augmented Neuroevolution for Visual Doom Playing

Very relevant exploration of neuroevolution applied to high dimensional problem space that this strategy has traditionally struggled with. Their proposed solution is an autoencoder to limit the evolutionary dimensionality. Their workflow and process is very relavant and I plan on using elements of it to create the self driving algorithm.




Evolving competitive car controllers for racing games with neuroevolution

Expiriment involving creating competitive driving algorithms with NEATS, their enviroment unlike the DOOM playing one, intrinsically had low input dimensionality. They did not need to adress high input dimensionality but they did create very relavant information on the implementation of NEATs.


Progress Update #1

March 11, 2019


Progress Update #2

April 26, 2019