<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Module 3 - Réseaux de neurones et apprentissage profond on INF1901 - Initiation à l'IA : concepts et réflexions</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/</link><description>Recent content in Module 3 - Réseaux de neurones et apprentissage profond on INF1901 - Initiation à l'IA : concepts et réflexions</description><generator>Hugo</generator><language>fr</language><atom:link href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/index.xml" rel="self" type="application/rss+xml"/><item><title>Un neurone</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/un-neurone/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/un-neurone/</guid><description>&lt;h1 id="un-neurone"&gt;Un neurone&lt;a class="anchor" href="#un-neurone"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Le chapitre « &lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module1/deux-paris/#le-second-pari-lesprit-comme-cerveau"&gt;Deux paris rivaux&lt;/a&gt; »&#10;a présenté le &lt;strong&gt;perceptron&lt;/strong&gt; de Frank Rosenblatt (1958), une machine qui apprend à&#10;partir d&amp;rsquo;exemples au lieu de suivre des règles écrites à la main. Le chapitre&#10;« &lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module1/hivers-et-bascule/#le-premier-hiver-la-mort-du-perceptron-1969"&gt;Les hivers et la bascule&lt;/a&gt; »&#10;a montré comment cette approche a été mise de côté après 1969, quand Minsky et&#10;Papert ont démontré qu&amp;rsquo;un perceptron ne peut pas apprendre certaines fonctions&#10;simples, comme le XOR.&lt;/p&gt;</description></item><item><title>Une couche cachée</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/une-couche-cachee/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/une-couche-cachee/</guid><description>&lt;h1 id="une-couche-cachée"&gt;Une couche cachée&lt;a class="anchor" href="#une-couche-cach%c3%a9e"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Le chapitre « &lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/un-neurone/#ce-quun-neurone-seul-ne-peut-pas-faire"&gt;Un neurone&lt;/a&gt; »&#10;s&amp;rsquo;est terminé sur une limite : un neurone seul ne trace qu&amp;rsquo;une frontière droite, et&#10;il ne peut donc pas apprendre le XOR. Ce chapitre montre comment quelques neurones&#10;reliés entre eux dépassent cette limite.&lt;/p&gt;&#10;&lt;h2 id="relier-des-neurones"&gt;Relier des neurones&lt;a class="anchor" href="#relier-des-neurones"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;La sortie d&amp;rsquo;un neurone est un nombre. Rien n&amp;rsquo;empêche de donner ce nombre en entrée&#10;à un autre neurone. On obtient alors un &lt;strong&gt;réseau de neurones&lt;/strong&gt;,&#10;organisé en &lt;strong&gt;couches&lt;/strong&gt; (&lt;em&gt;layers&lt;/em&gt;) :&lt;/p&gt;</description></item><item><title>Entraîner un réseau</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/entrainer-un-reseau/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/entrainer-un-reseau/</guid><description>&lt;h1 id="entraîner-un-réseau"&gt;Entraîner un réseau&lt;a class="anchor" href="#entra%c3%aener-un-r%c3%a9seau"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Le chapitre « &lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/une-couche-cachee/#qui-r%c3%a8gle-tous-ces-poids"&gt;Une couche cachée&lt;/a&gt; »&#10;s&amp;rsquo;est terminé sur un réseau de près de 24 000 poids, que personne ne&#10;peut régler à la main. Ce chapitre explique comment un réseau règle lui-même ses&#10;poids, à partir d&amp;rsquo;exemples.&lt;/p&gt;&#10;&lt;h2 id="le-même-principe-quau-module-2"&gt;Le même principe qu&amp;rsquo;au Module 2&lt;a class="anchor" href="#le-m%c3%aame-principe-quau-module-2"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;La méthode a déjà été présentée dans&#10;« &lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module2/entrainer-un-modele/#apprendre-cest-descendre-la-pente"&gt;Apprendre, c&amp;rsquo;est descendre la pente&lt;/a&gt; ».&#10;Elle tient en trois étapes, qu&amp;rsquo;on répète :&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;on mesure l&amp;rsquo;&lt;strong&gt;erreur&lt;/strong&gt; du modèle sur des exemples dont on connaît la bonne&#10;réponse ;&lt;/li&gt;&#10;&lt;li&gt;on cherche dans quel sens modifier chaque paramètre pour que l&amp;rsquo;erreur diminue ;&lt;/li&gt;&#10;&lt;li&gt;on modifie un peu chaque paramètre dans ce sens.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;C&amp;rsquo;est la &lt;strong&gt;descente de gradient&lt;/strong&gt;. Pour la droite du Module 2,&#10;il y avait deux paramètres, et l&amp;rsquo;erreur formait un paysage qu&amp;rsquo;on pouvait dessiner.&#10;Pour un réseau, les paramètres sont les poids et les biais. Le paysage a alors des&#10;milliers de dimensions et on ne peut plus le dessiner, mais la méthode reste la&#10;même : mesurer la pente, puis faire un pas vers le bas.&lt;/p&gt;</description></item><item><title>L'apprentissage profond</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/apprentissage-profond/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/apprentissage-profond/</guid><description>&lt;h1 id="lapprentissage-profond"&gt;L&amp;rsquo;apprentissage profond&lt;a class="anchor" href="#lapprentissage-profond"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;D&amp;rsquo;après le&#10;&lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/une-couche-cachee/#plus-de-neurones-plus-de-formes"&gt;théorème d&amp;rsquo;approximation universelle&lt;/a&gt;, une seule couche cachée suffit&#10;pour approcher presque n&amp;rsquo;importe quelle fonction. Pourtant, les réseaux qui ont&#10;transformé l&amp;rsquo;IA à partir de 2012 comptent des dizaines de couches. On les appelle&#10;des réseaux &lt;strong&gt;profonds&lt;/strong&gt;, et leur entraînement, l&amp;rsquo;&lt;strong&gt;apprentissage profond&lt;/strong&gt; (&lt;em&gt;deep&#10;learning&lt;/em&gt; en anglais). Ce chapitre explique ce qu&amp;rsquo;on gagne à empiler les couches, et&#10;pourquoi cela n&amp;rsquo;a fonctionné qu&amp;rsquo;à partir de 2012.&lt;/p&gt;&#10;&lt;h2 id="large-ou-profond"&gt;Large ou profond&lt;a class="anchor" href="#large-ou-profond"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Le théorème dit qu&amp;rsquo;une couche suffit. Il ne dit pas combien de neurones elle doit&#10;contenir. Pour certains problèmes, ce nombre est si grand que le réseau ne peut&#10;être ni stocké ni entraîné.&lt;/p&gt;</description></item><item><title>Le matériel et les outils</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/materiel-et-outils/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/materiel-et-outils/</guid><description>&lt;h1 id="le-matériel-et-les-outils"&gt;Le matériel et les outils&lt;a class="anchor" href="#le-mat%c3%a9riel-et-les-outils"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Le chapitre « &lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/apprentissage-profond/#pourquoi-seulement-en-2012"&gt;L&amp;rsquo;apprentissage profond&lt;/a&gt; »&#10;a nommé trois conditions du succès de 2012 : une meilleure fonction d&amp;rsquo;activation, des données, et du calcul. Ce chapitre revient sur la&#10;troisième. Deux progrès techniques ont rendu l&amp;rsquo;apprentissage profond (&lt;em&gt;deep&#10;learning&lt;/em&gt;) praticable : des processeurs capables de faire les calculs, et des&#10;bibliothèques logicielles qui écrivent la rétropropagation à la&#10;place du programmeur.&lt;/p&gt;&#10;&lt;label class="book-image" for="book-image-toggle-419fddd2b3b9"&gt;&#10; &lt;input class="hidden toggle" type="checkbox" id="book-image-toggle-419fddd2b3b9" /&gt;&#10; &lt;img src="https://cjauvin.github.io/inf1901-teluq-v2/images/module3/frise-materiel-logiciel.svg" alt="Une frise chronologique à deux rangées. En haut, le matériel : fondation de Nvidia en 1993, GeForce 256 en 1999, CUDA en 2007, un réseau entraîné 70 fois plus vite sur GPU en 2009, premières machines conçues pour l&amp;#39;apprentissage profond en 2016. En bas, le logiciel : la méthode de Linnainmaa en 1970, Torch en 2002, Theano en 2007, Caffe en 2013, TensorFlow et Keras en 2015, PyTorch en 2016. Au centre, en 2012, AlexNet, où les deux histoires se rejoignent." loading="lazy" title="Le matériel et le logiciel de l&amp;#39;apprentissage profond : deux histoires qui se rejoignent en 2012." width="700" height="420" style="--largeur-plafond: 700px" /&gt;&#10;&lt;/label&gt;&#10;&lt;script&gt;&#10;(function() {&#10; const checkbox = document.getElementById('book-image-toggle-419fddd2b3b9');&#10; const escapeHandler = function(e) {&#10; if (e.key === 'Escape' &amp;&amp; checkbox.checked) {&#10; checkbox.checked = false;&#10; }&#10; };&#10; checkbox.addEventListener('change', function() {&#10; if (this.checked) {&#10; document.addEventListener('keydown', escapeHandler);&#10; } else {&#10; document.removeEventListener('keydown', escapeHandler);&#10; }&#10; });&#10;})();&#10;&lt;/script&gt;&#10;&lt;h2 id="les-processeurs-graphiques"&gt;Les processeurs graphiques&lt;a class="anchor" href="#les-processeurs-graphiques"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Un réseau de neurones répète toujours le même calcul : multiplier&#10;des entrées par des poids et additionner les résultats, pour chaque&#10;neurone, des millions de fois. Ces calculs sont indépendants les uns des autres, et&#10;peuvent donc être faits en même temps.&lt;/p&gt;</description></item><item><title>Voir : les réseaux convolutifs</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/reseaux-convolutifs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/reseaux-convolutifs/</guid><description>&lt;h1 id="voir-les-réseaux-convolutifs"&gt;Voir : les réseaux convolutifs&lt;a class="anchor" href="#voir-les-r%c3%a9seaux-convolutifs"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Le réseau des chiffres du chapitre&#10;« &lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/une-couche-cachee/#plus-de-neurones-plus-de-formes"&gt;Une couche cachée&lt;/a&gt; »&#10;reçoit les 784 pixels d&amp;rsquo;une image comme une simple liste de nombres. Il ne sait pas&#10;que ces pixels forment une grille, ni que deux pixels voisins sont liés. Ce&#10;chapitre présente une forme de réseau qui tient compte de la disposition des&#10;pixels, le &lt;strong&gt;réseau convolutif&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;Ce réseau est fait des mêmes briques que le perceptron multicouche : des neurones,&#10;des poids, la même rétropropagation. Seule change son&#10;&lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/une-couche-cachee/#relier-des-neurones"&gt;architecture&lt;/a&gt;, c&amp;rsquo;est-à-dire&#10;la façon dont ses neurones sont reliés. Chaque neurone n&amp;rsquo;y regarde qu&amp;rsquo;un petit&#10;voisinage de l&amp;rsquo;image, et les mêmes poids servent partout. Ce choix traduit une&#10;hypothèse sur les données : dans une image, ce qui compte est d&amp;rsquo;abord local, et une&#10;même forme peut apparaître n&amp;rsquo;importe où. Une hypothèse de ce genre, inscrite dans&#10;l&amp;rsquo;architecture avant tout apprentissage, s&amp;rsquo;appelle un &lt;strong&gt;biais inductif&lt;/strong&gt;&#10;(&lt;em&gt;inductive bias&lt;/em&gt;). Comme le&#10;&lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module2/generaliser/#trop-coller-ou-trop-lisser-le-compromis-biais-variance"&gt;biais&lt;/a&gt;&#10;du Module 2, il restreint ce que le réseau peut apprendre. S&amp;rsquo;il est juste, il lui&#10;permet d&amp;rsquo;apprendre avec beaucoup moins d&amp;rsquo;exemples.&lt;/p&gt;</description></item><item><title>Lire une séquence : les réseaux récurrents</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/reseaux-recurrents/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/reseaux-recurrents/</guid><description>&lt;h1 id="lire-une-séquence-les-réseaux-récurrents"&gt;Lire une séquence : les réseaux récurrents&lt;a class="anchor" href="#lire-une-s%c3%a9quence-les-r%c3%a9seaux-r%c3%a9currents"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Une image a une taille fixe, et tous ses pixels sont disponibles en même temps.&#10;Beaucoup de données n&amp;rsquo;ont pas cette forme. Une phrase, un enregistrement de parole,&#10;un morceau de musique ou le tracé d&amp;rsquo;un stylo sur une tablette arrivent élément par&#10;élément. Leur longueur varie, et l&amp;rsquo;ordre de leurs éléments compte. On appelle ces&#10;données des &lt;strong&gt;séquences&lt;/strong&gt;. Ce chapitre présente les réseaux conçus pour les&#10;traiter, les &lt;strong&gt;réseaux récurrents&lt;/strong&gt; (&lt;em&gt;recurrent neural networks&lt;/em&gt;, RNN).&lt;/p&gt;</description></item><item><title>L'attention et le Transformer</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/attention-transformer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/attention-transformer/</guid><description>&lt;h1 id="lattention-et-le-transformer"&gt;L&amp;rsquo;attention et le Transformer&lt;a class="anchor" href="#lattention-et-le-transformer"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Le chapitre&#10;« &lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/reseaux-recurrents/#les-limites"&gt;Lire une séquence&lt;/a&gt; » s&amp;rsquo;est&#10;terminé sur trois limites des réseaux récurrents (&lt;em&gt;recurrent neural networks&lt;/em&gt;,&#10;RNN) : toute une phrase passe par un seul état, le calcul avance une étape à la&#10;fois, et les éléments lointains s&amp;rsquo;oublient. Ce chapitre présente le mécanisme qui a&#10;levé ces limites, l&amp;rsquo;&lt;strong&gt;attention&lt;/strong&gt;, puis l&amp;rsquo;architecture construite autour de lui, le&#10;&lt;strong&gt;Transformer&lt;/strong&gt;. Il traite le Transformer comme une architecture, au même titre que&#10;les réseaux convolutifs ou récurrents. Ce&#10;qu&amp;rsquo;il permet de faire avec le langage est le sujet du &lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module4/"&gt;Module 4&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Apprendre à jouer : le renforcement profond</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/renforcement-profond/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/renforcement-profond/</guid><description>&lt;h1 id="apprendre-à-jouer-le-renforcement-profond"&gt;Apprendre à jouer : le renforcement profond&lt;a class="anchor" href="#apprendre-%c3%a0-jouer-le-renforcement-profond"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Au&#10;&lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module2/trois-facons-d-apprendre/#apprendre-par-lexp%c3%a9rience-le-renforcement"&gt;Module 2&lt;/a&gt;,&#10;un agent apprenait à sortir d&amp;rsquo;une petite grille par essais et erreurs. Il&#10;remplissait une table, avec une valeur pour chaque case, et la récompense finale se&#10;propageait peu à peu vers les cases de départ. Ce chapitre montre ce qui se passe&#10;quand on remplace cette table par un réseau profond, et comment cette combinaison a&#10;permis à une machine de battre les meilleurs joueurs de go.&lt;/p&gt;</description></item><item><title>Tromper un réseau</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/tromper-un-reseau/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/tromper-un-reseau/</guid><description>&lt;h1 id="tromper-un-réseau"&gt;Tromper un réseau&lt;a class="anchor" href="#tromper-un-r%c3%a9seau"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Les chapitres précédents ont montré des réseaux qui reconnaissent des images,&#10;traduisent des phrases et battent les meilleurs joueurs de go. Ce dernier chapitre&#10;montre une faiblesse surprenante de ces systèmes : une modification invisible pour&#10;nous peut leur faire dire n&amp;rsquo;importe quoi. Il explique comment c&amp;rsquo;est possible, et ce&#10;que cela révèle de leur fonctionnement.&lt;/p&gt;&#10;&lt;h2 id="le-panda-devenu-gibbon"&gt;Le panda devenu gibbon&lt;a class="anchor" href="#le-panda-devenu-gibbon"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;En 2014, Ian Goodfellow, Jonathon Shlens et Christian Szegedy, chez Google,&#10;publient l&amp;rsquo;exemple suivant. Un réseau convolutif (&lt;em&gt;convolutional neural network&lt;/em&gt;,&#10;CNN) entraîné sur ImageNet reconnaît un panda, avec 58 % de confiance. Les&#10;chercheurs ajoutent à l&amp;rsquo;image une perturbation très faible, calculée avec soin. À&#10;l&amp;rsquo;œil, l&amp;rsquo;image modifiée est identique à l&amp;rsquo;originale. Le réseau y voit maintenant un&#10;gibbon, avec 99 % de confiance.&lt;/p&gt;</description></item><item><title>Travail noté 3</title><link>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/travail-not%C3%A9-3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/travail-not%C3%A9-3/</guid><description>&lt;h1 id="apprivoiser-un-réseau-de-neurones-travail-noté-3"&gt;Apprivoiser un réseau de neurones (travail noté 3)&lt;a class="anchor" href="#apprivoiser-un-r%c3%a9seau-de-neurones-travail-not%c3%a9-3"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Ce travail utilise &lt;a href="https://playground.tensorflow.org"&gt;TensorFlow Playground&lt;/a&gt;, une&#10;application en &lt;a href="https://github.com/tensorflow/playground"&gt;logiciel libre&lt;/a&gt; que nous&#10;avons adaptée pour ce cours. Elle entraîne sous vos yeux un petit réseau de&#10;neurones à classer des points de deux couleurs, et montre à chaque instant la&#10;frontière qu&amp;rsquo;il trace.&lt;/p&gt;&#10;&lt;blockquote class="book-hint info" &gt;&#10;&lt;p&gt;&lt;strong&gt;Lire l&amp;rsquo;application&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;À gauche&lt;/strong&gt;, le jeu de données. Chaque point est orange ou bleu. Le curseur&#10;« Bruit » mélange les deux groupes.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Au centre&lt;/strong&gt;, les &lt;strong&gt;caractéristiques&lt;/strong&gt; (&lt;em&gt;features&lt;/em&gt;) données au réseau. X₁ et X₂&#10;sont les deux coordonnées d&amp;rsquo;un point, et les autres (X₁², X₁X₂…) sont calculées&#10;à partir d&amp;rsquo;elles. À leur droite, les &lt;strong&gt;couches cachées&lt;/strong&gt; (&lt;em&gt;hidden layers&lt;/em&gt;), qu&amp;rsquo;on&#10;ajoute ou retire avec les boutons + et −.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;À droite&lt;/strong&gt;, la réponse du réseau : la couleur du fond montre la classe qu&amp;rsquo;il&#10;prédit en chaque point. La &lt;strong&gt;perte&lt;/strong&gt; (&lt;em&gt;loss&lt;/em&gt;) est l&amp;rsquo;erreur du réseau, au sens de&#10;la &lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module2/entrainer-un-modele/#mesurer-lerreur"&gt;fonction d&amp;rsquo;erreur&lt;/a&gt; du&#10;Module 2. Plus elle est basse, mieux le réseau classe les points.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;En haut&lt;/strong&gt;, le bouton de lecture lance l&amp;rsquo;entraînement. Le bouton de&#10;réinitialisation, la flèche circulaire, tire de nouveaux poids de départ au&#10;hasard. Le compteur indique le nombre d&amp;rsquo;&lt;strong&gt;époques&lt;/strong&gt; (&lt;em&gt;epochs&lt;/em&gt;), au sens de&#10;« &lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/docs/module3/entrainer-un-reseau/#lentra%c3%aenement-en-pratique"&gt;Entraîner un réseau&lt;/a&gt; ».&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Si l&amp;rsquo;application est coupée sur votre écran, ouvrez-la&#10;&lt;a href="https://cjauvin.github.io/inf1901-teluq-v2/html/playground/index.html#dataset=gauss&amp;amp;amp;networkShape=&amp;amp;amp;showTestData_hide=true&amp;amp;amp;percTrainData_hide=true&amp;amp;amp;batchSize_hide=true&amp;amp;amp;dataset_hide=false&amp;amp;amp;activation_hide=true&amp;amp;amp;problem=classification&amp;amp;amp;problem_hide=true&amp;amp;amp;regularization_hide=true&amp;amp;amp;regularizationRate_hide=true&amp;amp;amp;learningRate_hide=true&amp;amp;amp;discretize_hide=true#dataset=gauss&amp;amp;amp;networkShape=&amp;amp;amp;showTestData_hide=true&amp;amp;amp;percTrainData_hide=true&amp;amp;amp;batchSize_hide=true&amp;amp;amp;dataset_hide=false&amp;amp;amp;activation_hide=true&amp;amp;amp;problem=classification&amp;amp;amp;problem_hide=true&amp;amp;amp;regularization_hide=true&amp;amp;amp;regularizationRate_hide=true&amp;amp;amp;learningRate_hide=true&amp;amp;amp;discretize_hide=true"&gt;en pleine page&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>