{"id":1401,"date":"2024-07-07T12:31:58","date_gmt":"2024-07-07T10:31:58","guid":{"rendered":"https:\/\/artificiellementintelligent.wordpress.com\/?p=1401"},"modified":"2024-07-07T12:31:58","modified_gmt":"2024-07-07T10:31:58","slug":"taxonomie-de-l-apprentissage-machine","status":"publish","type":"post","link":"https:\/\/artificiellementintelligent.eu\/index.php\/2024\/07\/07\/taxonomie-de-l-apprentissage-machine\/","title":{"rendered":"Taxonomie de l&rsquo; apprentissage machine"},"content":{"rendered":"\n<p>L&rsquo; Intelligence Artificielle a pour objectif de construire des syst\u00e8mes qui simulent un comportement intelligent. Ceci reprend un grand nombre de techniques dont l&rsquo; <em>apprentissage machine<\/em> constitue une partie importante. C&rsquo;est l&rsquo;apprentissage machine, et plus particuli\u00e8rement sa d\u00e9clinaison moderne faisant appel aux r\u00e9seaux de neurones artificiels, appel\u00e9e <em>apprentissage profond<\/em> qui a vu une croissance explosive ces derni\u00e8res ann\u00e9es et se retrouve au coeur de tous les progr\u00e8s r\u00e9cents (conduite autonome, mod\u00e8les de langage, g\u00e9n\u00e9rateurs d&rsquo;image&#8230;).<\/p>\n\n\n\n<p>Il me semble donc int\u00e9ressant de d\u00e9crire un peu plus en d\u00e9tail les grandes techniques de l&rsquo; apprentissage machine, qui se caract\u00e9risent par la quantit\u00e9 et le type de supervision qu&rsquo; ils re\u00e7oivent pendant l&rsquo; entra\u00eenement.<\/p>\n\n\n\n<p>On distingue de ce fait trois grandes cat\u00e9gories d&rsquo; algorithmes :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>l&rsquo; apprentissage supervis\u00e9;<\/li>\n\n\n\n<li>l&rsquo; apprentissage non supervis\u00e9;<\/li>\n\n\n\n<li>l&rsquo; apprentissage par renforcement<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/artificiellementintelligent.wordpress.com\/wp-content\/uploads\/2024\/07\/image-20240707a-1.png\" alt=\"\" class=\"wp-image-1424\" \/><figcaption class=\"wp-element-caption\">Figure 1 : Les familles d&rsquo; algorithmes de l&rsquo; apprentissage machine<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Le nombre de techniques et d&rsquo; algorithmes utilis\u00e9s en apprentissage machine est assez important, comme vous le verrez sur la figure ci-dessous. Mon but n&rsquo; \u00e9tant pas ici de faire un expos\u00e9 exhaustif, je me limiterai \u00e0 pr\u00e9senter les techniques les plus connues.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/artificiellementintelligent.wordpress.com\/wp-content\/uploads\/2024\/07\/image-20240707b.png\" alt=\"\" class=\"wp-image-1409\" \/><figcaption class=\"wp-element-caption\">Figure 2 : Une vue d\u00e9taill\u00e9e des techniques d&rsquo; apprentissage machine<\/figcaption><\/figure>\n<\/div>\n\n\n<p>L&rsquo; apprentissage machine recourt \u00e0 une d\u00e9marche <em>inductive<\/em> qui va chercher \u00e0 construire un mod\u00e8le sur base d&rsquo; exemples fournis pendant l&rsquo; entra\u00eenement. Une fois l&rsquo; entra\u00eenement termin\u00e9, le mod\u00e8le sera utilis\u00e9 sur d&rsquo; autres donn\u00e9es. Un mod\u00e8le bien entra\u00een\u00e9 va donc tenter de g\u00e9n\u00e9raliser les corr\u00e9lations apprises pendant l&rsquo; entra\u00eenement sur de nouvelles donn\u00e9es. Ceci est \u00e0 contraster avec l&rsquo; approche algorithmique de l&rsquo; IA classique qui est de nature <em>d\u00e9ductive<\/em>: un algorithme fixe est appliqu\u00e9 syst\u00e9matiquement \u00e0 des donn\u00e9es et fournit ses conclusions.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/artificiellementintelligent.wordpress.com\/wp-content\/uploads\/2024\/07\/image-20240707c.png\" alt=\"\" class=\"wp-image-1411\" \/><figcaption class=\"wp-element-caption\">Figure 3 : Apprentissage machine et IA traditionnelle<\/figcaption><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. L&rsquo; apprentissage supervis\u00e9<\/h2>\n\n\n\n<p>C&rsquo; est le cas le plus simple \u00e0 comprendre. Ces algorithmes d\u00e9finissent une correspondance entre des donn\u00e9es d&rsquo; entr\u00e9e et des donn\u00e9es de sortie. Un mod\u00e8le supervis\u00e9 est donc une sorte de bo\u00eete noire qui va apprendre \u00e0 ing\u00e9rer des donn\u00e9es en entr\u00e9e pour restituer les donn\u00e9es en sortie correspondantes. La bo\u00eete noire est en r\u00e9alit\u00e9 une fonction math\u00e9matique contenant de (nombreux) param\u00e8tres r\u00e9glables.<\/p>\n\n\n\n<p>Le lien entre donn\u00e9es d&rsquo; entr\u00e9e et de sortie est \u00e9tabli lors de l&rsquo; apprentissage: on \u00e9value l&rsquo; \u00e9cart entre la r\u00e9ponse d\u00e9sir\u00e9e et la r\u00e9ponse du mod\u00e8le. Les param\u00e8tres du mod\u00e8le sont ensuite modifi\u00e9s de mani\u00e8re \u00e0 r\u00e9duire progressivement cette erreur au fil des it\u00e9rations par des techniques math\u00e9matiques qui vont tenter de \u00ab\u00a0d\u00e9valer la montagne\u00a0\u00bb de l&rsquo; erreur en suivant la direction de la plus forte pente&#8230;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/artificiellementintelligent.wordpress.com\/wp-content\/uploads\/2024\/07\/image-20240707d.jpg\" alt=\"\" class=\"wp-image-1412\" \/><figcaption class=\"wp-element-caption\">Figure 4 : Illustration de la d\u00e9croissance de l&rsquo; erreur au fil de l&rsquo; entra\u00eenement<\/figcaption><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>Tout cela n&rsquo;est possible que si les donn\u00e9es \u00e0 la fois d&rsquo;entr\u00e9e et de sortie dont de nature num\u00e9rique, ce qui ne pose en g\u00e9n\u00e9ral pas de probl\u00e8me : tout ce qui est stock\u00e9 sur un ordinateur l&rsquo; est sous forme num\u00e9rique : texte, image, audio&#8230;<\/p>\n\n\n\n<p>Une fois l&rsquo; entra\u00eenement termin\u00e9, on introduira des donn\u00e9es en entr\u00e9e et le mod\u00e8le de produira la sortie correspondante. Bien s\u00fbr, cela ne pr\u00e9senterait aucun int\u00e9r\u00eat si le mod\u00e8le \u00e9tait seulement capable de r\u00e9pondre aux donn\u00e9es d&rsquo;entr\u00e9e de l&rsquo;entra\u00eenement : ce que l&rsquo; on veut r\u00e9ellement, c&rsquo; est que le mod\u00e8le soit capable de <em>g\u00e9n\u00e9raliser<\/em> en r\u00e9pondant de mani\u00e8re plausible \u00e0 de nouvelles donn\u00e9es d&rsquo;entr\u00e9e qui ne lui ont jamais \u00e9t\u00e9 pr\u00e9sent\u00e9es.<\/p>\n\n\n\n<p>Les deux grands exemples classiques d&rsquo; apprentissage supervis\u00e9 en <em>apprentissage machine<\/em> sont la r\u00e9gression et la classification. La r\u00e9gression est utilis\u00e9e pour pr\u00e9dire des valeurs num\u00e9riques telles que le prix, le salaire, l&rsquo; \u00e2ge, etc&#8230; Elle aide \u00e0 pr\u00e9dire les tendances du march\u00e9, les prix de l&rsquo; immobilier, la consommation \u00e9lectrique etc&#8230;<\/p>\n\n\n\n<p>La <em>classification<\/em> est un processus qui consiste \u00e0 diviser l&rsquo; ensemble des donn\u00e9es en diff\u00e9rentes classes. Les algorithmes de classification sont utilis\u00e9s pour classer dans une cat\u00e9gorie\/classe telles que Homme ou Femme, Vrai ou Faux, Spam ou Non Spam, etc. Le nombre de de classes peut \u00eatre sup\u00e9rieur \u00e0 deux, on pourrait vouloir classer des voitures en fonction de la marque par exemple (on parle de classification <em>binaire<\/em> ou <em>multiclasse<\/em>).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/artificiellementintelligent.wordpress.com\/wp-content\/uploads\/2024\/07\/image-20240707e.png\" alt=\"\" class=\"wp-image-1414\" \/><figcaption class=\"wp-element-caption\">Figure 5 : R\u00e9gression et classification<\/figcaption><\/figure>\n<\/div>\n\n\n<p>L&rsquo; apprentissage profond permet d&rsquo; \u00e9tendre ces techniques \u00e0 des donn\u00e9es d&rsquo; entr\u00e9e perceptuelles comme des images ou des sons. Le \u00ab\u00a0d\u00e9tecteur de chat\u00a0\u00bb dans les images qui faisait fureur il y a une dizaine d&rsquo; ann\u00e9es l&rsquo; illustre bien : il s&rsquo;agit d&rsquo; un syst\u00e8me de classification d&rsquo; image (chat ou pas chat).<\/p>\n\n\n\n<p>Un probl\u00e8me de l&rsquo; apprentissage supervis\u00e9 est qu&rsquo; il faut fournir au mod\u00e8le un ensemble de solutions (les sorties) pour l&rsquo; entra\u00eenement, ce qui n&rsquo; est pas toujours facile et requiert parfois de fastidieux efforts surtout pour les probl\u00e8mes perceptuels qui demandent un grand volume de donn\u00e9es d&rsquo; entra\u00eenement. Des entreprises enti\u00e8res ont vu le jour, qui mettent \u00e0 disposition des ressources humaines en grand nombre pour labelliser des images ou autres donn\u00e9es d&rsquo; entra\u00eenement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. L&rsquo; apprentissage non supervis\u00e9<\/h2>\n\n\n\n<p>Ce type d&rsquo; algorithme se fait sans que l&rsquo; entra\u00eenement n&rsquo; utilise de donn\u00e9es de sortie (il est donc \u00ab\u00a0sans supervision\u00a0\u00bb). Le but cette fois n&rsquo;est pas d&rsquo; apprendre une correspondance entre entr\u00e9e et sortie, mais bien d&rsquo; identifier et d&rsquo; exploiter la structure sous-jacente dans les donn\u00e9es elles-m\u00eames : un assemblage de mots al\u00e9atoire ne constitue pas un texte, et un ensemble de points chosis au hasard ne constituera pas une image interpr\u00e9table&#8230; il y a donc quelque chose de plus dans les donn\u00e9es qui nous int\u00e9ressent. L&rsquo; apprentissage non supervis\u00e9 cherche \u00e0 identifer ce \u00ab\u00a0quelque chose\u00a0\u00bb.<\/p>\n\n\n\n<p>Les techniques <em>g\u00e9n\u00e9ratives<\/em> rel\u00e8vent de l&rsquo; apprentissage non supervis\u00e9. On y retrouve donc les mod\u00e8les de langage et des g\u00e9n\u00e9rateurs d&rsquo; image.<\/p>\n\n\n\n<p>Dans le cas des mod\u00e8les de langage, le g\u00e9n\u00e9rateur va chercher \u00e0 prolonger la s\u00e9quence de mots qui lui est fournie dans l&rsquo; invite (le <em>prompt<\/em>). Une phrase peut se voir comme une s\u00e9quence de mots. Le g\u00e9n\u00e9rateur va se baser sur l&rsquo; immense volume de textes ingurgit\u00e9s pendant l&rsquo; entra\u00eenement pour d\u00e9finir le prochain mot qui prolonge la s\u00e9quence de la mani\u00e8re la plus plausible. Ce mot est ensuite ajout\u00e9 \u00e0 la s\u00e9quence d&rsquo; entr\u00e9e et l&rsquo; algorithme est ex\u00e9cut\u00e9 \u00e0 nouveau, et ainsi r\u00e9p\u00e9titivement jusqu&rsquo;\u00e0 g\u00e9n\u00e9ration de la r\u00e9ponse compl\u00e8te.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/artificiellementintelligent.wordpress.com\/wp-content\/uploads\/2024\/07\/image-20240707f.png\" alt=\"\" class=\"wp-image-1417\" \/><figcaption class=\"wp-element-caption\">Figure 6 : Principe du mod\u00e8le de langage : prolonger la s\u00e9quence<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Les mod\u00e8les g\u00e9n\u00e9rateurs d&rsquo; image vont fonctionner de mani\u00e8re un peu plus \u00e9tonnante. Cette fois, le mod\u00e8le va apprendre une repr\u00e9sentation compacte des images. La technique utilis\u00e9e pour apprendre cette repr\u00e9sentation est assez indirecte puisqu&rsquo;on va demander \u00e0 l&rsquo; algorithme de retirer des parasites des images (les \u00ab\u00a0d\u00e9bruiter\u00a0\u00bb), ce qui am\u00e8ne le mod\u00e8le \u00e0 extraire les caract\u00e9ristiques essentielles des images, et donc leur repr\u00e9sentation compacte&#8230;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/artificiellementintelligent.wordpress.com\/wp-content\/uploads\/2024\/07\/image-20240707g.png\" alt=\"\" class=\"wp-image-1418\" \/><figcaption class=\"wp-element-caption\">Figure 7 : Principe du g\u00e9n\u00e9rateur d&rsquo;images<\/figcaption><\/figure>\n<\/div>\n\n\n<p>La repr\u00e9sentation compacte est alors mise en correspondance avec le texte d\u00e9crivant l&rsquo; image (texte qui fait aussi partie des donn\u00e9es d&rsquo; entra\u00eenement). Le mod\u00e8le va donc apprendre \u00e0 \u00ab\u00a0d\u00e9bruiter\u00a0\u00bb une image en tenant compte de la description textuelle de cette derni\u00e8re.<\/p>\n\n\n\n<p>Une fois l&rsquo; entra\u00eenement termin\u00e9, il suffira d&rsquo; introduire un texte arbitraire, ainsi qu&rsquo;une image ne contenant que des parasites. Le mod\u00e8le va chercher \u00e0 \u00ab\u00a0d\u00e9bruiter\u00a0\u00bb les parasites en tenant compte du texte que vous avez introduit ce qui, si tout va bien, convergera vers une image originale bas\u00e9e sur votre texte. Je suis bien conscient que \u00e7a para\u00eet un peu fou mais c&rsquo; est le principe de l&rsquo; algorithme <em>Stable Diffusion<\/em> qui est utilis\u00e9 par la quasi-totalit\u00e9 des g\u00e9n\u00e9rateurs d&rsquo; image actuels&#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. L&rsquo; apprentissage par renforcement<\/h2>\n\n\n\n<p>Le troisi\u00e8me grand domaine de l&rsquo; apprentissage machine est l&rsquo; apprentissage par renforcement. Cet apprentissage introduit la notion d&rsquo; un agent autonome qui agit dans un environnement et peut effectuer des actions et d&rsquo; en constater ensuite les cons\u00e9quences. Les actions peuvent modifier l&rsquo; environnement et \u00e9galement donner lieu \u00e0 des r\u00e9compenses (ou des p\u00e9nalit\u00e9s).<\/p>\n\n\n\n<p>L&rsquo; apprentissage par renforcement consiste \u00e0 apprendre ce qu&rsquo; il faut faire &#8211; comment associer des situations \u00e0 des actions &#8211; de mani\u00e8re \u00e0 maximiser le signal de r\u00e9compense num\u00e9rique. On ne dit pas au mod\u00e8le quelles actions il doit entreprendre, mais il doit d\u00e9couvrir les actions qui rapportent le plus en les essayant.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/artificiellementintelligent.wordpress.com\/wp-content\/uploads\/2024\/07\/image-20240707h.png\" alt=\"\" class=\"wp-image-1419\" \/><figcaption class=\"wp-element-caption\">Figure 8 : L&rsquo; apprentissage par renforcement<\/figcaption><\/figure>\n<\/div>\n\n\n<p>La difficult\u00e9 de l&rsquo; apprentissage par renforcement est que la r\u00e9compense peut se trouver plusieurs \u00e9tapes dans le futur, et donc \u00e9tablir quelle action m\u00e8nera \u00e0 la plus grande r\u00e9compense future n&rsquo; est pas \u00e9vident. Pensez \u00e0 un jeu d&rsquo; \u00e9checs : la r\u00e9compense (positive ou n\u00e9gative) n&rsquo; arrive que lorsque le jeu se termine par \u00e9chec et mat. Si vous \u00eates en d\u00e9but ou en milieu de partie, il faudra probablement de nombreux coups avant que la r\u00e9compense ne soit obtenue&#8230;ce probl\u00e8me est appel\u00e9 le probl\u00e8me de l&rsquo; <em>assignation temporelle du cr\u00e9dit<\/em>. Lorsque l&rsquo; agent apprend \u00e0 naviguer dans l&rsquo; environnement pour obtenir la r\u00e9compense, il doit aussi \u00e9quilibrer les strat\u00e9gies d&rsquo; <em>exploration<\/em> et celles d&rsquo; <em>exploitation<\/em> : apr\u00e8s avoir trouv\u00e9 une approche qui m\u00e8ne \u00e0 la r\u00e9compense, faut-il se borner \u00e0 r\u00e9p\u00e9ter cette approche (exploitation) ou bien prendre le risque de tenter une nouvelle approche qui pourrait mener \u00e0 une r\u00e9compense sup\u00e9rieure (exploration)&#8230;<\/p>\n\n\n\n<p>L&rsquo; apprentissage par renforcement est un domaine fascinant qui concerne non seulement les machines devant agir dans un environnement (robotique, conduite autonome&#8230;), mais nous interpelle aussi sur certains m\u00e9canismes de fonctionnement de notre propre cerveau. L&rsquo; excellent livre de Max Benett en r\u00e9f\u00e9rence d\u00e9crit l&rsquo; hypoth\u00e8se selon laquelle certaines structures c\u00e9r\u00e9brales apparues chez les premiers vert\u00e9br\u00e9s il y a environ 500 millions d&rsquo; ann\u00e9es (et toujours pr\u00e9sentes chez nous) exploitent un m\u00e9canisme d&rsquo; apprentissage par renforcement, qui a ainsi conf\u00e9r\u00e9 \u00e0 ces animaux un avantage \u00e9volutif, en leur permettant de mettre en place de meilleures strat\u00e9gies de survie&#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sources et r\u00e9f\u00e9rences<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>A Brief History of Intelligence: Evolution, AI, and the Five Breakthroughs That Made Our Brains<\/em>, livre de Max Bennett publi\u00e9 par Mariner Books, ISBN 978-0063286344<br><\/li>\n\n\n\n<li><em>Understanding Deep Learning<\/em>, par Simon J. D. Prince, <a href=\"https:\/\/udlbook.github.io\/udlbook\/\">https:\/\/udlbook.github.io\/udlbook\/<\/a><br><\/li>\n\n\n\n<li><em>Reinforcement Learning, an introduction<\/em>, par Richard S. Sutton and Andrew G. Barto, publi\u00e9 par MIT Press, ISBN 978-0-262-04864-4.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;Intelligence Artificielle comprend l&rsquo;apprentissage machine, avec ses branches supervis\u00e9, non supervis\u00e9 et par renforcement. L&rsquo;apprentissage profond, en particulier, est crucial pour les avanc\u00e9es r\u00e9centes. Chaque type d&rsquo;apprentissage a ses propres applications et d\u00e9fis.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,7],"tags":[],"class_list":["post-1401","post","type-post","status-publish","format-standard","hentry","category-bon-a-savoir","category-generalites","post-preview"],"_links":{"self":[{"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/posts\/1401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/comments?post=1401"}],"version-history":[{"count":0,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/posts\/1401\/revisions"}],"wp:attachment":[{"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/media?parent=1401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/categories?post=1401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/tags?post=1401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}