Introduction à l'apprentissage par renforcement
L'apprentissage par renforcement est un type d'apprentissage automatique et, par conséquent, il fait également partie de l'intelligence artificielle.Lorsqu'il est appliqué aux systèmes, les systèmes effectuent des étapes et apprennent en fonction du résultat des étapes pour obtenir un objectif complexe défini pour le système.
Comprendre l'apprentissage par renforcement
Essayons de sous le fonctionnement de l'apprentissage par renforcement à l'aide de 2 cas d'utilisation simples:
Cas 1
Il y a un bébé dans la famille et elle vient de commencer à marcher et tout le monde en est très content. Un jour, les parents essaient de se fixer un objectif, laissez-nous le bébé atteindre le canapé et voir si le bébé est capable de le faire.
Résultat du cas 1: Le bébé atteint avec succès le canapé et donc tout le monde dans la famille est très heureux de voir cela. Le chemin choisi est désormais accompagné d'une récompense positive.
Points: Récompense + (+ n) → Récompense positive.
Source: https://images.app.goo.gl/pGCXJ1N1bzLAer126
Cas # 2
Le bébé n'a pas pu atteindre le canapé et le bébé est tombé. Ça fait mal! Quelle pourrait être la raison? Il y avait peut-être des obstacles sur le chemin du canapé et le bébé était tombé sur des obstacles.
Résultat du cas 2: le bébé tombe à certains obstacles et elle pleure! Oh, c'était mauvais, apprit-elle, de ne pas tomber dans le piège de l'obstacle la prochaine fois. Le chemin choisi est désormais accompagné d'une récompense négative.
Points: Récompenses + (-n) → Récompense négative.
Source: https://images.app.goo.gl/FRfd8cUqrQRLe6sZ7
Cela nous a maintenant vu les cas 1 et 2, l'apprentissage par renforcement, dans le concept, fait la même chose, sauf qu'il n'est pas humain, mais plutôt effectué par ordinateur.
Utilisation du renforcement par étapes
Comprenons l'apprentissage du renforcement en amenant un agent de renforcement de manière progressive. Dans cet exemple, notre agent d'apprentissage par renforcement est Mario, qui apprendra à jouer seul:
Source: https://images.app.goo.gl/Kj44uvBzWzMw1QzE9
- L'état actuel de l'environnement de jeu Mario est S_0. Parce que le jeu n'a pas encore commencé et que le Mario est à sa place.
- Ensuite, le jeu démarre et Mario se déplace, l'agent Mario ie RL prend et agit, disons A_0.
- Maintenant, l'état de l'environnement de jeu est devenu S_1.
- De plus, l'agent RL, c'est-à-dire le Mario, est désormais affecté d'un point de récompense positif, R_1, probablement parce que le Mario est toujours en vie et qu'il n'y a pas eu de danger.
Maintenant, la boucle ci-dessus continuera de fonctionner jusqu'à ce que le Mario soit finalement mort ou que le Mario atteigne sa destination. Ce modèle produira en continu l'action, la récompense et l'état.
Récompenses de maximisation
L'objectif de l'apprentissage par renforcement est de maximiser les récompenses en tenant compte de certains autres facteurs comme la remise des récompenses; nous expliquerons brièvement ce que l'on entend par remise à l'aide d'une illustration.
La formule cumulative des récompenses à prix réduit est la suivante:
Récompenses d'escompte
Comprenons cela à travers un exemple:
- Dans la figure donnée, l'objectif est que la souris dans le jeu doit manger autant de fromage avant d'être mangée par un chat ou sans être soumise à des électrochocs.
- Maintenant, nous pouvons supposer que plus nous sommes proches du chat ou du piège électrique, plus nous permettons à la souris d'être mangée ou choquée.
- Cela implique, même si nous avons du fromage plein près du bloc de choc électrique ou près du chat, plus il est risqué d'y aller, mieux vaut manger le fromage qui est à proximité afin d'éviter tout risque.
- Donc, même si nous avons un «bloc 1» de fromage qui est plein et est loin du chat et du bloc de choc électrique et l'autre «bloc 2», qui est également plein mais qui est soit près du chat ou du bloc de choc électrique, le dernier bloc de fromage, c'est-à-dire le «bloc 2», sera plus réduit en récompenses que le précédent.
Source: https://images.app.goo.gl/8QrH78FjmRVs5Wxk8
Source: https://cdn-images-1.medium.com/max/800/1*l8wl4hZvZAiLU56hT9vLlg.png.webp
Types d'apprentissage par renforcement
Voici les deux types d'apprentissage par renforcement avec leurs avantages et leurs inconvénients:
1. Positif
Lorsque la force et la fréquence du comportement sont augmentées en raison de l'apparition de certains comportements particuliers, on parle d'apprentissage par renforcement positif.
Avantages: Les performances sont maximisées et le changement reste plus longtemps.
Inconvénients: les résultats peuvent être diminués si nous avons trop de renforcement.
2. Négatif
C'est le renforcement du comportement, principalement à cause de la disparition du terme négatif.
Avantages: le comportement est augmenté.
Inconvénients: Seul le comportement minimum du modèle peut être atteint à l'aide d'un apprentissage par renforcement négatif.
Où l'apprentissage par renforcement devrait-il être utilisé?
Choses qui peuvent être faites avec l'apprentissage par renforcement / exemples. Voici les domaines dans lesquels l'apprentissage par renforcement est utilisé de nos jours:
- Soins de santé
- Éducation
- Jeux
- Vision par ordinateur
- Gestion d'entreprise
- Robotique
- La finance
- PNL (Traitement du langage naturel)
- Transport
- Énergie
Carrières dans l'apprentissage par renforcement
Il existe en effet un rapport sur le site de l'emploi, car RL est une branche du Machine Learning, selon le rapport, le Machine Learning est le meilleur travail de 2019. Ci-dessous est l'instantané du rapport. Selon les tendances actuelles, un ingénieur en apprentissage machine a un salaire moyen énorme de 146 085 $ et un taux de croissance de 344%.
Source: https://i0.wp.com/www.artificialintelligence-news.com/wp-content/uploads/2019/03/indeed-top-jobs-2019-best.jpg.webp?w=654&ssl=1
Compétences pour l'apprentissage par renforcement
Voici les compétences nécessaires pour l'apprentissage par renforcement:
1. Compétences de base
- Probabilité
- Statistiques
- La modélisation des données
2. Compétences en programmation
- Fondements de la programmation et de l'informatique
- Conception de logiciels
- Capable d'appliquer des bibliothèques et des algorithmes d'apprentissage automatique
3. Langages de programmation d'apprentissage automatique
- Python
- R
- Bien qu'il existe également d'autres langages où des modèles de Machine Learning peuvent être conçus tels que Java, C / C ++ mais Python et R sont les langages les plus privilégiés.
Conclusion
Dans cet article, nous avons commencé par une brève introduction sur l'apprentissage par renforcement, puis nous avons approfondi le fonctionnement du RL et divers facteurs impliqués dans le travail des modèles du RL. Ensuite, nous avions mis quelques exemples concrets pour mieux comprendre le sujet. À la fin de cet article, il faut avoir une bonne compréhension du fonctionnement de l'apprentissage par renforcement.
Articles recommandés
Ceci est un guide sur Qu'est-ce que l'apprentissage par renforcement?. Nous discutons ici de la fonction et des divers facteurs impliqués dans le développement de modèles d'apprentissage par renforcement, avec des exemples. Vous pouvez également consulter nos autres articles connexes pour en savoir plus -
- Types d'algorithmes d'apprentissage automatique
- Introduction à l'intelligence artificielle
- Outils d'intelligence artificielle
- Plateforme IoT
- Top 6 des langages de programmation d'apprentissage automatique