{"id":142,"date":"2023-11-30T16:30:44","date_gmt":"2023-11-30T16:30:44","guid":{"rendered":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/chapter\/deep-neural-networks\/"},"modified":"2024-01-31T11:51:15","modified_gmt":"2024-01-31T11:51:15","slug":"deep-neural-networks","status":"publish","type":"chapter","link":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/chapter\/deep-neural-networks\/","title":{"raw":"Parlons IA : R\u00e9seaux Neuronaux Profonds","rendered":"Parlons IA : R\u00e9seaux Neuronaux Profonds"},"content":{"raw":"<h3>L\u2019apprentissage automatique profond<\/h3>\n<p class=\"no-indent indent\">La connaissance humaine est vaste et variable et est intrins\u00e8quement difficile \u00e0 capturer.<\/p>\n<p class=\"indent\">L\u2019esprit humain peut absorber la connaissance et l\u2019\u00e9laborer, car, comme l\u2019a dit Chomsky, \u201c C\u2019est un syst\u00e8me \u00e9tonnamment efficace et m\u00eame raffin\u00e9 qui fonctionne avec de petites quantit\u00e9s d\u2019informations ; il ne cherche pas \u00e0 d\u00e9duire des corr\u00e9lations sommaires \u00e0 partir de donn\u00e9es, mais \u00e0 \u00e9laborer des explications.\u201d<\/p>\n<p class=\"indent\">L\u2019apprentissage automatique est cens\u00e9 faire cela en d\u00e9couvrant des mod\u00e8les dans de vastes ensembles de donn\u00e9es. Toutefois, avant cela, des experts et des programmeurs doivent encoder les caract\u00e9ristiques des donn\u00e9es qui sont pertinentes pour r\u00e9pondre au probl\u00e8me en question et doivent les introduire dans la machine sous la forme de \u201cparam\u00e8tres\u201d<sup>2,3<\/sup>. Comme nous l\u2019avons d\u00e9j\u00e0 vu auparavant, les performances d\u00e9pendent en grande partie de la qualit\u00e9 des donn\u00e9es et de ces param\u00e8tres, qui ne sont pas toujours faciles \u00e0 cerner.<\/p>\n<p class=\"indent\">Les r\u00e9seaux neuronaux profonds ou <em>Deep Learning<\/em> sont une branche de l\u2019Apprentissage Automatique qui a \u00e9t\u00e9 express\u00e9ment con\u00e7ue pour surmonter ces probl\u00e8mes :<\/p>\n\n<ul>\n \t<li>en extrayant des donn\u00e9es ses propres param\u00e8tres pendant la phase d\u2019entra\u00eenement ;<\/li>\n \t<li>en utilisant de multiples couches qui cr\u00e9ent des relations entre les param\u00e8tres, en allant progressivement de simples repr\u00e9sentations dans la couche la plus externe \u00e0 de repr\u00e9sentations plus complexes et plus abstraites dans les couches internes. Ceci permet au <em>Deep Learning<\/em> de mieux faire certaines choses que les algorithmes conventionnels d\u2019apprentissage automatique<sup>2<\/sup>.<\/li>\n<\/ul>\n<p class=\"no-indent\">La plupart des applications les plus puissantes d\u2019apprentissage automatique utilisent de plus en plus souvent le <em>Deep Learning<\/em>. Parmi celles-ci, les moteurs de recherche, les syst\u00e8mes de recommandation, de transcription de discours et de traduction que nous avons trait\u00e9s dans ce manuel. Il ne serait pas exag\u00e9r\u00e9 d\u2019affirmer que le <em>Deep Learning<\/em> a propuls\u00e9 le succ\u00e8s de l\u2019Intelligence Artificielle dans de multiples t\u00e2ches.<\/p>\n\n\n[caption id=\"attachment_59\" align=\"aligncenter\" width=\"575\"]<img class=\" wp-image-139\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/15\/2023\/11\/FR-29.1.png\" alt=\"\" width=\"575\" height=\"482\"> R\u00e9f\u00e9rence : Goodfellow, I.J., Bengio, Y., Courville, A., Deep Learning, MIT Press, 2016.[\/caption]\n<p class=\"no-indent\">Le terme \u201cprofond\u201d se rapporte \u00e0 la mani\u00e8re dont les diff\u00e9rentes couches s\u2019empilent les unes sur les autres pour cr\u00e9er le r\u00e9seau. Le terme \u201cneuronaux\u201d d\u00e9signe le fait que certains aspects de la structure s\u2019inspirent du cerveau biologique. Malgr\u00e9 cela, et m\u00eame s\u2019ils fournissent certaines informations sur nos processus mentaux, il s\u2019agit de mod\u00e8les strictement math\u00e9matiques, qui ne ressemblent nullement \u00e0 des processus ou \u00e0 des \u00e9l\u00e9ments biologiques<sup>2<\/sup>.<\/p>\n\n<h3>Les bases du <em>Deep<\/em> <em>Learning<\/em><\/h3>\n<p class=\"no-indent\">Lorsque nous regardons une image, nous identifions automatiquement les objets et les visages, mais, pour un algorithme, une photo est un simple ensemble de pixels. La transition d\u2019un m\u00e9lange de couleurs et de niveaux de luminosit\u00e9 \u00e0 la reconnaissance d\u2019un visage est un saut trop complexe \u00e0 ex\u00e9cuter.<\/p>\n<p class=\"indent\">Le <em>Deep Learning <\/em>y parvient en d\u00e9composant le processus en repr\u00e9sentations tr\u00e8s simples sur la premi\u00e8re couche\u2013en comparant, disons, la luminosit\u00e9 des pixels qui se c\u00f4toient pour noter la pr\u00e9sence ou l\u2018absence de bords dans diff\u00e9rentes parties de l\u2019image. La deuxi\u00e8me couche prend en consid\u00e9ration des ensembles de bords pour rechercher des entit\u00e9s plus complexes, comme les angles et les contours,en ignorant de petites variations dans le positionnement<sup>2,3<\/sup> des bords.<\/p>\n<p class=\"indent\">La couche suivante recherche des \u00e9l\u00e9ments des objets \u00e0 l\u2019aide des contours et des angles. Petit \u00e0 petit, l\u2019image devient plus complexe jusqu\u2019\u00e0 ce que, dans la derni\u00e8re couche, les diff\u00e9rentes parties se combinent de mani\u00e8re suffisamment claire pour faire appara\u00eetre un visage ou un objet.<\/p>\n<p class=\"no-indent\"><img class=\"aligncenter wp-image-140\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/15\/2024\/01\/FR-29.2.png\" alt=\"\" width=\"500\" height=\"419\">Ce qui doit \u00eatre pris en compte dans chaque couche n\u2019est pas sp\u00e9cifi\u00e9 par les programmeurs ; il est appris \u00e0 partir des donn\u00e9es pendant le processus d\u2019entra\u00eenement<sup>3<\/sup>. En testant ces pr\u00e9dictions par rapport aux r\u00e9sultats r\u00e9els dans l\u2019ensemble de donn\u00e9es d\u2019entra\u00eenement, le fonctionnement de chaque couche est ajust\u00e9 de mani\u00e8re l\u00e9g\u00e8rement diff\u00e9rente pour obtenir, chaque fois, un r\u00e9sultat l\u00e9g\u00e8rement plus pr\u00e9cis. Lorsque ce processus se d\u00e9roule correctement, et \u00e0 condition qu\u2019un volume suffisant de donn\u00e9es de bonne qualit\u00e9 soit disponible, le r\u00e9seau doit \u00e9voluer pour ignorer les \u00e9l\u00e9ments non pertinents de la photo, tels que la position exacte des entit\u00e9s, des angles et de la lumi\u00e8re et se concentrer sur les \u00e9l\u00e9ments qui rendent l\u2019identification possible.<\/p>\n<p class=\"indent\">Il est \u00e0 noter, ici, que malgr\u00e9 notre utilisation des bords et des contours pour comprendre le processus, ce qui est r\u00e9ellement repr\u00e9sent\u00e9 dans les diff\u00e9rentes couches est une s\u00e9rie de nombres, qui peuvent correspondre ou ne pas correspondre \u00e0 des choses compr\u00e9hensibles pour nous. La complexit\u00e9 et l\u2019abstraction croissante, en revanche, ne changent pas.<\/p>\n\n<h3>Conception du r\u00e9seau<\/h3>\n<p class=\"no-indent\">Une fois que le programmeur a d\u00e9cid\u00e9 de recourir au <em>Deep Learning<\/em> pour ex\u00e9cuter une certaine t\u00e2che et qu\u2019il a pr\u00e9par\u00e9 les donn\u00e9es, il doit concevoir ce que l\u2019on appelle l\u2019architecture du r\u00e9seau neuronal. Il doit choisir le nombre de couches (profondeur du r\u00e9seau) et le nombre de param\u00e8tres par couche (largeur du r\u00e9seau). Puis, il doit d\u00e9cider comment connecter les diff\u00e9rentes couches, \u00e0 savoir si chaque unit\u00e9 d\u2019une couche doit \u00eatre connect\u00e9e ou non \u00e0 chaque unit\u00e9 de la couche pr\u00e9c\u00e9dente.<\/p>\n<p class=\"indent\">L\u2019architecture id\u00e9ale pour une certaine t\u00e2che est souvent le fruit d\u2019une exp\u00e9rimentation. Le nombre de param\u00e8tres n\u00e9cessaires par couche est d\u2019autant moins \u00e9lev\u00e9 que le nombre de couches est important et le r\u00e9seau fonctionne mieux avec des donn\u00e9es g\u00e9n\u00e9rales, au prix d\u2019une difficult\u00e9 d\u2019optimisation. Moins de connections peut signifier moins de param\u00e8tres et moins de calculs, mais cela r\u00e9duit la flexibilit\u00e9 du r\u00e9seau<sup>2<\/sup>.<\/p>\n\n<h3>Entra\u00eenement du r\u00e9seau<\/h3>\n<p class=\"indent\">Prenons, par exemple, un r\u00e9seau neuronal \u00e0 avance directe qui effectue un apprentissage supervis\u00e9. Dans celui-ci, les informations avancent en passant d\u2019une couche \u00e0 une autre couche plus profonde, sans boucle de r\u00e9troaction. Tout comme pour toutes les techniques d\u2019apprentissage automatique, il s\u2019agit de d\u00e9couvrir de quelle mani\u00e8re les donn\u00e9es saisies sont reli\u00e9es au r\u00e9sultat obtenu : quels param\u00e8tres entrent en jeu et de quelle mani\u00e8re ils s\u2019associent pour fournir le r\u00e9sultat observ\u00e9. Nous partons d\u2019une relation f qui relie les donn\u00e9es x au r\u00e9sultat y. Puis, nous utilisons le r\u00e9seau pour trouver l\u2019ensemble de param\u00e8tres \u03b8 qui offre la meilleure correspondance entre les r\u00e9sultats pr\u00e9dits et les r\u00e9sultats r\u00e9els.<\/p>\n\n<div class=\"textbox\">\n<p style=\"text-align: center\">Question cl\u00e9 : si la valeur pr\u00e9dite y est f(x, \u03b8), que vaut \u03b8 ?<\/p>\n\n<\/div>\n<p class=\"no-indent\">La pr\u00e9diction pour y correspond ici au produit final et l\u2019ensemble de donn\u00e9es x correspond \u00e0 l\u2019input. Dans la reconnaissance faciale, x repr\u00e9sente g\u00e9n\u00e9ralement l\u2019ensemble de pixels contenu dans une image, tandis que y peur repr\u00e9senter le nom de la personne. Dans le r\u00e9seau, les couches sont comme les ouvriers sur une cha\u00eene d\u2019assemblage, o\u00f9 chaque ouvrier effectue la t\u00e2che qui lui a \u00e9t\u00e9 assign\u00e9e et passe la pi\u00e8ce \u00e0 l\u2019ouvrier suivant. Le premier ouvrier prend la pi\u00e8ce qu\u2019on lui donne et la transforme partiellement pour la passer au deuxi\u00e8me ouvrier sur la cha\u00eene. Le deuxi\u00e8me fait la m\u00eame chose et passe la pi\u00e8ce au troisi\u00e8me ouvrier et ainsi de suite jusqu\u2019\u00e0 ce que l\u2019on obtienne le produit fini.<\/p>\n<p class=\"indent\">D\u2019un point de vue math\u00e9matique, la fonction f est r\u00e9partie en plusieurs fonctions f1, f2, f3\u2026 o\u00f9 f= \u2026.f3(f2(f1(x))). La couche proche des donn\u00e9es d\u2019entr\u00e9e transforme les param\u00e8tres d\u2019entr\u00e9e \u00e0 l\u2019aide de f1, la couche suivante \u00e0 l\u2019aide de f2 et ainsi de suite. Le programmeur peut intervenir pour aider \u00e0 choisir la bonne famille de fonctions, selon sa connaissance du probl\u00e8me.<\/p>\n<img class=\"aligncenter wp-image-141\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/15\/2024\/01\/ch5-page3-DL-function-2.png\" alt=\"\" width=\"500\" height=\"419\">\n<p class=\"no-indent\">Le travail de chaque couche consiste \u00e0 attribuer le niveau d\u2019importance, \u00e0 savoir le poids \u00e0 attribuer \u00e0 chaque param\u00e8tre re\u00e7u. Ces poids sont comme des boutons qui d\u00e9finissent, en dernier lieu, la relation entre le r\u00e9sultat pr\u00e9dit et les donn\u00e9es d\u2019entr\u00e9e de cette couche<sup>3<\/sup>. Dans un syst\u00e8me typique de <em>deep learning<\/em>, nous avons des centaines de millions d\u2019exemples d\u2019entra\u00eenement. Puisque nous ne d\u00e9finissons pas et ne pouvons pas voir les r\u00e9sultats et les poids dans les diff\u00e9rentes couches entre l\u2019entr\u00e9e et la sortie, celles-ci sont appel\u00e9es \u00ab\u00a0couches cach\u00e9es\u00a0\u00bb.<\/p>\n<p class=\"indent\">Dans le cas de la reconnaissance d\u2019objet d\u00e9crite ci-dessus, le premier ouvrier doit d\u00e9tecter les bords et doit les passer au deuxi\u00e8me ouvrier qui va d\u00e9tecter les contours, et ainsi de suite.<\/p>\n<p class=\"indent\">Pendant l\u2019entra\u00eenement, le r\u00e9sultat pr\u00e9vu est compar\u00e9 au r\u00e9sultat r\u00e9el. En cas de diff\u00e9rence importante entre les deux, les poids attribu\u00e9s dans chaque couche devront \u00eatre modifi\u00e9s de mani\u00e8re significative. Dans le cas contraire, ils devront \u00eatre l\u00e9g\u00e8rement modifi\u00e9s. Ce travail a lieu en deux temps. Tout d\u2019abord, la diff\u00e9rence entre la pr\u00e9diction et le r\u00e9sultat est calcul\u00e9e, puis un autre algorithme calcule comment modifier les poids dans chaque couche, en commen\u00e7ant par la couche externe (Dans ce cas, l\u2019 information circule en sens inverse, \u00e0 partir des couches les plus profondes). Par cons\u00e9quent, au terme du processus d\u2019entra\u00eenement, le r\u00e9seau est pr\u00eat, avec ses poids et ses fonctions, \u00e0 s\u2019attaquer aux donn\u00e9es de test. Le reste du processus est identique \u00e0 celui d\u2019apprentissage automatique conventionnel.<\/p>\n&nbsp;\n\n<img class=\"aligncenter wp-image-59\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/15\/2024\/01\/FR-9.4.png\" alt=\"\" width=\"457\" height=\"217\">\n\n<hr>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>1 <\/sup>Chomsky, N., Roberts, I., Watumull, J., <em>Noam Chomsky: The False Promise of ChatGPT,\u00a0<\/em>The New York Times, 2023.<\/p>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>2 <\/sup>Goodfellow, I.J., Bengio, Y., Courville, A., <em>Deep Learning, <\/em>MIT Press, 2016.<\/p>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>3 <\/sup>LeCun, Y., Bengio, Y., Hinton, G., <em>Deep learning,<\/em>\u00a0Nature\u00a0<b>521<\/b>, 436\u2013444 (2015).<\/p>","rendered":"<h3>L\u2019apprentissage automatique profond<\/h3>\n<p class=\"no-indent indent\">La connaissance humaine est vaste et variable et est intrins\u00e8quement difficile \u00e0 capturer.<\/p>\n<p class=\"indent\">L\u2019esprit humain peut absorber la connaissance et l\u2019\u00e9laborer, car, comme l\u2019a dit Chomsky, \u201c C\u2019est un syst\u00e8me \u00e9tonnamment efficace et m\u00eame raffin\u00e9 qui fonctionne avec de petites quantit\u00e9s d\u2019informations ; il ne cherche pas \u00e0 d\u00e9duire des corr\u00e9lations sommaires \u00e0 partir de donn\u00e9es, mais \u00e0 \u00e9laborer des explications.\u201d<\/p>\n<p class=\"indent\">L\u2019apprentissage automatique est cens\u00e9 faire cela en d\u00e9couvrant des mod\u00e8les dans de vastes ensembles de donn\u00e9es. Toutefois, avant cela, des experts et des programmeurs doivent encoder les caract\u00e9ristiques des donn\u00e9es qui sont pertinentes pour r\u00e9pondre au probl\u00e8me en question et doivent les introduire dans la machine sous la forme de \u201cparam\u00e8tres\u201d<sup>2,3<\/sup>. Comme nous l\u2019avons d\u00e9j\u00e0 vu auparavant, les performances d\u00e9pendent en grande partie de la qualit\u00e9 des donn\u00e9es et de ces param\u00e8tres, qui ne sont pas toujours faciles \u00e0 cerner.<\/p>\n<p class=\"indent\">Les r\u00e9seaux neuronaux profonds ou <em>Deep Learning<\/em> sont une branche de l\u2019Apprentissage Automatique qui a \u00e9t\u00e9 express\u00e9ment con\u00e7ue pour surmonter ces probl\u00e8mes :<\/p>\n<ul>\n<li>en extrayant des donn\u00e9es ses propres param\u00e8tres pendant la phase d\u2019entra\u00eenement ;<\/li>\n<li>en utilisant de multiples couches qui cr\u00e9ent des relations entre les param\u00e8tres, en allant progressivement de simples repr\u00e9sentations dans la couche la plus externe \u00e0 de repr\u00e9sentations plus complexes et plus abstraites dans les couches internes. Ceci permet au <em>Deep Learning<\/em> de mieux faire certaines choses que les algorithmes conventionnels d\u2019apprentissage automatique<sup>2<\/sup>.<\/li>\n<\/ul>\n<p class=\"no-indent\">La plupart des applications les plus puissantes d\u2019apprentissage automatique utilisent de plus en plus souvent le <em>Deep Learning<\/em>. Parmi celles-ci, les moteurs de recherche, les syst\u00e8mes de recommandation, de transcription de discours et de traduction que nous avons trait\u00e9s dans ce manuel. Il ne serait pas exag\u00e9r\u00e9 d\u2019affirmer que le <em>Deep Learning<\/em> a propuls\u00e9 le succ\u00e8s de l\u2019Intelligence Artificielle dans de multiples t\u00e2ches.<\/p>\n<figure id=\"attachment_59\" aria-describedby=\"caption-attachment-59\" style=\"width: 575px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-139\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/15\/2023\/11\/FR-29.1.png\" alt=\"\" width=\"575\" height=\"482\" srcset=\"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2023\/11\/FR-29.1.png 940w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2023\/11\/FR-29.1-300x251.png 300w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2023\/11\/FR-29.1-768x644.png 768w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2023\/11\/FR-29.1-65x54.png 65w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2023\/11\/FR-29.1-225x189.png 225w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2023\/11\/FR-29.1-350x293.png 350w\" sizes=\"(max-width: 575px) 100vw, 575px\" \/><figcaption id=\"caption-attachment-59\" class=\"wp-caption-text\">R\u00e9f\u00e9rence : Goodfellow, I.J., Bengio, Y., Courville, A., Deep Learning, MIT Press, 2016.<\/figcaption><\/figure>\n<p class=\"no-indent\">Le terme \u201cprofond\u201d se rapporte \u00e0 la mani\u00e8re dont les diff\u00e9rentes couches s\u2019empilent les unes sur les autres pour cr\u00e9er le r\u00e9seau. Le terme \u201cneuronaux\u201d d\u00e9signe le fait que certains aspects de la structure s\u2019inspirent du cerveau biologique. Malgr\u00e9 cela, et m\u00eame s\u2019ils fournissent certaines informations sur nos processus mentaux, il s\u2019agit de mod\u00e8les strictement math\u00e9matiques, qui ne ressemblent nullement \u00e0 des processus ou \u00e0 des \u00e9l\u00e9ments biologiques<sup>2<\/sup>.<\/p>\n<h3>Les bases du <em>Deep<\/em> <em>Learning<\/em><\/h3>\n<p class=\"no-indent\">Lorsque nous regardons une image, nous identifions automatiquement les objets et les visages, mais, pour un algorithme, une photo est un simple ensemble de pixels. La transition d\u2019un m\u00e9lange de couleurs et de niveaux de luminosit\u00e9 \u00e0 la reconnaissance d\u2019un visage est un saut trop complexe \u00e0 ex\u00e9cuter.<\/p>\n<p class=\"indent\">Le <em>Deep Learning <\/em>y parvient en d\u00e9composant le processus en repr\u00e9sentations tr\u00e8s simples sur la premi\u00e8re couche\u2013en comparant, disons, la luminosit\u00e9 des pixels qui se c\u00f4toient pour noter la pr\u00e9sence ou l\u2018absence de bords dans diff\u00e9rentes parties de l\u2019image. La deuxi\u00e8me couche prend en consid\u00e9ration des ensembles de bords pour rechercher des entit\u00e9s plus complexes, comme les angles et les contours,en ignorant de petites variations dans le positionnement<sup>2,3<\/sup> des bords.<\/p>\n<p class=\"indent\">La couche suivante recherche des \u00e9l\u00e9ments des objets \u00e0 l\u2019aide des contours et des angles. Petit \u00e0 petit, l\u2019image devient plus complexe jusqu\u2019\u00e0 ce que, dans la derni\u00e8re couche, les diff\u00e9rentes parties se combinent de mani\u00e8re suffisamment claire pour faire appara\u00eetre un visage ou un objet.<\/p>\n<p class=\"no-indent\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-140\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/15\/2024\/01\/FR-29.2.png\" alt=\"\" width=\"500\" height=\"419\" srcset=\"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/FR-29.2.png 940w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/FR-29.2-300x251.png 300w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/FR-29.2-768x644.png 768w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/FR-29.2-65x54.png 65w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/FR-29.2-225x189.png 225w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/FR-29.2-350x293.png 350w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>Ce qui doit \u00eatre pris en compte dans chaque couche n\u2019est pas sp\u00e9cifi\u00e9 par les programmeurs ; il est appris \u00e0 partir des donn\u00e9es pendant le processus d\u2019entra\u00eenement<sup>3<\/sup>. En testant ces pr\u00e9dictions par rapport aux r\u00e9sultats r\u00e9els dans l\u2019ensemble de donn\u00e9es d\u2019entra\u00eenement, le fonctionnement de chaque couche est ajust\u00e9 de mani\u00e8re l\u00e9g\u00e8rement diff\u00e9rente pour obtenir, chaque fois, un r\u00e9sultat l\u00e9g\u00e8rement plus pr\u00e9cis. Lorsque ce processus se d\u00e9roule correctement, et \u00e0 condition qu\u2019un volume suffisant de donn\u00e9es de bonne qualit\u00e9 soit disponible, le r\u00e9seau doit \u00e9voluer pour ignorer les \u00e9l\u00e9ments non pertinents de la photo, tels que la position exacte des entit\u00e9s, des angles et de la lumi\u00e8re et se concentrer sur les \u00e9l\u00e9ments qui rendent l\u2019identification possible.<\/p>\n<p class=\"indent\">Il est \u00e0 noter, ici, que malgr\u00e9 notre utilisation des bords et des contours pour comprendre le processus, ce qui est r\u00e9ellement repr\u00e9sent\u00e9 dans les diff\u00e9rentes couches est une s\u00e9rie de nombres, qui peuvent correspondre ou ne pas correspondre \u00e0 des choses compr\u00e9hensibles pour nous. La complexit\u00e9 et l\u2019abstraction croissante, en revanche, ne changent pas.<\/p>\n<h3>Conception du r\u00e9seau<\/h3>\n<p class=\"no-indent\">Une fois que le programmeur a d\u00e9cid\u00e9 de recourir au <em>Deep Learning<\/em> pour ex\u00e9cuter une certaine t\u00e2che et qu\u2019il a pr\u00e9par\u00e9 les donn\u00e9es, il doit concevoir ce que l\u2019on appelle l\u2019architecture du r\u00e9seau neuronal. Il doit choisir le nombre de couches (profondeur du r\u00e9seau) et le nombre de param\u00e8tres par couche (largeur du r\u00e9seau). Puis, il doit d\u00e9cider comment connecter les diff\u00e9rentes couches, \u00e0 savoir si chaque unit\u00e9 d\u2019une couche doit \u00eatre connect\u00e9e ou non \u00e0 chaque unit\u00e9 de la couche pr\u00e9c\u00e9dente.<\/p>\n<p class=\"indent\">L\u2019architecture id\u00e9ale pour une certaine t\u00e2che est souvent le fruit d\u2019une exp\u00e9rimentation. Le nombre de param\u00e8tres n\u00e9cessaires par couche est d\u2019autant moins \u00e9lev\u00e9 que le nombre de couches est important et le r\u00e9seau fonctionne mieux avec des donn\u00e9es g\u00e9n\u00e9rales, au prix d\u2019une difficult\u00e9 d\u2019optimisation. Moins de connections peut signifier moins de param\u00e8tres et moins de calculs, mais cela r\u00e9duit la flexibilit\u00e9 du r\u00e9seau<sup>2<\/sup>.<\/p>\n<h3>Entra\u00eenement du r\u00e9seau<\/h3>\n<p class=\"indent\">Prenons, par exemple, un r\u00e9seau neuronal \u00e0 avance directe qui effectue un apprentissage supervis\u00e9. Dans celui-ci, les informations avancent en passant d\u2019une couche \u00e0 une autre couche plus profonde, sans boucle de r\u00e9troaction. Tout comme pour toutes les techniques d\u2019apprentissage automatique, il s\u2019agit de d\u00e9couvrir de quelle mani\u00e8re les donn\u00e9es saisies sont reli\u00e9es au r\u00e9sultat obtenu : quels param\u00e8tres entrent en jeu et de quelle mani\u00e8re ils s\u2019associent pour fournir le r\u00e9sultat observ\u00e9. Nous partons d\u2019une relation f qui relie les donn\u00e9es x au r\u00e9sultat y. Puis, nous utilisons le r\u00e9seau pour trouver l\u2019ensemble de param\u00e8tres \u03b8 qui offre la meilleure correspondance entre les r\u00e9sultats pr\u00e9dits et les r\u00e9sultats r\u00e9els.<\/p>\n<div class=\"textbox\">\n<p style=\"text-align: center\">Question cl\u00e9 : si la valeur pr\u00e9dite y est f(x, \u03b8), que vaut \u03b8 ?<\/p>\n<\/div>\n<p class=\"no-indent\">La pr\u00e9diction pour y correspond ici au produit final et l\u2019ensemble de donn\u00e9es x correspond \u00e0 l\u2019input. Dans la reconnaissance faciale, x repr\u00e9sente g\u00e9n\u00e9ralement l\u2019ensemble de pixels contenu dans une image, tandis que y peur repr\u00e9senter le nom de la personne. Dans le r\u00e9seau, les couches sont comme les ouvriers sur une cha\u00eene d\u2019assemblage, o\u00f9 chaque ouvrier effectue la t\u00e2che qui lui a \u00e9t\u00e9 assign\u00e9e et passe la pi\u00e8ce \u00e0 l\u2019ouvrier suivant. Le premier ouvrier prend la pi\u00e8ce qu\u2019on lui donne et la transforme partiellement pour la passer au deuxi\u00e8me ouvrier sur la cha\u00eene. Le deuxi\u00e8me fait la m\u00eame chose et passe la pi\u00e8ce au troisi\u00e8me ouvrier et ainsi de suite jusqu\u2019\u00e0 ce que l\u2019on obtienne le produit fini.<\/p>\n<p class=\"indent\">D\u2019un point de vue math\u00e9matique, la fonction f est r\u00e9partie en plusieurs fonctions f1, f2, f3\u2026 o\u00f9 f= \u2026.f3(f2(f1(x))). La couche proche des donn\u00e9es d\u2019entr\u00e9e transforme les param\u00e8tres d\u2019entr\u00e9e \u00e0 l\u2019aide de f1, la couche suivante \u00e0 l\u2019aide de f2 et ainsi de suite. Le programmeur peut intervenir pour aider \u00e0 choisir la bonne famille de fonctions, selon sa connaissance du probl\u00e8me.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-141\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/15\/2024\/01\/ch5-page3-DL-function-2.png\" alt=\"\" width=\"500\" height=\"419\" srcset=\"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/ch5-page3-DL-function-2.png 940w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/ch5-page3-DL-function-2-300x251.png 300w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/ch5-page3-DL-function-2-768x644.png 768w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/ch5-page3-DL-function-2-65x54.png 65w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/ch5-page3-DL-function-2-225x189.png 225w, https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-content\/uploads\/sites\/15\/2024\/01\/ch5-page3-DL-function-2-350x293.png 350w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/p>\n<p class=\"no-indent\">Le travail de chaque couche consiste \u00e0 attribuer le niveau d\u2019importance, \u00e0 savoir le poids \u00e0 attribuer \u00e0 chaque param\u00e8tre re\u00e7u. Ces poids sont comme des boutons qui d\u00e9finissent, en dernier lieu, la relation entre le r\u00e9sultat pr\u00e9dit et les donn\u00e9es d\u2019entr\u00e9e de cette couche<sup>3<\/sup>. Dans un syst\u00e8me typique de <em>deep learning<\/em>, nous avons des centaines de millions d\u2019exemples d\u2019entra\u00eenement. Puisque nous ne d\u00e9finissons pas et ne pouvons pas voir les r\u00e9sultats et les poids dans les diff\u00e9rentes couches entre l\u2019entr\u00e9e et la sortie, celles-ci sont appel\u00e9es \u00ab\u00a0couches cach\u00e9es\u00a0\u00bb.<\/p>\n<p class=\"indent\">Dans le cas de la reconnaissance d\u2019objet d\u00e9crite ci-dessus, le premier ouvrier doit d\u00e9tecter les bords et doit les passer au deuxi\u00e8me ouvrier qui va d\u00e9tecter les contours, et ainsi de suite.<\/p>\n<p class=\"indent\">Pendant l\u2019entra\u00eenement, le r\u00e9sultat pr\u00e9vu est compar\u00e9 au r\u00e9sultat r\u00e9el. En cas de diff\u00e9rence importante entre les deux, les poids attribu\u00e9s dans chaque couche devront \u00eatre modifi\u00e9s de mani\u00e8re significative. Dans le cas contraire, ils devront \u00eatre l\u00e9g\u00e8rement modifi\u00e9s. Ce travail a lieu en deux temps. Tout d\u2019abord, la diff\u00e9rence entre la pr\u00e9diction et le r\u00e9sultat est calcul\u00e9e, puis un autre algorithme calcule comment modifier les poids dans chaque couche, en commen\u00e7ant par la couche externe (Dans ce cas, l\u2019 information circule en sens inverse, \u00e0 partir des couches les plus profondes). Par cons\u00e9quent, au terme du processus d\u2019entra\u00eenement, le r\u00e9seau est pr\u00eat, avec ses poids et ses fonctions, \u00e0 s\u2019attaquer aux donn\u00e9es de test. Le reste du processus est identique \u00e0 celui d\u2019apprentissage automatique conventionnel.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-59\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/15\/2024\/01\/FR-9.4.png\" alt=\"\" width=\"457\" height=\"217\" \/><\/p>\n<hr \/>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>1 <\/sup>Chomsky, N., Roberts, I., Watumull, J., <em>Noam Chomsky: The False Promise of ChatGPT,\u00a0<\/em>The New York Times, 2023.<\/p>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>2 <\/sup>Goodfellow, I.J., Bengio, Y., Courville, A., <em>Deep Learning, <\/em>MIT Press, 2016.<\/p>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>3 <\/sup>LeCun, Y., Bengio, Y., Hinton, G., <em>Deep learning,<\/em>\u00a0Nature\u00a0<b>521<\/b>, 436\u2013444 (2015).<\/p>\n","protected":false},"author":1,"menu_order":3,"template":"","meta":{"pb_show_title":"","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"part":133,"_links":{"self":[{"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/pressbooks\/v2\/chapters\/142"}],"collection":[{"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":1,"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/pressbooks\/v2\/chapters\/142\/revisions"}],"predecessor-version":[{"id":143,"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/pressbooks\/v2\/chapters\/142\/revisions\/143"}],"part":[{"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/pressbooks\/v2\/parts\/133"}],"metadata":[{"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/pressbooks\/v2\/chapters\/142\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/wp\/v2\/media?parent=142"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/pressbooks\/v2\/chapter-type?post=142"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/wp\/v2\/contributor?post=142"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/aiopentext.itd.cnr.it\/iapourlesenseignants\/wp-json\/wp\/v2\/license?post=142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}