Ray Based Distributed Autonomous Vehicle Research Platform
  My project tackles the question of whether Ray can be used to quickly train
autonomous vehicles using a simulator (Carla), and whether a platform robust
enough for further research purposes can be built around it. Ray is an
open-source framework that enables distributed machine learning applications.
Distributed computing is a technique which parallelizes computational tasks,
such as training a model, among many machines. Ray abstracts away the complex
coordination of these machines, making it rapidly scalable. Carla is a vehicle
simulator that generates data used to train a model. The bulk of the project
was writing the training logic that Ray would use to train my distributed
model. Imitation learning is the best fit for autonomous vehicles. Imitation
learning is an alternative to reinforcement learning and it works by trying to
learn the optimal policy by imitating an expert (usually a human) given a set
of demonstrations. A key deliverable for the project was showcasing my trained
agent in a few benchmark tests, such as navigating a complex turn through
traffic. Beyond that, the broader ambition was to develop a research platform
where others could quickly train and run experiments on huge amounts of Carla
vehicle data. Thus, my end product is not a single model, but a large-scale,
open-source research platform (RayCarla) for autonomous vehicle researchers to
utilize.
