Elastic Cares is our philanthropic giving program. Our dedicated Elastic Cares team facilitates donation matching, offers volunteer time off (VTO), and sets up opportunities for Elasticians to get involved in volunteer work. That way, Elastic teams and individuals can donate, volunteer, and give products on a global and local level to charitable organizations where they can have the most impact.
Recently, Elastic Cares launched a pilot program to explore how nonprofit organizations use Elasticsearch. One of the NPOs that have taken advantage of the program is 42AI, an organization created in 2017 to promote the use of artificial intelligence (AI) among members of 42 — a tuition-free programming school in Paris — and its network across the world. 42AI offers a wide variety of training, based on peer-to-peer learning, around AI that is free and open to anyone enrolled at a 42 school or campus — no qualifications required. 42AI reached out to Elastic for help with student support. After a discussion about their specific needs, our educational outreach team decided that the Elastic Cares NPO program would be the best option to help them achieve their goals.
In addition to their classes, 42AI hosts conferences on AI and creates YouTube content featuring expert advice from personalities at 42. They also organize a variety of educational activities such as workshops and bootcamps that allow students and members to train, at their own pace, in the most promising areas of AI. Lastly, 42AI runs The Lab, a facility that gives members the space and time to carry out ambitious projects and develop skills on a specific subject.
42AI used the Elasticsearch cluster allowance donated by Elastic Cares for a very special AI project. Students and members tasked themselves with building a small race car — about 40 centimeters long — that would be controlled by AI.
To accomplish this, 42AI created a neural communication network between the hardware of the car and the software of the computer. This neural communication network is essentially the car’s brain — it can be trained to do new things and learn on its own. To train the car to go around the track, data (in this case, image data) is fed to the neural network. When a photo is fed to the neural network, the image is analyzed and the lines of the track are detected. The car makes future decisions based on the photos.
The pictures used to train the car, numbering in the thousands, are stored in AWS S3. To win a race, the car needs to have quick recall and reflexes. Searching pictures in S3 can be slow, so the team makes labels — basically JSON files — which are attached to each picture and stored in Elasticsearch for indexing and searching.
“Using Elasticsearch greatly helped in the training of the neural network, by offering an efficient way to store the label and search for the most fitted ones at each race,” says Jérémy Jauzion of 42AI. “Training the neural network is the most critical part to winning a race.”
The work is basically done in five steps:
- First, the team builds the neural network model (in Python) for the car.
- Pictures and labels are made and stored in S3 and Elasticsearch.
- The 42AI team then trains the neural network to go different directions using the recorded pictures and their labels.
- Finally, a pre-trained “model” of a generic track is loaded into the car, which is navigated using the pictures and labels. Running through different track scenarios, using the quick recall of Elasticsearch, helps the car learn visual cues for maneuvering correctly around any track the car might face.
- The car is turned on, placed onto the track, and let loose!
This process is repeated for each race. The team usually reuses the same model, training the car for individual tracks with new pictures.
42AI’s AI-driven vehicle won the Iron Car championship in 2018. In 2019, they won the Vivatech Race, and in late 2019 42AI joined the Robo Racing League but unfortunately, due to a late entry, didn’t win. This year, all races have been suspended because of the COVID-19, but 42AI feels they will be ready when races resume.
In the meantime there is plenty of room for improvement. 42AI is currently working on a new neural network structure, new hardware, and different labeling and training to adjust to the Robo Racing championship, which has different rules than the Iron Car. The beauty of AI is that the engineers at 42AI do not control how the neural network on the car works and learns — all they have is control over the input. It’s an exciting process of training, learning, and adjusting.
You can learn more about 42 and 42AI on their websites and if the spirit moves you, and get involved in one of their workshops. And if you’re a non-profit organization looking to use Elastic products in your next project, reach out to the Elastic Cares team for more information.