{"id":347827,"date":"2021-12-08T21:28:00","date_gmt":"2021-12-08T18:28:00","guid":{"rendered":"https:\/\/inform.com.de\/?p=347827"},"modified":"2021-12-07T19:36:46","modified_gmt":"2021-12-07T16:36:46","slug":"en-termes-simples-sur-le-complexe-que-sont-les-reseaux-de-neurones-ecrire-un-reseau-de-neurones-feedforward-a-partir-de-zero","status":"publish","type":"post","link":"https:\/\/inform.com.de\/fr\/en-termes-simples-sur-le-complexe-que-sont-les-reseaux-de-neurones-ecrire-un-reseau-de-neurones-feedforward-a-partir-de-zero\/","title":{"rendered":"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro."},"content":{"rendered":"<h2>Qu&rsquo;est-ce qu&rsquo;un r\u00e9seau neuronal?<\/h2>\n<p>Comme vous le savez, notre cerveau est une chose complexe. La coordination de son travail se fait par le biais de neurones &#8211; des cellules nerveuses avec des branches partant d&rsquo;eux. Entrelac\u00e9s les uns avec les autres, les neurones forment un r\u00e9seau neuronal &#8211; un m\u00e9canisme complexe qui d\u00e9termine toute la diversit\u00e9 de la psych\u00e9 humaine. C&rsquo;est la racine de notre conscience de soi, le sentiment de nous en tant qu&rsquo;individus, guid\u00e9s par nos d\u00e9sirs int\u00e9rieurs et nos aspirations.<\/p>\n<p>Si un dysfonctionnement se produit dans le travail des neurones, la personne change au-del\u00e0 de la reconnaissance. Selon la gravit\u00e9 de la blessure, les changements vont de l\u00e9gers signes de comportement d\u00e9viant \u00e0 l&rsquo;arr\u00eat du fonctionnement normal du corps. Les l\u00e9sions c\u00e9r\u00e9brales sont souvent mortelles.<\/p>\n<p>Mais aujourd&rsquo;hui, nous ne parlerons pas de biologie, car non seulement le syst\u00e8me de notre cerveau est appel\u00e9 r\u00e9seaux de neurones, mais aussi un programme informatique complexe avec des principes de fonctionnement similaires. Comme la mati\u00e8re grise, elle est fractale, c&rsquo;est-\u00e0-dire qu&rsquo;elle se compose de nombreux programmes plus simples qui forment une sorte de symbiose.<\/p>\n<p>Tout en fonctionnant, le r\u00e9seau neuronal apprend, acquiert de l&rsquo;exp\u00e9rience et devient plus parfait. Ainsi, nous avons affaire \u00e0 un v\u00e9ritable organisme num\u00e9rique, qui devrait un jour surpasser son cr\u00e9ateur.<\/p>\n<h2>Comment les r\u00e9seaux de neurones sont apparus<\/h2>\n<p>L&rsquo;\u00e9mergence du concept de r\u00e9seaux de neurones artificiels remonte aux ann\u00e9es 40 du si\u00e8cle pr\u00e9c\u00e9dent. En particulier, il est associ\u00e9 aux scientifiques McCulloch et Pitts, qui ont tent\u00e9 de simuler les processus du cerveau. Ils ont \u00e9galement propos\u00e9 l&rsquo;id\u00e9e de cr\u00e9er un syst\u00e8me d&rsquo;auto-apprentissage con\u00e7u pour effectuer diverses op\u00e9rations logiques. Le probl\u00e8me \u00e9tait que les technologies de l&rsquo;\u00e9poque \u00e9taient loin de celles d&rsquo;aujourd&rsquo;hui et que les inventeurs n&rsquo;avaient pas pleinement r\u00e9alis\u00e9 leurs id\u00e9es.<\/p>\n<p>(Warren McCulloch et Walter Pitts)<\/p>\n<p>Leur travail a \u00e9t\u00e9 poursuivi par le physiologiste canadien Donald Hebb et, en 1949, le premier algorithme de calcul ANN a \u00e9t\u00e9 pr\u00e9sent\u00e9 au monde. Pendant les 10 ann\u00e9es suivantes, il a servi de base au d\u00e9veloppement d&rsquo;autres scientifiques, jusqu&rsquo;\u00e0 ce que, finalement, en 1958, Frank Rosenblatt cr\u00e9e le parceptron, une technologie qui imite le travail de notre cerveau. Pour l&rsquo;\u00e9poque, cette nouveaut\u00e9 \u00e9tait incroyable. Des scientifiques sovi\u00e9tiques et am\u00e9ricains se sont joints aux travaux, qui ont \u00e9galement apport\u00e9 une contribution consid\u00e9rable \u00e0 la recherche.<\/p>\n<p>\u00c0 la fin du XXe si\u00e8cle et au d\u00e9but du XXIe si\u00e8cle, la technologie a fait un bond en avant, ce qui a \u00e9t\u00e9 une bonne incitation \u00e0 une activit\u00e9 scientifique plus intensive, et en 2007, l&rsquo;informaticien Jeffrey Hinton a propos\u00e9 un algorithme d&rsquo;apprentissage en profondeur pour les r\u00e9seaux de neurones, qui est maintenant largement utilis\u00e9. dans les voitures autonomes.<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea3d9471a.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\"  title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea3d9471a.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>(Geoffrey Hinton)<\/p>\n<h3>Un peu d&rsquo;histoire<\/h3>\n<p>Pour la premi\u00e8re fois, le concept de r\u00e9seaux neuronaux artificiels (RNA) est apparu en essayant de simuler les processus du cerveau. La premi\u00e8re avanc\u00e9e majeure dans ce domaine peut \u00eatre consid\u00e9r\u00e9e comme la cr\u00e9ation du mod\u00e8le de r\u00e9seau neuronal McCulloch-Pitts en 1943. Les scientifiques ont d&rsquo;abord d\u00e9velopp\u00e9 un mod\u00e8le de neurone artificiel. Ils ont \u00e9galement propos\u00e9 la construction d&rsquo;un r\u00e9seau de ces \u00e9l\u00e9ments pour effectuer des op\u00e9rations logiques. Mais surtout, les scientifiques ont prouv\u00e9 qu&rsquo;un tel r\u00e9seau est capable d&rsquo;apprendre.<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea3e7c52e.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\"  title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea3e7c52e.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>La prochaine \u00e9tape importante a \u00e9t\u00e9 le d\u00e9veloppement par Donald Hebb du premier algorithme de calcul ANN en 1949, qui est devenu fondamental pour les d\u00e9cennies suivantes. En 1958, Frank Rosenblatt a d\u00e9velopp\u00e9 le parceptron, un syst\u00e8me qui imite les processus du cerveau. \u00c0 une \u00e9poque, la technologie n&rsquo;avait pas d&rsquo;analogues et est toujours fondamentale dans les r\u00e9seaux de neurones. En 1986, presque simultan\u00e9ment, ind\u00e9pendamment les uns des autres, les scientifiques am\u00e9ricains et sovi\u00e9tiques ont consid\u00e9rablement am\u00e9lior\u00e9 la m\u00e9thode fondamentale d&rsquo;enseignement du <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D1%81%D0%BB%D0%BE%D0%B9%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B5%D1%80%D1%86%D0%B5%D0%BF%D1%82%D1%80%D0%BE%D0%BD_%D0%A0%D1%83%D0%BC%D0%B5%D0%BB%D1%8C%D1%85%D0%B0%D1%80%D1%82%D0%B0\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">perceptron multicouche<\/a>. En 2007, les r\u00e9seaux de neurones ont connu une renaissance. Informaticien britannique <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A5%D0%B8%D0%BD%D1%82%D0%BE%D0%BD,_%D0%94%D0%B6%D0%B5%D1%84%D1%84%D1%80%D0%B8\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Jeffrey Hinton<\/a> a d&rsquo;abord d\u00e9velopp\u00e9 un algorithme d&rsquo;apprentissage en profondeur pour les r\u00e9seaux de neurones multicouches, qui est maintenant, par exemple, utilis\u00e9 pour faire fonctionner des v\u00e9hicules sans pilote.<\/p>\n<h3>En bref sur l&rsquo;essentiel<\/h3>\n<p>Au sens g\u00e9n\u00e9ral du terme, les r\u00e9seaux de neurones sont des mod\u00e8les math\u00e9matiques qui fonctionnent sur le principe des r\u00e9seaux de cellules nerveuses dans un organisme animal. Les ANN peuvent \u00eatre impl\u00e9ment\u00e9s dans des solutions programmables et mat\u00e9rielles. Pour faciliter la perception, un neurone peut \u00eatre imagin\u00e9 comme une sorte de cellule, qui a de nombreux trous d&rsquo;entr\u00e9e et une sortie. Le nombre de signaux entrants form\u00e9s dans le signal sortant d\u00e9termine l&rsquo;algorithme de calcul. Les valeurs effectives sont transmises \u00e0 chaque entr\u00e9e neuronale, qui sont ensuite propag\u00e9es le long des connexions interneuronales (synopsis). Les synapses ont un param\u00e8tre &#8211; le poids, en raison duquel les informations d&rsquo;entr\u00e9e changent lors du passage d&rsquo;un neurone \u00e0 un autre. La mani\u00e8re la plus simple d&rsquo;imaginer le fonctionnement des r\u00e9seaux de neurones peut \u00eatre repr\u00e9sent\u00e9e par l&rsquo;exemple du m\u00e9lange de couleurs. Les neurones bleus, verts et rouges ont des poids diff\u00e9rents.<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea3f7db4e.png\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea3f7db4e.png\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Le r\u00e9seau neuronal lui-m\u00eame est un syst\u00e8me de nombreux neurones (processeurs). S\u00e9par\u00e9ment, ces processeurs sont assez simples (beaucoup plus simples qu&rsquo;un processeur d&rsquo;ordinateur personnel), mais lorsqu&rsquo;ils sont connect\u00e9s \u00e0 un grand syst\u00e8me, les neurones sont capables d&rsquo;effectuer des t\u00e2ches tr\u00e8s complexes.<\/p>\n<p>Selon le domaine d&rsquo;application, un r\u00e9seau de neurones peut \u00eatre interpr\u00e9t\u00e9 de diff\u00e9rentes mani\u00e8res.Par exemple, du point de vue de l&rsquo;apprentissage automatique, un ANN est une m\u00e9thode de reconnaissance de formes. D&rsquo;un point de vue math\u00e9matique, il s&rsquo;agit d&rsquo;un probl\u00e8me \u00e0 param\u00e8tres multiples. Du point de vue de la cybern\u00e9tique, c&rsquo;est un mod\u00e8le de contr\u00f4le adaptatif de la robotique. Pour l&rsquo;intelligence artificielle, ANN est un composant fondamental de la mod\u00e9lisation de l&rsquo;intelligence naturelle \u00e0 l&rsquo;aide d&rsquo;algorithmes de calcul.<\/p>\n<p>Le principal avantage des r\u00e9seaux de neurones par rapport aux algorithmes de calcul conventionnels est leur capacit\u00e9 \u00e0 apprendre. Au sens g\u00e9n\u00e9ral du terme, l&rsquo;apprentissage consiste \u00e0 trouver les coefficients de couplage corrects entre neurones, ainsi qu&rsquo;\u00e0 g\u00e9n\u00e9raliser des donn\u00e9es et \u00e0 identifier des relations complexes entre les signaux d&rsquo;entr\u00e9e et de sortie. En fait, un apprentissage r\u00e9ussi d&rsquo;un r\u00e9seau neuronal signifie que le syst\u00e8me sera en mesure d&rsquo;identifier le r\u00e9sultat correct sur la base de donn\u00e9es non pr\u00e9sentes dans l&rsquo;ensemble d&rsquo;apprentissage.<\/p>\n<h2>Application des r\u00e9seaux de neurones<\/h2>\n<p>Le champ d&rsquo;application des r\u00e9seaux de neurones est incroyablement large et n&rsquo;est limit\u00e9 que par notre imagination. \u00c9num\u00e9rons quelques-uns d&rsquo;entre eux:<\/p>\n<ul>\n<li>Syst\u00e8mes de contr\u00f4le automatique du transport. Pilotes automatiques.<\/li>\n<li>L&rsquo;Internet. Assistants vocaux, navigateurs intelligents, programmes de traduction.<\/li>\n<li>\u00c9conomie et affaires. Pr\u00e9vision des taux de change, programmes comptables modernes, robots de trading, programmes d&rsquo;\u00e9valuation des risques, gestion des machines de production, contr\u00f4le qualit\u00e9, etc.<\/li>\n<li>M\u00e9dicament. M\u00e9thodes modernes de diagnostic, d&rsquo;analyse de l&rsquo;efficacit\u00e9 du traitement, de traitement des images m\u00e9dicales.<\/li>\n<li>Robotique. Planification d&rsquo;itin\u00e9raire, reconnaissance vocale et gestuelle.<\/li>\n<li>S\u00e9curit\u00e9. Gestion des syst\u00e8mes de vid\u00e9osurveillance et des alarmes.<\/li>\n<li>Jeux informatiques et divertissement. Bots intelligents, programmes analytiques pour les \u00e9checs et autres jeux.<\/li>\n<li>De l&rsquo;art. Cr\u00e9ation de peintures, livres et autres objets culturels.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4177889.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4177889.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<h3>La situation d&rsquo;aujourd&rsquo;hui<\/h3>\n<p>Et aussi prometteuse que soit cette technologie, les ANN sont encore tr\u00e8s loin des capacit\u00e9s du cerveau et de la pens\u00e9e humains. N\u00e9anmoins, les r\u00e9seaux de neurones sont d\u00e9j\u00e0 utilis\u00e9s dans de nombreux domaines de l&rsquo;activit\u00e9 humaine. Jusqu&rsquo;\u00e0 pr\u00e9sent, ils ne sont pas en mesure de prendre des d\u00e9cisions hautement intellectuelles, mais ils sont capables de remplacer une personne l\u00e0 o\u00f9 elle \u00e9tait auparavant n\u00e9cessaire. Parmi les nombreux domaines d&rsquo;application ANN, on peut noter: la cr\u00e9ation de syst\u00e8mes d&rsquo;auto-apprentissage des processus de production, de v\u00e9hicules sans pilote, de syst\u00e8mes de reconnaissance d&rsquo;image, de syst\u00e8mes de s\u00e9curit\u00e9 intelligents, de robotique, de syst\u00e8mes de surveillance de la qualit\u00e9, d&rsquo;interfaces d&rsquo;interaction vocale, de syst\u00e8mes d&rsquo;analyse et bien plus encore. Cette utilisation g\u00e9n\u00e9ralis\u00e9e des r\u00e9seaux de neurones est, entre autres, due \u00e0 l&rsquo;\u00e9mergence de diverses mani\u00e8res d&rsquo;acc\u00e9l\u00e9rer l&rsquo;apprentissage de l&rsquo;ANN.<\/p>\n<p>Aujourd&rsquo;hui, le march\u00e9 des r\u00e9seaux de neurones est \u00e9norme &#8211; il repr\u00e9sente des milliards et des milliards de dollars. Comme le montre la pratique, la plupart des technologies des r\u00e9seaux de neurones dans le monde diff\u00e8rent peu les unes des autres. Cependant, l&rsquo;utilisation de r\u00e9seaux de neurones est une entreprise tr\u00e8s co\u00fbteuse qui, dans la plupart des cas, ne peut \u00eatre financ\u00e9e que par les grandes entreprises. Pour le d\u00e9veloppement, la formation et le test des r\u00e9seaux de neurones, une grande puissance de calcul est n\u00e9cessaire, il est \u00e9vident que les grands acteurs du march\u00e9 informatique en ont assez. La division DeepMind de Google, la division Microsoft Research, IBM, Facebook et Baidu figurent parmi les principales entreprises \u00e0 la pointe du d\u00e9veloppement dans ce domaine.<\/p>\n<p>Bien s\u00fbr, tout cela est bien: les r\u00e9seaux de neurones se d\u00e9veloppent, le march\u00e9 se d\u00e9veloppe, mais jusqu&rsquo;\u00e0 pr\u00e9sent, la t\u00e2che principale n&rsquo;a pas \u00e9t\u00e9 r\u00e9solue. L&rsquo;humanit\u00e9 n&rsquo;a pas r\u00e9ussi \u00e0 cr\u00e9er une technologie dont les capacit\u00e9s sont m\u00eame proches du cerveau humain. Jetons un coup d&rsquo;\u0153il aux principales diff\u00e9rences entre le cerveau humain et les r\u00e9seaux de neurones artificiels.<\/p>\n<h3>Pourquoi les r\u00e9seaux de neurones sont-ils encore loin du cerveau humain?<\/h3>\n<p>La diff\u00e9rence la plus importante, qui change fondamentalement le principe et l&rsquo;efficacit\u00e9 du syst\u00e8me, est la transmission diff\u00e9rente du signal dans les r\u00e9seaux de neurones artificiels et dans le r\u00e9seau biologique des neurones. Le fait est que dans l&rsquo;ANN, les neurones transmettent des valeurs qui sont des valeurs r\u00e9elles, c&rsquo;est-\u00e0-dire des nombres. Dans le cerveau humain, des impulsions d&rsquo;amplitude fixe sont transmises et ces impulsions sont presque instantan\u00e9es. Par cons\u00e9quent, le r\u00e9seau humain de neurones pr\u00e9sente un certain nombre d&rsquo;avantages.<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea437f470.png\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea437f470.png\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Premi\u00e8rement, les lignes de communication dans le cerveau sont beaucoup plus efficaces et \u00e9conomiques que dans les ANN. Deuxi\u00e8mement, le circuit d&rsquo;impulsions assure la simplicit\u00e9 de la mise en \u0153uvre de la technologie: il suffit d&rsquo;utiliser des circuits analogiques au lieu de m\u00e9canismes de calcul complexes. En fin de compte, les r\u00e9seaux d&rsquo;impulsions sont prot\u00e9g\u00e9s des interf\u00e9rences acoustiques. Les nombres effectifs sont sujets au bruit, ce qui augmente la probabilit\u00e9 d&rsquo;erreurs.<\/p>\n<h2>Perspectives des r\u00e9seaux de neurones<\/h2>\n<p>Le mouvement luddite a commenc\u00e9 au d\u00e9but du 19e si\u00e8cle. Ce mot \u00e9tait utilis\u00e9 pour d\u00e9crire les personnes participant \u00e0 des manifestations contre l&rsquo;urbanisation. Avec l&rsquo;industrialisation de la soci\u00e9t\u00e9, lorsque les machines-outils ont commenc\u00e9 \u00e0 remplacer progressivement les travailleurs, de nombreuses personnes se sont retrouv\u00e9es sans travail et \u00e9taient extr\u00eamement insatisfaites de leur situation. Imaginez le choc qu&rsquo;ils auraient v\u00e9cu s&rsquo;ils avaient appris que dans deux cents ans, les machines seraient capables de parler et m\u00eame de se d\u00e9placer de mani\u00e8re autonome!<\/p>\n<p>Pendant ce temps, ces temps sont venus, et aujourd&rsquo;hui, il y a aussi des r\u00e9trogrades qui craignent que la robotique et le d\u00e9veloppement de la technologie en g\u00e9n\u00e9ral puissent jouer une blague cruelle avec les gens. Apr\u00e8s tout, si les machines sont d\u00e9j\u00e0 capables d&rsquo;ex\u00e9cuter autant de t\u00e2ches aujourd&rsquo;hui, elles occuperont \u00e0 l&rsquo;avenir tous les emplois, rendant les gens inutiles. Et cette position n&rsquo;est confirm\u00e9e que par les appr\u00e9ciations d&rsquo;experts qui pr\u00e9disent de temps \u00e0 autre la disparition imminente d&rsquo;une profession particuli\u00e8re.<\/p>\n<p>Cette position a le droit d&rsquo;exister, mais elle n&rsquo;est pas tout \u00e0 fait correcte, car avec le temps, non seulement les anciennes professions disparaissent, mais de nouvelles apparaissent \u00e9galement. Oui, il y a un ordre de grandeur moins de bergers et de chasseurs qu&rsquo;avant, mais des programmeurs et des sp\u00e9cialistes du marketing sont apparus. Aux tournants de l&rsquo;histoire, l&rsquo;\u00e9conomie se r\u00e9oriente, \u00e9liminant les inutiles et dotant g\u00e9n\u00e9reusement ceux qui sont en demande.<\/p>\n<p>L&rsquo;influence croissante des r\u00e9seaux de neurones artificiels est \u00e9vidente, et il est probable que bient\u00f4t ils seront litt\u00e9ralement partout, mais en avoir peur signifie rejeter la nature humaine elle-m\u00eame, qui consiste dans le d\u00e9sir de d\u00e9couverte et d&rsquo;accomplissement.<\/p>\n<h2>Cr\u00e9ation de blocs neuronaux<\/h2>\n<p>Tout d&rsquo;abord, vous devez d\u00e9cider quels sont les composants de base d&rsquo;un r\u00e9seau neuronal &#8211; les <strong>neurones<\/strong> -. Le neurone prend les donn\u00e9es d&rsquo;entr\u00e9e, effectue certaines <strong>op\u00e9rations math\u00e9matiques avec lui<\/strong>, puis sort le r\u00e9sultat. Un neurone avec deux entr\u00e9es ressemble \u00e0 ceci:<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/12\/fed4726d9a0d92019fee18550c1d79a0-1.png\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/12\/fed4726d9a0d92019fee18550c1d79a0-1.png\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Trois choses se passent ici. Tout d&rsquo;abord, chaque entr\u00e9e est multipli\u00e9e par son poids (indiqu\u00e9 en <strong>rouge<\/strong> sur le diagramme ):<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea460c31b.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea460c31b.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Ensuite, toutes les entr\u00e9es pond\u00e9r\u00e9es sont additionn\u00e9es avec le d\u00e9calage <code>b<\/code>(indiqu\u00e9 en <strong>vert<\/strong> dans le diagramme ):<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea46be05a.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea46be05a.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Enfin, le montant est transf\u00e9r\u00e9 via la fonction d&rsquo;activation (marqu\u00e9e en <strong>jaune<\/strong> sur le sch\u00e9ma ):<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea477ea32.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea477ea32.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>La fonction d&rsquo;activation est utilis\u00e9e pour connecter des entr\u00e9es ind\u00e9pendantes \u00e0 une sortie qui a une forme simple et pr\u00e9visible. En r\u00e8gle g\u00e9n\u00e9rale, la fonction <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D0%B8%D0%B3%D0%BC%D0%BE%D0%B8%D0%B4%D0%B0\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sigmo\u00efde<\/a> est consid\u00e9r\u00e9e comme la fonction d&rsquo;activation utilis\u00e9e :<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4848293.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4848293.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p><strong>La fonction sigmo\u00efde<\/strong> ne produit que des nombres dans une plage <code>(0, 1)<\/code>. Vous pouvez le consid\u00e9rer comme une compression de <code>(\u2212\u221e, +\u221e)<\/code>\u00e0 <code>(0, 1)<\/code>. De grands nombres n\u00e9gatifs deviennent <code>~0<\/code>, et de grands nombres positifs deviennent <code>~1<\/code>.<\/p>\n<h2>Un exemple simple de travail avec des neurones en Python<\/h2>\n<p>Supposons que nous ayons un <strong>neurone avec deux entr\u00e9es<\/strong> qui utilise une fonction d&rsquo; <strong>activation sigmo\u00efde<\/strong> et qui a les param\u00e8tres suivants:<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea491789f.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea491789f.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p><code>w = [0,1]<\/code>Est juste une mani\u00e8re d&rsquo;\u00e9crire <code>w1 = 0, w2 = 1<\/code>sous forme vectorielle. Attribuons une entr\u00e9e avec une valeur au neurone <code>x = [2, 3]<\/code>. Pour une repr\u00e9sentation plus compacte, le <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D0%BA%D0%B0%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">produit scalaire<\/a> sera utilis\u00e9 .<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea49c304f.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea49c304f.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>\u00c9tant donn\u00e9 que l&rsquo;entr\u00e9e \u00e9tait <code>x = [2, 3]<\/code>, la sortie sera \u00e9gale <code>0.999<\/code>. C&rsquo;est tout. Ce processus de <strong>transmission des donn\u00e9es d&rsquo;entr\u00e9e<\/strong> pour recevoir la sortie est appel\u00e9 anticipation.<\/p>\n<h2>Construire un neurone \u00e0 partir de z\u00e9ro en Python<\/h2>\n<p>Commen\u00e7ons par impl\u00e9menter le neurone. Cela n\u00e9cessitera l&rsquo;utilisation de NumPy. Il s&rsquo;agit d&rsquo;une puissante biblioth\u00e8que de calcul Python qui utilise des op\u00e9rations math\u00e9matiques:<\/p>\n<table>\n<tbody>\n<tr>\n<td>\n<div>\n<p><span><span>une<\/span><\/span><\/p>\n<p><span><span>2<\/span><\/span><\/p>\n<p><span><span>3<\/span><\/span><\/p>\n<p><span><span>quatre<\/span><\/span><\/p>\n<p><span><span>cinq<\/span><\/span><\/p>\n<p><span><span>6<\/span><\/span><\/p>\n<p><span><span>7<\/span><\/span><\/p>\n<p><span><span>huit<\/span><\/span><\/p>\n<p><span><span>neuf<\/span><\/span><\/p>\n<p><span><span>dix<\/span><\/span><\/p>\n<p><span><span>Onze<\/span><\/span><\/p>\n<p><span><span>12<\/span><\/span><\/p>\n<p><span><span>13<\/span><\/span><\/p>\n<p><span><span>Quatorze<\/span><\/span><\/p>\n<p><span><span>quinze<\/span><\/span><\/p>\n<p><span><span>seize<\/span><\/span><\/p>\n<p><span><span>17<\/span><\/span><\/p>\n<p><span><span>dix-huit<\/span><\/span><\/p>\n<p><span><span>dix-neuf<\/span><\/span><\/p>\n<p><span><span>vingt<\/span><\/span><\/p>\n<p><span><span>21<\/span><\/span><\/p>\n<p><span><span>22<\/span><\/span><\/p>\n<p><span><span>23<\/span><\/span><\/p>\n<p><span><span>24<\/span><\/span><\/p>\n<p><span><span>25<\/span><\/span><\/p>\n<p><span><span>26<\/span><\/span><\/p>\n<p><span><span>27<\/span><\/span><\/p>\n<\/div>\n<\/td>\n<td>\n<div>\n<p><span><span><span>importer <\/span><\/span><\/span><span><span><span>numpy en <\/span><\/span><span><span>tant que <\/span><\/span><span><span>np<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><\/p>\n<p><span><span><span>def <\/span><\/span><\/span><span><span><span>sigmo\u00efde <\/span><\/span><span><span>( <\/span><\/span><span><span>x <\/span><\/span><span><span>) <\/span><\/span><span><span>:<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><\/p>\n<p><span><\/span><span><span><span># Notre fonction d&rsquo;activation: f (x) = 1 \/ (1 + e ^ (- x))<\/span><\/span><\/span><\/p>\n<p><span><\/span><span><span><span>retourne <\/span><\/span><\/span><span><span><span>1 <\/span><\/span><span><span>\/ <\/span><\/span><span><span>( <\/span><\/span><span><span>1 <\/span><\/span><span><span>+ <\/span><\/span><span><span>np <\/span><\/span><span><span>. <\/span><\/span><span><span>exp <\/span><\/span><span><span>( <\/span><\/span><span><span>&#8211; <\/span><\/span><span><span>x <\/span><\/span><span><span>) <\/span><\/span><span><span>)<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><\/p>\n<p><span><span><span>classe <\/span><\/span><\/span><span><span><span>Neuron <\/span><\/span><span><span>:<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><\/p>\n<p><span><\/span><span><span><span>def <\/span><\/span><\/span><span><span><span>__init__ <\/span><\/span><span><span>( <\/span><\/span><span><span>soi <\/span><\/span><span><span>, <\/span><\/span><span><span>poids <\/span><\/span><span><span>, <\/span><\/span><span><span>biais <\/span><\/span><span><span>) <\/span><\/span><span><span>:<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><\/p>\n<p><span><\/span><span><span><span>soi <\/span><\/span><\/span><span><span><span>. <\/span><\/span><\/span><span><span><span>poids <\/span><\/span><\/span><span><span><span>= <\/span><\/span><span><span>poids<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><\/p>\n<p><span><\/span><span><span><span>soi <\/span><\/span><\/span><span><span><span>. <\/span><\/span><\/span><span><span><span>biais <\/span><\/span><\/span><span><span><span>= <\/span><\/span><span><span>biais<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><\/p>\n<p><span><\/span><span><span><span>def <\/span><\/span><\/span><span><span><span>feedforward <\/span><\/span><span><span>( <\/span><\/span><span><span>soi <\/span><\/span><span><span>, <\/span><\/span><span><span>entr\u00e9es <\/span><\/span><span><span>) <\/span><\/span><span><span>:<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><\/p>\n<p><span><\/span><span><span><span># Entrer les donn\u00e9es de poids, ajouter un d\u00e9calage<\/span><\/span><\/span><\/p>\n<p><span><\/span><span><span><span># et utilisation ult\u00e9rieure de la fonction d&rsquo;activation<\/span><\/span><\/span><\/p>\n<p><span><\/span><span><span><span>total <\/span><\/span><\/span><span><span><span>= <\/span><\/span><span><span>np <\/span><\/span><span><span>. <\/span><\/span><span><span>point <\/span><\/span><span><span>( <\/span><\/span><span><span>auto <\/span><\/span><span><span>. <\/span><\/span><span><span>poids <\/span><\/span><span><span>, <\/span><\/span><span><span>entr\u00e9es <\/span><\/span><span><span>) <\/span><\/span><span><span>+ <\/span><\/span><span><span>self <\/span><\/span><span><span>. <\/span><\/span><span><span>biais<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><\/p>\n<p><span><\/span><span><span><span>retour <\/span><\/span><\/span><span><span><span>sigmo\u00efde <\/span><\/span><span><span>( <\/span><\/span><span><span>total <\/span><\/span><span><span>)<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><\/p>\n<p><span><span><span>poids <\/span><\/span><\/span><span><span><span>= <\/span><\/span><span><span>np <\/span><\/span><span><span>. <\/span><\/span><span><span>tableau <\/span><\/span><span><span>( <\/span><\/span><span><span>[ <\/span><\/span><span><span>0 <\/span><\/span><span><span>, <\/span><\/span><span><span>1 <\/span><\/span><span><span>] <\/span><\/span><span><span>) <\/span><\/span><span><span># w1 = 0, w2 = 1<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><\/p>\n<p><span><span><span>biais <\/span><\/span><\/span><span><span><span>= <\/span><\/span><span><span>4 <\/span><\/span><span><span># b = 4<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><\/p>\n<p><span><span><span>n <\/span><\/span><\/span><span><span><span>= <\/span><\/span><span><span>Neuron <\/span><\/span><span><span>( <\/span><\/span><span><span>poids <\/span><\/span><span><span>, <\/span><\/span><span><span>biais <\/span><\/span><span><span>)<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><\/p>\n<p><span><span><span>x <\/span><\/span><\/span><span><span><span>= <\/span><\/span><span><span>np <\/span><\/span><span><span>. <\/span><\/span><span><span>tableau <\/span><\/span><span><span>( <\/span><\/span><span><span>[ <\/span><\/span><span><span>2 <\/span><\/span><span><span>, <\/span><\/span><span><span>3 <\/span><\/span><span><span>] <\/span><\/span><span><span>) <\/span><\/span><span><span># x1 = 2, x2 = 3<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><span><\/span><\/span><span><\/span><span><span><\/span><\/span><\/p>\n<p><span><span><span>impression <\/span><\/span><\/span><span><span><span>( <\/span><\/span><\/span><span><span><span>n <\/span><\/span><\/span><span><span><span>. <\/span><\/span><\/span><span><span><span>avance <\/span><\/span><\/span><span><span><span>( <\/span><\/span><\/span><span><span><span>x <\/span><\/span><\/span><span><span><span>) <\/span><\/span><\/span><span><span><span>) <\/span><\/span><\/span><span><span><span># 0.9990889488055994<\/span><\/span><\/span><span><\/span><span><span><\/span><\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Reconnaissez-vous les chiffres? C&rsquo;est le m\u00eame exemple \u00e9voqu\u00e9 pr\u00e9c\u00e9demment. La r\u00e9ponse re\u00e7ue cette fois est \u00e9galement \u00e9gale <code>0.999<\/code>.<\/p>\n<h2>Un exemple de collecte de neurones dans un r\u00e9seau de neurones<\/h2>\n<p><strong>Un r\u00e9seau de neurones<\/strong> est essentiellement un groupe de <strong>neurones interconnect\u00e9s<\/strong>. Un simple r\u00e9seau de neurones ressemble \u00e0 ceci:<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/12\/0e2c31c441e9cdc4eb35c1c746dc5651-1.png\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/12\/0e2c31c441e9cdc4eb35c1c746dc5651-1.png\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Sur la couche d&rsquo;introduction du r\u00e9seau, il y a deux entr\u00e9es &#8211; <code>x1<\/code>et <code>x2<\/code>. Il y a deux neutrons sur la couche cach\u00e9e &#8211; <code>h1<\/code>et <code>h2<\/code>. Il y a un neurone sur la couche de sortie &#8211; <code>\u043e1<\/code>. Notez que les entr\u00e9es pour <code>\u043e1<\/code>sont des r\u00e9sultats de sortie <code>h1<\/code>et <code>h2<\/code>. C&rsquo;est <strong>ainsi que se construit le r\u00e9seau neuronal<\/strong>.<\/p>\n<blockquote>\n<p><strong>Un calque masqu\u00e9<\/strong> est tout calque entre le calque d&rsquo;entr\u00e9e et le calque de sortie, qui sont respectivement les premier et dernier calques. Il peut y avoir plusieurs couches cach\u00e9es.<\/p>\n<\/blockquote>\n<h2>Formation sur les r\u00e9seaux neuronaux<\/h2>\n<p>Sortie <strong>\u0177 d&rsquo;un<\/strong> simple r\u00e9seau de neurones \u00e0 deux couches:<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4b5814e.png\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4b5814e.png\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Dans l&rsquo;\u00e9quation ci-dessus, les poids W et les biais b sont les seules variables qui affectent la sortie \u0177.<\/p>\n<p>Naturellement, les valeurs correctes des pond\u00e9rations et des biais d\u00e9terminent la pr\u00e9cision des pr\u00e9dictions. Le processus d&rsquo;ajustement des poids et des biais \u00e0 partir des donn\u00e9es d&rsquo;entr\u00e9e est connu sous le nom de formation de r\u00e9seau neuronal.<\/p>\n<p>Chaque it\u00e9ration du processus de formation comprend les \u00e9tapes suivantes<\/p>\n<ul>\n<li>calcul de la sortie pr\u00e9dite \u0177 appel\u00e9e propagation directe<\/li>\n<li>mise \u00e0 jour des poids et biais appel\u00e9s r\u00e9tropropagation<\/li>\n<\/ul>\n<p>Le graphique s\u00e9quentiel ci-dessous illustre le processus:<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4c1cc09.png\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4c1cc09.png\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<h3>Distribution directe<\/h3>\n<p>Comme nous l&rsquo;avons vu dans le graphique ci-dessus, la propagation directe n&rsquo;est qu&rsquo;un simple calcul, et pour un r\u00e9seau neuronal de base \u00e0 2 couches, la sortie du r\u00e9seau neuronal est donn\u00e9e par:<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4b5814e.png\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4b5814e.png\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Ajoutons du feedforward \u00e0 notre code Python pour ce faire. Notez que pour simplifier, nous avons suppos\u00e9 que les d\u00e9calages sont de 0.<\/p>\n<p>Cependant, nous avons besoin d&rsquo;un moyen d&rsquo;\u00e9valuer la \u00abqualit\u00e9\u00bb de nos pr\u00e9visions, c&rsquo;est-\u00e0-dire dans quelle mesure nos pr\u00e9visions sont). <strong>La fonction de perte<\/strong> nous permet de faire exactement cela.<\/p>\n<h3>Fonction de perte<\/h3>\n<p>Il existe de nombreuses fonctions de perte disponibles, et la nature de notre probl\u00e8me devrait dicter notre choix de fonction de perte. Dans cet article, nous utiliserons la <strong>somme des carr\u00e9s des erreurs<\/strong> comme fonction de perte.<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4dd5677.png\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4dd5677.png\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>La somme des erreurs au carr\u00e9 est la moyenne de la diff\u00e9rence entre chaque valeur pr\u00e9dite et la valeur r\u00e9elle.<\/p>\n<p><strong>Le but de la formation est de trouver un ensemble de poids et de biais qui minimise la fonction de perte.<\/strong><\/p>\n<h3>Propagation arri\u00e8re<\/h3>\n<p>Maintenant que nous avons mesur\u00e9 notre erreur de pr\u00e9vision (pertes), nous devons trouver un moyen de <strong>propager l&rsquo;erreur<\/strong> et de mettre \u00e0 jour nos pond\u00e9rations et nos biais.<\/p>\n<p>Pour trouver la quantit\u00e9 appropri\u00e9e \u00e0 corriger pour les pond\u00e9rations et les biais, nous devons conna\u00eetre la d\u00e9riv\u00e9e de la fonction de perte par rapport aux pond\u00e9rations et aux biais.<\/p>\n<p>Rappelons de l&rsquo;analyse que la <strong>d\u00e9riv\u00e9e d&rsquo;une fonction est la tangente de la pente de la fonction.<\/strong><\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4e9fbda.png\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4e9fbda.png\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Si nous avons une d\u00e9riv\u00e9e, nous pouvons simplement mettre \u00e0 jour les poids et les biais en les augmentant \/ en les diminuant (voir le diagramme ci-dessus). C&rsquo;est ce qu&rsquo;on appelle la <strong>descente de gradient<\/strong>.<\/p>\n<p>Cependant, nous ne pouvons pas calculer directement la d\u00e9riv\u00e9e de la fonction de perte par rapport aux poids et biais, puisque l&rsquo;\u00e9quation de la fonction de perte ne contient pas de poids et de biais. Par cons\u00e9quent, nous avons besoin d&rsquo;une r\u00e8gle de cha\u00eene pour faciliter le calcul.<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4fe692d.png\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea4fe692d.png\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Fuh! C&rsquo;\u00e9tait encombrant, mais cela nous permettait d&rsquo;obtenir ce dont nous avions besoin &#8211; la d\u00e9riv\u00e9e (pente) de la fonction de perte par rapport aux poids. Nous pouvons maintenant ajuster les poids en cons\u00e9quence.<\/p>\n<p>Ajoutons la fonction de r\u00e9tropropagation \u00e0 notre code Python:<\/p>\n<h2>D\u00e9riv\u00e9es partielles<\/h2>\n<p>Des d\u00e9riv\u00e9es partielles peuvent \u00eatre calcul\u00e9es, de sorte que l&rsquo;on sait quelle a \u00e9t\u00e9 la contribution \u00e0 l&rsquo;erreur pour chaque poids. Le besoin de produits d\u00e9riv\u00e9s est \u00e9vident. Imaginez un r\u00e9seau de neurones essayant de trouver la vitesse optimale pour un v\u00e9hicule autonome. Si la voiture d\u00e9tecte qu&rsquo;elle va plus vite ou plus lentement que la vitesse requise, le r\u00e9seau neuronal changera la vitesse, acc\u00e9l\u00e9rant ou ralentissant la voiture. Qu&rsquo;est-ce que l&rsquo;acc\u00e9l\u00e9ration \/ la d\u00e9c\u00e9l\u00e9ration dans ce cas? D\u00e9riv\u00e9s de vitesse.<\/p>\n<p>Regardons le besoin de d\u00e9riv\u00e9es partielles \u00e0 l&rsquo;aide d&rsquo;un exemple.<\/p>\n<p>Supposons qu&rsquo;on demande aux enfants de lancer une fl\u00e9chette sur une cible, en visant le centre. Voici les r\u00e9sultats:<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea51122d6.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea51122d6.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Maintenant, si nous trouvons une erreur g\u00e9n\u00e9rale et la soustrayons simplement de tous les poids, nous r\u00e9sumerons les erreurs commises par chacun. Donc, disons que l&rsquo;enfant a frapp\u00e9 trop bas, mais nous demandons \u00e0 tous les enfants de s&rsquo;efforcer d&rsquo;atteindre la cible, cela conduira \u00e0 l&rsquo;image suivante:<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea51cbdd8.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea51cbdd8.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>L&rsquo;erreur de plusieurs enfants peut diminuer, mais l&rsquo;erreur totale continue d&rsquo;augmenter.<\/p>\n<p>Apr\u00e8s avoir trouv\u00e9 les d\u00e9riv\u00e9es partielles, nous d\u00e9couvrons les erreurs correspondant \u00e0 chaque poids s\u00e9par\u00e9ment. Si vous corrigez s\u00e9lectivement les poids, vous pouvez obtenir ce qui suit:<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea528fe3a.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea528fe3a.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<h2>Hyperparam\u00e8tres<\/h2>\n<p>Un r\u00e9seau neuronal est utilis\u00e9 pour automatiser la s\u00e9lection des fonctionnalit\u00e9s, mais certains param\u00e8tres sont configur\u00e9s manuellement.<\/p>\n<h3>Taux d&rsquo;apprentissage<\/h3>\n<p>Le taux d&rsquo;apprentissage est un hyperparam\u00e8tre tr\u00e8s important. Si le taux d&rsquo;apprentissage est trop faible, m\u00eame apr\u00e8s avoir entra\u00een\u00e9 le r\u00e9seau neuronal pendant une longue p\u00e9riode, les r\u00e9sultats seront loin d&rsquo;\u00eatre optimaux. Les r\u00e9sultats ressembleront \u00e0 ceci:<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea534e6eb.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea534e6eb.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>En revanche, si le taux d&rsquo;apprentissage est trop \u00e9lev\u00e9, le r\u00e9seau r\u00e9pondra tr\u00e8s rapidement. Le r\u00e9sultat est le suivant:<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea540f66b.jpg\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea540f66b.jpg\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<h2>R\u00e9seaux de neurones profonds<\/h2>\n<p>L&rsquo;apprentissage en profondeur est une classe d&rsquo;algorithmes d&rsquo;apprentissage automatique qui apprennent \u00e0 comprendre les donn\u00e9es plus profond\u00e9ment (de mani\u00e8re plus abstraite). Les algorithmes populaires pour les r\u00e9seaux de neurones d&rsquo;apprentissage en profondeur sont pr\u00e9sent\u00e9s dans le diagramme ci-dessous.<\/p>\n<p><a href=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea55368b9.png\" data-rel=\"lightbox-image-bGlnaHRib3g=\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.com.de\/wp-content\/uploads\/2021\/04\/post-190136-607bea55368b9.png\" alt=\"En termes simples sur le complexe: que sont les r\u00e9seaux de neurones? Ecrire un r\u00e9seau de neurones feedforward \u00e0 partir de z\u00e9ro.\" ><\/a><\/p>\n<p>Algorithmes de r\u00e9seau de neurones populaires (<a href=\"http:\/\/www.asimovinstitute.org\/neural-network-zoo\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/www.asimovinstitute.org\/neural-network-zoo<\/a> )<\/p>\n<p>Plus formellement dans le deep learning:<\/p>\n<ul>\n<li>Une cascade (pipeline, sous forme de flux transmis s\u00e9quentiellement) d&rsquo;une pluralit\u00e9 de couches de traitement (non lin\u00e9aires) est utilis\u00e9e pour extraire et transformer des caract\u00e9ristiques;<\/li>\n<li>Bas\u00e9 sur l&rsquo;\u00e9tude des caract\u00e9ristiques (pr\u00e9sentation des informations) dans les donn\u00e9es sans apprentissage supervis\u00e9. Les fonctions de niveau sup\u00e9rieur (qui sont dans les derni\u00e8res couches) sont obtenues \u00e0 partir des fonctions de niveau inf\u00e9rieur (qui sont dans les couches des couches initiales);<\/li>\n<li>Explore les vues en couches qui correspondent \u00e0 diff\u00e9rents niveaux d&rsquo;abstraction; les niveaux forment une hi\u00e9rarchie de pr\u00e9sentation.<\/li>\n<\/ul>\n<h2>Former le r\u00e9seau neuronal \u00e0 l&rsquo;aide des fonctions XOR<\/h2>\n<p>Pourquoi la fonction XOR est-elle si int\u00e9ressante? Simplement parce qu&rsquo;il ne peut pas \u00eatre obtenu par un neurone: 0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0. Cependant, il est facilement obtenu en augmentant le nombre de neurones. Nous allons essayer de former un r\u00e9seau avec 3 neurones dans la couche cach\u00e9e et 1 sortie (puisque nous n&rsquo;avons qu&rsquo;une seule sortie). Pour ce faire, nous devons cr\u00e9er un tableau de vecteurs X et Y avec des donn\u00e9es d&rsquo;entra\u00eenement et le r\u00e9seau neuronal lui-m\u00eame:<\/p>\n<pre><code>\/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 Vector[] X = { new Vector(0, 0), new Vector(0, 1), new Vector(1, 0), new Vector(1, 1) }; \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 Vector[] Y = { new Vector(0.0), \/\/ 0 ^ 0 = 0 new Vector(1.0), \/\/ 0 ^ 1 = 1 new Vector(1.0), \/\/ 1 ^ 0 = 1 new Vector(0.0) \/\/ 1 ^ 1 = 0 }; Network network = new Network(new int[]{2, 3, 1}); \/\/ \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u0435\u0442\u044c \u0441 \u0434\u0432\u0443\u043c\u044f \u0432\u0445\u043e\u0434\u0430\u043c\u0438, \u0442\u0440\u0435\u043c\u044f \u043d\u0435\u0439\u0440\u043e\u043d\u0430\u043c\u0438 \u0432 \u0441\u043a\u0440\u044b\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u0438 \u043e\u0434\u043d\u0438\u043c \u0432\u044b\u0445\u043e\u0434\u043e\u043c <\/code><\/pre>\n<p>Ensuite, nous commen\u00e7ons l&rsquo;entra\u00eenement avec les param\u00e8tres suivants: taux d&rsquo;apprentissage &#8211; 0,5, nombre d&rsquo;\u00e9poques &#8211; 100000, valeur d&rsquo;erreur &#8211; 1e-7:<\/p>\n<pre><code>network.Train(X, Y, 0.5, 1e-7, 100000); \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0435\u0442\u0438 <\/code><\/pre>\n<p>Apr\u00e8s l&rsquo;entra\u00eenement, regardons les r\u00e9sultats en effectuant un passage direct pour tous les \u00e9l\u00e9ments:<\/p>\n<pre><code>for (int i = 0; i <\/code><\/pre>\n<div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/lastici.ru\" class=\"external external_icon\">lastici.ru<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Nous parlons de r\u00e9seaux de neurones: pr\u00e9sentation facile d&rsquo;informations complexes pour que m\u00eame un enfant puisse comprendre. Nous \u00e9tudions les bases et approfondissons le sujet \u00e0 partir de z\u00e9ro.<\/p>\n","protected":false},"author":1,"featured_media":413743,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[363,257,429,286,320,330,165],"tags":[],"class_list":["post-347827","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-affaires","category-divers","category-lordinateur","category-les-technologies","category-pour-femme","category-pour-hommes","category-recherche"],"_links":{"self":[{"href":"https:\/\/inform.com.de\/fr\/wp-json\/wp\/v2\/posts\/347827","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inform.com.de\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inform.com.de\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inform.com.de\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inform.com.de\/fr\/wp-json\/wp\/v2\/comments?post=347827"}],"version-history":[{"count":0,"href":"https:\/\/inform.com.de\/fr\/wp-json\/wp\/v2\/posts\/347827\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inform.com.de\/fr\/wp-json\/wp\/v2\/media\/413743"}],"wp:attachment":[{"href":"https:\/\/inform.com.de\/fr\/wp-json\/wp\/v2\/media?parent=347827"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inform.com.de\/fr\/wp-json\/wp\/v2\/categories?post=347827"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inform.com.de\/fr\/wp-json\/wp\/v2\/tags?post=347827"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}