Imaginez un bébé depuis sa naissance, il met pied dans un nouvel environnement où il doit tout apprendre, marcher, parler, manger et faire des gestes.
Il marche, puis il tombe, jusqu’à trouver l’équilibre, puis après nous assistons à une manifestation festive. Ce sont là un ensemble d’actions qu’il va apprendre pour devenir autonome en un sens. c’est plus complexe dans la vie.
L’apprentissage par renforcement adopte la même stratégie où nous utilisons un environnement simulé similaire à celui réel. l’agent grâce à des algos apprend par des actions récompensés positivement ou négativement : récompense/punition.
Ici, nous n’avons pas d’étiquette, donc ce n’est pas un app supervisé, plutôt un renforcement par action. c’est le cas des jeux d’échecs. AlphaGoZero en est un exemple.
Deux techniques sont utilisés, l’approche avec des modèles où des séries d’actions sont calculées et l’environnement est connu. L’autre, sans modèles où nous apprenons dans un environnement inconnu, c’est par exemple lorsqu’on en voie un fusée dans l’espace.
L’objectif de l’apprentissage par renforcement est d’effectuer des actions qui aboutissent à des récompenses et punitions.
Une technique d’apprentissage renforcée pour maximiser le score où l’agent perçoit son environnement et s’adapte. De l’action, puis de la rétroaction.
Pour formuler un problème d’apprentissage par renforcement RL, nous pouvons faire intervenir le processus décisionnel de Markov (MDP).
Le pourcentage d’utilisation des robots en 2021 a augmenté, et la Covid19 en est une cause. Chez Ziga factory de Tesla, nous avons des robots qui entrent en action.
L’objectif, limiter les tâches répétitives pour les humains et donner cela aux robots. La propriété de Markov stipule que : « Le futur est indépendant du passé étant donné le présent »
Des robots bipèdes… humanoïdes mobiles.
Voici une vidéo d’exemple chez Atlas qui est une plateforme de R&D repoussant les limites de la robotique:
Aussi, sur https://www.bostondynamics.com/ nous voyons des robots chiens automates commandés à distance qui effectuent des inspections où l’homme ne peut s’aventurer.
On peut combiner le DL avec L’apprentissage par renforcement, pour cela il faut user de beaucoup de données puisque nous sommes dans un environnement simulé.
Explorer les concepts théoriques du Deep QN (apprentissage par renforcement)
En RL- renforcement learning -, nous avons : l’agent (qui peut être l’algo) et le problème à résoudre.
Deep QN (Deep Q-Network) est ici notre agent, c’est un algo développé par DeepMind en 2015. Utilisé dans les jeux, il a été conçu pour améliorer l’algorithme Q-Learning. Il combine les réseaux de neurones profonds et le RL (apprentissage par renforcement).
On utilise TensorFlow et Keras pour exécuter et coder leurs propres Deep Q-Networks.
Tensorflow
Tensorflow permet de “créer des modèles de machine learning pour des ordinateurs de bureau, des appareils mobiles, le Web ou le cloud.” tensorflow.org
Avant d’installer Tensorflow, j’ai installé d’abord Python 3.9 qui est compatible avec TensorFlow 2.5.
Puis, avec la commande pip, j’ai installé le package Python TensorFlow.
pip install tensorflow
puis, nous avons :
pip install --upgrade tensorflow
Tensorflow est très utile dans le ML, grâce à ses extensions comme Keras, on peut construire des modèles ML et les exploiter, puis les déployer sur plusieurs plateformes grâce à python.
Keras
Fait avec Python, Keras est issu de Tensorflow, c’est une API, flexible et puissant, très utilisé dans l’apprentissage profond moderne : classification d’image, de texte…
Il s’adapte à des clusters, exploite des modèles javascript, compatible avec plusieurs appareils android, ios, des API. Il est utilisé par de grandes organisations comme la NASA et YouTube.
Concepts et installation des dépendances
Suivre ce tutoriel : https://www.tensorflow.org/agents/tutorials/0_intro_rl