|
Page 1 sur 2 Le précédent tutorial sur l’évitement d’obstacle était réalisé avec de la logique floue. Voyons maintenant comment résoudre le même problème avec un réseau de neurone. Nous abordons ici le plus simple des cas, on va chercher à construire un réseau de neurones de type classique perceptron multicouche afin de construire un robot uniquement réactif, ne tenant pas compte de son mouvement précédent. Si l’historique des mouvements est important, on utilise alors un réseau récursif. Voyons donc comment créer, entraîner et tester ce réseau de neurone.
Définition du réseau de neurone Un réseau de neurones de type perceptron multicouche est très facile à créer et son fonctionnement est très intuitif. Je ne rentrerai pas dans le détail du fonctionnement d’un tel réseau, si vous souhaitez plus de détail, je vous conseille d’effectuer une recherche sur Internet il existe de nombreux site sur le sujet. Dans ce tutorial, j’utilise deux logiciels j’ai recours régulièrement : - SIM : simulateur khepera, la version gratuite de l'actuel Webots

Téléchargement : http://diwww.epfl.ch/lami/team/michel/khep-sim/ - SNNS : Stuttgart Neural Network Simulator
Un simulateur de réseau de neurones possédant un très grand nombre de types et de paramètres différents. Téléchargement : http://www-ra.informatik.uni-tuebingen.de/SNNS/ J'ai choisit SNNS parce que j'ai l'habitude de l'utiliser et qu'il permet de générer du code en C. Mais vous pouvez utiliser n'importe quel autre générateur. Le robot utilisé ici est le robot par défault du simulateur : il possède en tout 8 capteurs infra-rouge et 2 vitesses pour chacun des 2 moteurs permettant de faire tourner et avancer le robot. Deux des capteurs sont situés complètement à l'arrière.
 Le tobot de base du simulateur Notre réseau de neurones va donc compter 8 neurones en entrée et 2 neurones en sortie. Voici le rendu du réseau créée sous SNNS.
 Le réseau créé Le réseau de neurones va donc apprendre à donner une valeur pour chacun des moteurs en fonction des valeurs des 8 capteurs. |