Information panel:

...

Help
Play
Training
Mutation

Amplitude

Probability

Model

Bienvenue sur ce projet de Reinforcement Learning

Si vous lisez ce texte, c'est très probablement parce que j'ai postulé pour rejoindre votre entreprise en tant que développeur.

J'espère que ce projet saura vous convaincre de mes capacités en code et que vous vous amuserez autant à le tester que moi à l'écrire.


Objectif du projet RL Lab

Ce projet a pour objectif d'apprendre à des "voitures" à suivre une route grace à un algorithme de Reinforcement Learning simple: L'algorithme génétique.

Les "voitures" disposent de senseurs et d'un comportement dicté par un Réseau de Neurones initialement aléatoire. Elles apprenent ensuite la conduite par un mécanisme similaire à la selection naturelle.

Cinquante (50) voitures démarrent chaque course. La meilleure voiture sur 10 courses voit son Réseau de Neurones enegistré. Les voitures des 10 courses suivantes disposent d'une copie de ce Réseau avec une légère mutation spécifique à chaque voiture.

Le process est répété jusqu'à atteindre un Score (Reward) de 500 points (équivalent à 2 à 3 tours de circuit)


Entrainement manuel

Pour faire l'expérience de ce qui se passe pendant l'entrainement, je recommande de commencer par un entrainement manuel.

  1. Cliquer sur START
  2. La meilleure voiture est affichée en bleu
  3. Il est possible de selectionner une voiture en cliquant dessus
  4. Cliquer sur SAVE pour enregistrer la meilleure voiture (ou la voiture selectionnée)
  5. Cliquer sur START pour recommencer une course avec le nouveau réseau
  6. Entre deux courses, jouer sur les mutations pour voir l'effet
  7. Recommencez jusqu'à avoir une voiture qui fait un tour complet !

Comment ça marche ?

Vous pouvez afficher cet écran à tout moment en cliquant sur:

Il est temps d'entraîner nos voitures


Play
Démarre une nouvelle course, avec le dernier modèle enregistré s'il existe
Génère un nouveau circuit

Training
Démarre un entrainement automatique
Arrête l'entrainement automatique

Mutation
Amplitude Définit l'amplitude de la mutation pour les neurones (pareil = 0 | 100% = completement aléatoire)
Probability Définit la probabilité qu'un neurone subisse une mutation (aucun neurone = 0 | 100% = tous les neurones)

Model
Enregistre la meilleure voiture (ou la voiture selectionnée)
Supprime le modèle et la meilleure voiture