Information panel:
...
Information panel:
...
Amplitude
Probability
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.
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)
Pour faire l'expérience de ce qui se passe pendant l'entrainement, je recommande de commencer par un entrainement manuel.
Vous pouvez afficher cet écran à tout moment en cliquant sur:
Il est temps d'entraîner nos voitures
Démarre une nouvelle course, avec le dernier modèle enregistré s'il existe | |
Génère un nouveau circuit |
Démarre un entrainement automatique | |
Arrête l'entrainement automatique |
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) |
Enregistre la meilleure voiture (ou la voiture selectionnée) | |
Supprime le modèle et la meilleure voiture |