Learn About Me

Specialized in Artificial Intelligence with a preference in Reinforcement Learning and Natural Language Processing, I invest a lot of my time in developing my knowledge through online courses. I believe that it's important to be a fast-learner in the IA world as new progress are made every day.


Looking forward to working together!
 


Contact

You can contact me at antoninvillemin@hotmail.fr

Or with LinkedIn at https://www.linkedin.com/in/antonin-villemin/


Personal projects


Generative model for lyrics generation using GPT2

Goal: Understand generative models and use a pretrained model on a specific dataset.

The idea was to understand the methods used by the generative models to generate new information. I fine-tuned a GPT2 model on a dataset containing english lyrics. Then, I asked GPT2 to generate new lyrics. The fine-tuned model was performing better at trying to predict the end of lyrics than the original model.


Natural Language Inference

The SNLI corpus is a collection of 570k human-written English sentence pairs manually labeled for balanced classification with the labels entailment, contradiction, and neutral, supporting the task of natural language inference (NLI), also known as recognizing textual entailment (RTE). I had to develop an IA able to determine if one given statement semantically entails another given statement.

This project was a good oppportunity for me to implement different state-of-the-art NLP algorithms like bi-directionnal LSTM using word2vec, BERT, RoBERTa.


Card image cap
Learn to smell: Predicting smell of molecular compounds

Machine Learning Challenge: https://www.aicrowd.com/challenges/learning-to-smell

Goal: Take molecular compounds as an input, parse them through, and predict what multitude of fragrances they contain out of 100+ different ones.

Exemple: Input=CC(CC(=O)OC1CC2C(C1(C)CC2)(C)C)C, Output=coniferous,camphor,fruity

My idea was to consider the input as a classic text as commonly seen in any NLP problems, then use a transformer to predict the fragences.


World Model and Deep NeuroEvolution

Project realized according to the following online course - https://www.udemy.com/artificial-intelligence-masterclass/

Original work - https://worldmodels.github.io/


Abstract:We explore building generative neural network models of popular reinforcement learning environments. Our world model can be trained quickly in an unsupervised manner to learn a compressed spatial and temporal representation of the environment. By using features extracted from the world model as inputs to an agent, we can train a very compact and simple policy that can solve the required task. We can even train our agent entirely inside of its own dream environment generated by its world model, and transfer this policy back into the actual environment.


We can see below the network, the evolution strategy applied to the controller and the final result on a self-driving car.



To realized this project, I had to develop a hybrid IA: it combines all the state of the art models of the different AI branches, including Deep Learning, Deep Reinforcement Learning, Policy Gradient, and Deep NeuroEvolution.

Augmented Random Search

Goal : Implementation of a random search method for training static, linear policies for continuous control problems, matching state-of-the-art sample efficiency on the benchmark MuJoCo locomotion tasks.

The problem aims to optimize reward by directly optimizing over the static policy parameters θ.

This method as been developed in the following research paper - https://arxiv.org/pdf/1803.07055.pdf


Generative Adversarial Networks

GANs are generative models devised by Goodfellow et al. in 2014. In a GAN setup, two differentiable functions, represented by neural networks, are locked in a game. The two players (the generator and the discriminator) have different roles in this framework, as we will se below. In this repository, I'm trying to generate hand-written digits as below. To do this, I had to learn what is a GAN and how it works.


Reinforcement Learning in Minecraft

I wanted to create my own bot from scratch to realize different tasks. The first task that I completed was to run inside a maze in order to reach a final block, without falling into the lava.

I first apply a Q-learning algorithm, taking as input the position of the player. The goal was to reach the blue block inside a static maze. Then I realized a deep Q-learning algorithm, taking as input the image seen by the player. The final reward and the maze are evolving at each try. I also started to realize the same task with a A3C algorithm, but I still have to finish it.


       


Finally, I applied a World Model seen in the project above to resolve this task .

Understand Style Transfer

My goal with this project was to understand the mathematics behind a Style Transfer, and to apply it. The code comes directly from the PyTorch website, I didn't do it by my own. It is using the pretrained network VGG-19.


      

Kaggle Competitions

I realized two Kaggle challenges on my free time.

The goal of the first one was to predict the sales price of each house in the dataset, thanks to 79 explanatory variables describing every aspect of residential homes.

The goal of the second was to create a Digit Recognizer. The model takes as input a hand-written digit and it has to predict what is the corresponding digit.

My goal wasn't to reach the top 1% of the leader board but only to get experience in machine learning. That's why I realized very basic models.


Datascience Total - Challenge Mines Télécom

Datascience competition between 13 engineering schools in France, organized by Total: link.

The goal of this competition was to predict the daily sells of 204 articles in two different shops. I was selected to send a report about my solution. You can find it, in French, on my GitHub.

My rank: 2nd over 176 participants.


Skills

Languages

fr French - Native      en English - Fluent (TOEFL 607/677 - 2017)     es Spanish - Fluent

Programming Languages

Python, Java, C++, Matlab, SQL, bash, Prolog

Libraries/Framework

Scikit-learn, keras, pyTorch, tensorflow, pySpark, OpenCV, pandas

OS/software

Linux, Windows, Android Studio, ROS, Gazebo, rviz, GitHub

On my free time

Raspberry Pie, Arduino, Android applications, domotics, gym.openai, kaggle challenges

Extra Professional

Cooking, swimming (12 years in club), climbing, rugby, running, hiking, traveling


Education

Card image cap

IMT Atlantique - Master of Engineering

GPA : 3.7

Specialized in Computer Science and Electronics

Revelant courses:

- Machine Learning

- Deep Learning

- Computer Vision

- Robotics (ROS, rviz, gazebo)

- Probabilities

- Signal Processing

- Database Management

- Electronics

- Network/ telecommunications

- Economy

- Management/Law


Card image cap

Card image cap

Udemy - Online Courses

Courses followed:

Machine Learning A-Z™: Hands-On Python & R In Data Science - 41h :
- Regression, classification and clustering
- Reinforcement Learning
- Natural Language Processing
- Dimensionality reduction, Grid Search and k-cross validation
Deep Learning A-Z™: Hands-On Artificial Neural Networks - 23h :
- Artificial neural network, CNN, Self Organizing Maps, Boltzmann Machines and AutoEncoders
Artificial Intelligence A-Z™: Learn How To Build An AI - 17h :
- Deep Q-Learning, A3C
Artificial Intelligence 2018: Build the Most Powerful AI - 5h :
- Augmented Random Search
Spark and Python for Big Data with PySpark - 3.5h :
- RDD, Pair RDD, Spark SQL, Spark application on Amazon EMR cluster (using AWS)
Blockchain A-Z™: Learn How To Build Your First Blockchain - 14.5h :
- Blockchain, Cryptocurrency and Smart Contract
Artificial Intelligence Masterclass - 11.5h :
- Deep NeuroEvolution, Hybrid IA, World Model, VAE, MDN-RNN and Evolution Strategies

Card image cap

Polytechnique Montréal - Exchange Program

One semester in the computer science department of Polytechnique Montréal.

Courses:

- Natural Language Processing
- Artificial Intelligence
- Distributed Systems and Cloud Computing
- Cyber Security
- Data Structures and Algorithms


Card image cap

Card image cap

Indian Institute of Technology Delhi - Exchange Program

One semester in the electrical department of IIT Delhi, the first engineering school in India.

Courses:

- Database Management
- Digital Electronics
- Image Processing
- VLSI Design


Card image cap

Card image cap

Université de Bretagne Occidentale - Bachelor of Physics

Dual Diploma alongside the engineering course.

Revelant courses:

- Statistical physics
- Physical optics
- New Technologies in energies

Card image cap

Lycée Franklin Roosevelt - Preparatory Classes

Description of the Preparatory Classes in France:

To get into one of the French Engineering Schools, most students will take a very competitive national exam at the end of the two-year program in one of the CPGE. This national exam includes written tests during several weeks that will challenge the students on what they have learned for the past two years.

Revelant courses:

- Mathematics

- Physics

- Chemistry

- Computer Science


Experience

Card image cap

BNP Paribas Cardif - Lead Data Scientist - 1 years

Worked in the Regional Team as IA expert to develop and deploy predictive models in all Latino America. Held the position of technical lead, supporting around ten data scientists on their projects. Deployed several models, including claims automation models or pricing models, while facilitating collaborative developments across different countries.

Card image cap

BNP Paribas Cardif - Data Scientist - 2 years

Developed Machine Learning models to improve the overall insurance business. Improve sales: propensity and churn models. Improve customer satisfaction: email classification model and topic modeling on customers reviews. Communicated Analytics value proposal in the company. Helped business partners with their data.

Card image cap

Safran Electronics & Defense - Research intern in Artificial Intelligence - 6 months

Department: PAD - Prototypage Agilité Déploiement


Mission : Developed an IA able to control an upper-limb exoskeleton for the French Army. The goal was to predict the soldier’s movements so that the exoskeleton can anticipate its own movements. To get to this point, I had to build my own prototype from electronics to control engineering.


Skills: PyTorch, Keras, TensorFlow, robotics and control engineering

Card image cap

Amadeus IT Group - Research intern in Machine Learning - 6 months

Department: Schedule & Flight Operations


Mission : Use weather forecast for flight disruption risk management

I realized a machine learning algorithm able to predict if a flight is going to be cancelled or delayed because of the weather. The algorithm had to be efficient for all the domestic flights in the US.


Skills: Python, scikit-learn, keras, tensorflow, pyTorch, pySpark, MLlib and Cuda

Volunter Experience

Card image cap

Student Office of IMT Atlantique - Treasurer

Management of a budget of 210 000€

Relation between the students and the administration (discussion about the calendar, the facilities and the courses)

Team management

Organization of events and travels (week-end for 200 students)

Organization of a TEDx:


Card image cap

Card image cap

Teubreux Sans Frontières - Member

Teubreux Sans Frontières is the humanitarian association of IMT Atlantique.

Missions: - Computer Science courses for migrants

- Construction of a communal house for a community of 150 people in a forest of Nicaragua for one month. We also had to raised the funds before to buy all the materials.


Card image cap

RESUME