Outils pour utilisateurs

Outils du site


intelligence_du_pendule_de_furuta

Ceci est une ancienne révision du document !


Intelligence du Pendule de Furuta

C'est quoi une Intelligence Artificielle ?

Une Intelligence Artificielle n'est jamais intelligente.
C'est un programme informatique qui comprend à un moment donné un Apprentissage Statistique.

Ressources

Principes

L'apprentissage se compose de cycles, un cycle comprend des steps.
Un step est:

  • Le pendule envoie 4 items: (position, vitesse) du chariot, (position, vitesse) du pendule.
  • Le serveur répond par une impulsion sur le moteur dans un sens ou dans l'autre, de combien à définir empiriquement.

Un cycle se termine au bout de 2000 steps.

Installation de l'intelligence artificielle

Nous utilisons Gym de OpenAI et Stable-Baselines3.

Stable-baselines3

Le code de Stable-baselines est le code de Baselines nettoyé, amélioré, documenté. Stable-baselines3 est la dernière version, il utilise Torch. Documentation de stable-baselines3 @ stable-baselines3.readthedocs.io ===Installation:=== Les modules python à installer: stable-baselines3 et pyglet. Pyglet ne sert qu'a tester l'installation. L'installation de stable-baselines3 installe gym et installe tout ce qui est dans requirements.txt <code bash> # Installation et Mise à jour du module pip sudo apt install python3-pip python3 -m pip install –upgrade pip # Installation de venv sudo apt install python3-venv </code> Dans votre dossier “projets”, par exemple /home/machin/projets <code bash> git clone https://github.com/sergeLabo/furuta # Allez dans le dossier des sources cd ./furuta python3 -m venv mon_env source mon_env/bin/activate python3 -m pip install -r requirements.txt </code> =====Suivi de l'efficacité de l'apprentissage avec tensorboard===== ====Installation, utilisation==== tensorboard est dans les requirements.
Voir
train_test.py pour l'implémentation.
Dans le dossier du projet, qui contient le venv=mon_env, lancer en terminal: ./mon_env/bin/tensorboard –logdir=logs Dans un navigateur: http://localhost:6006/ ====Des exemples==== ====Moyenne des récompenses==== Permet d'apprécier l'efficacité de l'apprentissage
avec rollout/ep_rew_nean =====Tableau d'Optimisation des Paramètres du Pendule de FURUTA=====
Parameter Optimization ^Numéro ^ 06 ^ 07 ^ 08 ^ 09 ^ 10 ^ 11 ^ 14 ^ 15 ^ |Learning Rate en 10-4| 10 | 50 | 20 | 20 | 7 | 12 | 3 | 8 | |Ent Coef en 10-3 | 1 | 1 | 1 | 2 | 1 | 1 | 0 | 1 | |Vf Coef | 0.55 | 0.55 | 0.55 | 0.55 | 0.51 | 0.55 | 0.5 | 0.55 | |Nombre de steps | 276 000 | 82 000 | 614 000| 307 000 | 307 000 | 512 000 | 307 000 | 1 000 000 | |Note d'efficacité sur 10 | 6 | 0 | 3 | 1 | 2 | 5 | 5 | | Le nombre de steps doit être d'au moins 1 millions pour commencer à noter la rapidité d'un apprentissage** L'apprentissage par renforcement passe par des phase de progrès et de chaos. Ces chaos permettent d'explorer tous les situations. La récompense est le produit de la récompense du chariot par la récompense du balancier. Il faut beaucoup de temps pour que le model intègre cette notion.

intelligence_du_pendule_de_furuta.1653419477.txt.gz · Dernière modification : 2022/05/24 19:11 de serge