{"id":198,"date":"2023-05-27T17:28:17","date_gmt":"2023-05-27T15:28:17","guid":{"rendered":"https:\/\/artificiellementintelligent.wordpress.com\/?p=198"},"modified":"2023-05-27T17:28:17","modified_gmt":"2023-05-27T15:28:17","slug":"panorama-de-lintelligence-artificielle-ii-lapprentissage-profond","status":"publish","type":"post","link":"https:\/\/artificiellementintelligent.eu\/index.php\/2023\/05\/27\/panorama-de-lintelligence-artificielle-ii-lapprentissage-profond\/","title":{"rendered":"Panorama de l&rsquo;Intelligence Artificielle (II) &#8211; l&rsquo;apprentissage profond"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Situation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Beaucoup des succ\u00e8s initiaux de l&rsquo;IA, rendus possibles par l&rsquo;IA symbolique, se sont d\u00e9roul\u00e9s dans des environnements id\u00e9alis\u00e9s ne n\u00e9cessitant pas une grande exp\u00e9rience du monde ni de capacit\u00e9 d&rsquo;apprentissage. Et pourtant, les raisonnements de notre vie quotidienne font appel \u00e0 une quantit\u00e9 prodigieuse d&rsquo;informations sur le monde. Cette connaissance est en grande partie intuitive et subjective, donc difficile \u00e0 formaliser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ces difficult\u00e9s sugg\u00e8rent une approche alternative : tenter d&rsquo;extraire la structure d&rsquo;un probl\u00e8me \u00e0 partir d&rsquo;exemples, et laisser la machine apprendre son propre mod\u00e8le. C&rsquo;est l&rsquo;id\u00e9e de l&rsquo;<em>apprentissage machine<\/em>, d\u00e9crite dans l&rsquo;article pr\u00e9c\u00e9dent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mais en r\u00e9alit\u00e9, les approches d&rsquo;apprentissage machine \u00ab\u00a0simples\u00a0\u00bb ne font que d\u00e9placer le probl\u00e8me, parce qu&rsquo;elles sont uniquement capables de recevoir un nombre limit\u00e9 de donn\u00e9es en entr\u00e9e,  qui doivent \u00eatre soigneusement choisies par le programmeur pour permettre le bon apprentissage de l&rsquo;algorithme.  Cette d\u00e9pendantce \u00e0 la repr\u00e9sentation des donn\u00e9es fournies est un s\u00e9rieux point faible car il est souvent difficile \u00e0 satisfaire, notamment pour les probl\u00e8mes perceptuels, parmi les plus int\u00e9ressants en pratique: si vous voulez construire un d\u00e9tecteur de chat dans une image en fonction des pixels de l&rsquo;image, il va \u00eatre tr\u00e8s difficile de d\u00e9finir \u00e0 la main une repr\u00e9sentation interm\u00e9diaire qui facilitera l&rsquo;apprentissage du programme en aval: il y a beaucoup trop de combinaisons de facteurs \u00e0 prendre en compte : orientation, distance du chat, \u00e9clairage, environnement&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo; <em>apprentissage profond<\/em> r\u00e9sout ce probl\u00e8me par la force : on va \u00ab\u00a0empiler\u00a0\u00bb de multiples couches algorithmiques qui vont elles-m\u00eames apprendre ensemble \u00e0 g\u00e9n\u00e9rer ces repr\u00e9sentations interm\u00e9diaires. On peut donc fournir directement les donn\u00e9es perceptuelles en entr\u00e9e et il n&rsquo;y a plus besoin de contruire de repr\u00e9sentation interm\u00e9diaire puisqu&rsquo;elle est g\u00e9n\u00e9r\u00e9e automatiquement dans les premi\u00e8res couches du r\u00e9seau. Le champ d&rsquo;application perceptuel s&rsquo;ouvre, au prix de mod\u00e8les comprenant un nombre \u00e9norme de param\u00e8tres et entra\u00een\u00e9s sur un tr\u00e8s grand volume de donn\u00e9es d&rsquo;apprentissage.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les r\u00e9seaux neuronaux artificiels<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le but de l&rsquo;Intelligence Artificielle \u00e9tant d&rsquo;\u00e9muler l&rsquo;intelligence humaine, pourquoi ne pas s&rsquo;inspirer de la structure du cerveau humain pour construire une machine intelligente ? C&rsquo;est l&rsquo;id\u00e9e des r\u00e9seaux neuronaux artificiels, qui sont au coeur de l&rsquo;apprentissage profond.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les neurones naturels constituent l&rsquo;unit\u00e9 de base du cerveau humain. Notre cerveau en contient environ 100 milliards. Si chaque neurone se comporte de mani\u00e8re relativement pr\u00e9visible, ils sont fortement connect\u00e9s entre eux et la mise en r\u00e9seau de ces neurones relativement simples permet au cerveau de r\u00e9aliser des calculs extr\u00eamement complexes avec une grande efficacit\u00e9. Les d\u00e9tails du fonctionnement du cerveau (et d&rsquo;ailleurs des neurones) font sont l&rsquo;objet de recherches intenses et ne sont pas enti\u00e8rement compris, mais on sait que les neurones ont tendance \u00e0 s&rsquo;organiser en couches cons\u00e9cutives dans le cortex c\u00e9r\u00e9bral.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En deux mots, un neurone naturel re\u00e7oit une s\u00e9rie de signaux \u00e9lectriques provenant d&rsquo;autres neurones via ses dendrites. Sur base de ces entr\u00e9es, le neurone va \u00e9mettre un signal de sortie sur son axone, une sorte de long c\u00e2ble \u00e9lectrique qui va \u00e0 son tour se connecter aux dendrites d&rsquo;autres neurones. C&rsquo;est ainsi que le r\u00e9seau se constitue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les neurones artificiels sont une repr\u00e9sentation id\u00e9alis\u00e9e du fonctionnement d&rsquo;un neurone naturel; en substance, ils ne sont rien d&rsquo;autre qu&rsquo;une fonction math\u00e9matique qui prend en variables d&rsquo;entr\u00e9e la sortie d&rsquo;autres neurones artificiels, leur applique une fonction math\u00e9matique pour obtenir une seule valeur de sortie qui est \u00e0 son tour transmise \u00e0 l&rsquo;entr\u00e9e d&rsquo;autres neurones artificiels. Bref, un neurone artificiel n&rsquo;est rien de plus qu&rsquo;une fonction \u00e0 plusieurs variables.<\/p>\n\n\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/artificiellementintelligent.wordpress.com\/wp-content\/uploads\/2023\/05\/neuron.png?w=729\" alt=\"\" class=\"wp-image-212\" width=\"547\" height=\"542\" srcset=\"https:\/\/artificiellementintelligent.eu\/wp-content\/uploads\/2023\/05\/neuron.png 729w, https:\/\/artificiellementintelligent.eu\/wp-content\/uploads\/2023\/05\/neuron-300x298.png 300w, https:\/\/artificiellementintelligent.eu\/wp-content\/uploads\/2023\/05\/neuron-150x150.png 150w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Ces neurones artificiels sont alors \u00ab\u00a0connect\u00e9s\u00a0\u00bb les uns aux autres et empil\u00e9s en couches successives pour construire un r\u00e9seau de neurones artificiels, comme illustr\u00e9 sur la figure 2, qui montre un r\u00e9seau \u00e0 deux couches. Les param\u00e8tres d&rsquo;apprentissage du r\u00e9seau sont les poids <em>wi<\/em> et <em>b <\/em>de chaque neurone. Ceux-ci seront progressivement modifi\u00e9s lors de l&rsquo;apprentissage jusqu&rsquo;\u00e0 ce que la performance du mod\u00e8le soit consid\u00e9r\u00e9e comme satisfaisante.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1040\" height=\"590\" src=\"https:\/\/artificiellementintelligent.wordpress.com\/wp-content\/uploads\/2023\/05\/neuralnet.png?w=1024\" alt=\"\" class=\"wp-image-211\" srcset=\"https:\/\/artificiellementintelligent.eu\/wp-content\/uploads\/2023\/05\/neuralnet.png 1040w, https:\/\/artificiellementintelligent.eu\/wp-content\/uploads\/2023\/05\/neuralnet-300x170.png 300w, https:\/\/artificiellementintelligent.eu\/wp-content\/uploads\/2023\/05\/neuralnet-1024x581.png 1024w, https:\/\/artificiellementintelligent.eu\/wp-content\/uploads\/2023\/05\/neuralnet-768x436.png 768w\" sizes=\"auto, (max-width: 1040px) 100vw, 1040px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Il manque une derni\u00e8re pi\u00e8ce au puzzle : il nous faut encore un algorithme d&rsquo;apprentissage qui va faire \u00e9voluer les param\u00e8tres du r\u00e9seau (les <em>wi<\/em> et<em> b<\/em>) pendant la phase d&rsquo;entra\u00eenement. Cet algorithme, appel\u00e9 \u00ab\u00a0r\u00e9tropropagation\u00a0\u00bb est la sauce secr\u00e8te qui permet aux r\u00e9seaux de neurones artificiels de se transformer de joyeux enchev\u00eatrement inutile de fonctions vers une machine puissante d&rsquo;interpr\u00e9tation perceptuelle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo; exp\u00e9rience permet de d\u00e9finir l&rsquo;architecture appropri\u00e9e du r\u00e9seau neuronal en fonction du probl\u00e8me \u00e0 traiter, tant en termes de couches et de connectivit\u00e9 (tous les neurones ne sont en g\u00e9n\u00e9ral pas connect\u00e9s entre eux), que du volume d&rsquo;exemples pertinents \u00e0 fournir lors de la phase d&rsquo;entra\u00eenement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ces r\u00e9seaux peuvent inclure un nombre arbitraire de couches neuronales qui vont rendre possible la g\u00e9n\u00e9ration de repr\u00e9sentations de plus en plus abstraites du domaine d&rsquo;entr\u00e9e, et donc traiter des probl\u00e8mes de plus en plus complexes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est cette capacit\u00e9 de l&rsquo;apprentissage profond \u00e0 traiter des probl\u00e8mes d&rsquo;une grande complexit\u00e9 qui a entra\u00een\u00e9 sa dominance de plus en plus forte sur les autres approches au cours de la derni\u00e8re d\u00e9cennie.  Les deux domaines o\u00f9 l&rsquo;apprentissage profond r\u00e8gne aujourd&rsquo;hui sans partage sont le traitement de la vision et du langage. Deux domaines aux applications extr\u00eamement utiles et r\u00e9pandues&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Applications<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo; apprentissage profond regroupe deux grandes familles d&rsquo;applications : les applications <em>discriminatives <\/em>et les applications <em>g\u00e9n\u00e9ratives<\/em>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les applications <strong>discriminatives<\/strong> sont celles qui ont pour but la classification ou la pr\u00e9diction. Ce sont des mod\u00e8les qui cherchent \u00e0 apprendre la relation existant entre les donn\u00e9es d&rsquo;entr\u00e9e et de sortie. Il s&rsquo;agit de l&rsquo;approche \u00ab\u00a0traditionnelle\u00a0\u00bb d\u00e9crite plus haut et qui s&rsquo;inscrit dans la continuit\u00e9 des principes de l&rsquo;apprentissage machine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les exemples d&rsquo;applications discriminatives sont nombreux et nous en c\u00f4toyons certains quotidiennement : <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>moteurs de recommendation sur un site de commerce \u00e9lectronique,<\/li>\n\n\n\n<li>d\u00e9tection de spam dans les emails,<\/li>\n\n\n\n<li>d\u00e9tection de transaction frauduleuse sur les cartes bancaires,<\/li>\n\n\n\n<li>reconnaissance d&rsquo;objets dans une image (et par extension conduite autonome), <\/li>\n\n\n\n<li>classification de textes par cat\u00e9gories,<\/li>\n\n\n\n<li>pr\u00e9diction de la consommation \u00e9lectrique,<\/li>\n\n\n\n<li>analyse de sentiment d&rsquo;un commentaire (par ex. positif\/n\u00e9gatif)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Les applications <strong>g\u00e9n\u00e9ratives <\/strong>sont plus r\u00e9centes. Elles vont g\u00e9n\u00e9rer de nouvelles donn\u00e9es similaires \u00e0 celles fournies en entr\u00e9e. Ces mod\u00e8les cherchent \u00e0 apprendre la structure sous-jacente dans des jeux de donn\u00e9es et \u00e0 g\u00e9n\u00e9rer des donn\u00e9es compl\u00e9mentaires de mani\u00e8re autonome. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les applications g\u00e9n\u00e9ratives se d\u00e9coupent \u00e0 leur tour en deux grandes sous-familles : celles qui travaillent sur du texte et celles qui travaillent sur des images, m\u00eame si certaines applications combinent les deux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les mod\u00e8les de langage comme GPT, ChatGPT, PALM etc.. appartiennent \u00e0 la sous-famille des applications g\u00e9n\u00e9ratives textuelles: nous avons l&rsquo;impression qu&rsquo;elles agissent interactivement, mais en r\u00e9alit\u00e9 ils cherchent \u00e0 pr\u00e9dire le texte le plus probable (tenant compte de leur mod\u00e8le) pour prolonger la s\u00e9quence de texte entam\u00e9e par notre question. Et leur mod\u00e8le ayant \u00e9t\u00e9 entra\u00een\u00e9 pour inclure des s\u00e9quences de dialogues, le mod\u00e8le fournira naturellement une r\u00e9ponse -en principe plausible- quand une question lui est pos\u00e9e parce que cela lui semble une prolongation satifaisante au texte de la question.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les mod\u00e8les g\u00e9n\u00e9ratifs d&rsquo;image comme <em>Stable Diffusion<\/em> agissent de mani\u00e8re analogue sur des images. Ils peuvent g\u00e9n\u00e9rer de nouvelles images \u00e0 partir d&rsquo;images existantes, compl\u00e9ter une image incompl\u00e8te ou bien g\u00e9n\u00e9rer des images \u00e0 partir de descriptions textuelles fournies par l&rsquo;utilisateur (<em>text-to-image<\/em>). Invers\u00e9ment, ces mod\u00e8les peuvent donner une description textuelle d&rsquo;une image (<em>image-to-text<\/em>). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La puissance de ces mod\u00e8les permet de les \u00e9tendre efficacement \u00e0 de nouveaux champs d&rsquo;applications. Les derniers progr\u00e8s en la mati\u00e8re sont le <em>text-to-code<\/em> (g\u00e9n\u00e9ration automatique de programmes informatiques), le <em>text-to-task<\/em> (le syst\u00e8me ex\u00e9cute une t\u00e2che sur base d&rsquo;une demande textuelle, par ex. d\u00e9placer un fichier), le <em>text-to-3D<\/em> (g\u00e9n\u00e9ration d&rsquo;un mod\u00e8le 3D \u00e0 partir d&rsquo;une description textuelle) et m\u00eame le <em>text-to-video<\/em>  !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il est difficile de pr\u00e9dire o\u00f9 cela s&rsquo;arr\u00eatera car les progr\u00e8s sont extr\u00eamement rapides. Tellement rapides qu&rsquo;ils suscitent l&rsquo;inqui\u00e9tude : ces syst\u00e8mes peuvent impacter l&#8217;emploi ou \u00eatre exploit\u00e9s \u00e0 des fins malveillantes. Plus de mille chercheurs ont publi\u00e9 en mars 2023 une lettre demandant un moratoire d&rsquo;au moins six mois sur les recherches allant au-del\u00e0 de GPT4, le temps de faire le point sur les risques. Actuellement, les recherches continuent&#8230; <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je terminerai par le clip qui suit, intitul\u00e9 \u00ab\u00a0Amsterdam Trip\u00a0\u00bb, enti\u00e8rement g\u00e9n\u00e9r\u00e9 par Stable Diffision. Hallucinant.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"embed-youtube\"><iframe loading=\"lazy\" title=\"Amsterdam trip\" width=\"676\" height=\"507\" src=\"https:\/\/www.youtube.com\/embed\/uVe1Fciq78I?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;apprentissage profond, bas\u00e9 sur les r\u00e9seaux neuronaux artificiels, r\u00e9sout les limitations de l&rsquo;IA symbolique en permettant d&rsquo;apprendre des structures complexes. Ses applications vont de la vision \u00e0 la g\u00e9n\u00e9ration de textes et d&rsquo;images.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-198","post","type-post","status-publish","format-standard","hentry","category-generalites","post-preview"],"_links":{"self":[{"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/posts\/198","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=198"}],"version-history":[{"count":0,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/posts\/198\/revisions"}],"wp:attachment":[{"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/media?parent=198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/categories?post=198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/tags?post=198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}