{"id":642,"date":"2026-10-09T16:19:53","date_gmt":"2026-10-09T14:19:53","guid":{"rendered":"https:\/\/www.ranksignal.fr\/blog\/?p=642"},"modified":"2026-10-14T17:49:34","modified_gmt":"2026-10-14T15:49:34","slug":"que-sont-les-reseaux-recurrents","status":"publish","type":"post","link":"https:\/\/www.ranksignal.fr\/blog\/deep-learning\/que-sont-les-reseaux-recurrents\/","title":{"rendered":"R\u00e9seaux r\u00e9currents : le r\u00e9seau de neurones qui se souvient"},"content":{"rendered":"<p><\/p>\n<p>Compl\u00e8te cette phrase : \u00ab elle n&rsquo;aime pas les pommes de\u2026 \u00bb. Tu as pens\u00e9 \u00ab terre \u00bb sans effort, parce que tu as retenu les mots qui pr\u00e9c\u00e8dent. Un r\u00e9seau de neurones classique, lui, ne retient rien d&rsquo;un mot \u00e0 l&rsquo;autre. Tu vas voir comment on lui donne une m\u00e9moire, ce que cela change, et \u00e0 quel endroit cette m\u00e9moire s&rsquo;arr\u00eate.<\/p>\n<p><strong>Sommaire<\/strong><\/p>\n<ul>\n<li><a href=\"#l-essentiel-en-30-secondes\">L&rsquo;essentiel en 30 secondes<\/a><\/li>\n<li><a href=\"#le-probleme-un-reseau-classique-n-a-aucune-memoire\">Le probl\u00e8me : un r\u00e9seau classique n&rsquo;a aucune m\u00e9moire<\/a><\/li>\n<li><a href=\"#une-boucle-et-un-etat-cache-ce-qui-definit-un-reseau-recurrent\">Une boucle et un \u00e9tat cach\u00e9 : ce qui d\u00e9finit un r\u00e9seau r\u00e9current<\/a><\/li>\n<li><a href=\"#ce-que-calcule-chaque-pas-de-temps\">Ce que calcule chaque pas de temps<\/a><\/li>\n<li><a href=\"#a-quoi-servent-les-reseaux-recurrents\">\u00c0 quoi servent les r\u00e9seaux r\u00e9currents<\/a><\/li>\n<li><a href=\"#se-souvient-il-vraiment-de-tout-les-limites-du-reseau-simple\">Se souvient-il vraiment de tout ? Les limites du r\u00e9seau simple<\/a><\/li>\n<li><a href=\"#lstm-une-memoire-longue-protegee-par-des-portes\">LSTM : une m\u00e9moire longue prot\u00e9g\u00e9e par des portes<\/a><\/li>\n<li><a href=\"#gru-la-meme-idee-avec-deux-portes\">GRU : la m\u00eame id\u00e9e avec deux portes<\/a><\/li>\n<li><a href=\"#les-trois-couches-cote-a-cote-dans-pytorch\">Les trois couches c\u00f4te \u00e0 c\u00f4te dans PyTorch<\/a><\/li>\n<li><a href=\"#face-a-l-attention-ce-que-les-recurrents-laissent-ouvert\">Face \u00e0 l&rsquo;attention : ce que les r\u00e9currents laissent ouvert<\/a><\/li>\n<\/ul>\n<h2 id=\"l-essentiel-en-30-secondes\">L&rsquo;essentiel en 30 secondes<\/h2>\n<ul>\n<li>Un r\u00e9seau r\u00e9current <strong>garde un \u00e9tat interne<\/strong> d&rsquo;un \u00e9l\u00e9ment de la s\u00e9quence au suivant : ses sorties d\u00e9pendent donc des entr\u00e9es pr\u00e9c\u00e9dentes.<\/li>\n<li>\u00c0 chaque pas, il applique <strong>la m\u00eame op\u00e9ration, avec les m\u00eames poids<\/strong> : il lit des s\u00e9quences de longueur quelconque avec un nombre fixe de param\u00e8tres.<\/li>\n<li>Il sert \u00e0 classer un texte, traduire, reconna\u00eetre la voix ou <strong>pr\u00e9voir une s\u00e9rie temporelle<\/strong>.<\/li>\n<li>Sa m\u00e9moire est courte : <strong>le gradient \u00e9vanescent<\/strong> l&#8217;emp\u00eache d&rsquo;apprendre les d\u00e9pendances lointaines.<\/li>\n<li>LSTM et GRU y r\u00e9pondent par <strong>des portes qui filtrent l&rsquo;information<\/strong> : un LSTM se souvient jusqu&rsquo;\u00e0 100 pas, un r\u00e9seau simple commence \u00e0 oublier apr\u00e8s 7.<\/li>\n<\/ul>\n<h2 id=\"le-probleme-un-reseau-classique-n-a-aucune-memoire\">Le probl\u00e8me : un r\u00e9seau classique n&rsquo;a aucune m\u00e9moire<\/h2>\n<p>Une couche de r\u00e9seau classique (on dit <em>feedforward<\/em>) traite chaque entr\u00e9e pour elle-m\u00eame. Pour un vecteur <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-e95410b7a7a6a79cbcbdc56ca038a68e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#95;&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"11\" width=\"15\" style=\"vertical-align: -3px;\"\/> qui repr\u00e9sente l&rsquo;\u00e9l\u00e9ment \u00e0 l&rsquo;instant <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-b4e3cbf5d4c5c6d9b702dd139f14c147_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"6\" style=\"vertical-align: 0px;\"\/>, elle calcule<\/p>\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 23px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-a3398378fa7924498bbbc49a3c39ba53_l3.png\" height=\"23\" width=\"143\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91; &#121;&#94;&#123;&#40;&#116;&#41;&#125;&#32;&#61;&#32;&#92;&#115;&#105;&#103;&#109;&#97;&#40;&#87;&#120;&#95;&#116;&#32;&#43;&#32;&#98;&#41;&#44;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n<p>c&rsquo;est-\u00e0-dire une somme pond\u00e9r\u00e9e de l&rsquo;entr\u00e9e, pass\u00e9e dans une fonction d&rsquo;activation <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-1c9cc40f96a1492e298e7da85a2c1692_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#115;&#105;&#103;&#109;&#97;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"11\" style=\"vertical-align: 0px;\"\/>. Rien de ce qui a pr\u00e9c\u00e9d\u00e9 n&rsquo;y appara\u00eet.<\/p>\n<p>Pour une image isol\u00e9e, ce n&rsquo;est pas grave. Pour une s\u00e9quence de mots, c&rsquo;est un handicap : le mot \u00e0 l&rsquo;instant <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-b4e3cbf5d4c5c6d9b702dd139f14c147_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"6\" style=\"vertical-align: 0px;\"\/> d\u00e9pend de celui qui le pr\u00e9c\u00e8de, et le dernier mot d&rsquo;une phrase d\u00e9pend souvent de plusieurs mots ant\u00e9rieurs. C&rsquo;est ce qui te permet de finir \u00ab les pommes de\u2026 \u00bb sans conna\u00eetre la suite. Il faut donc un r\u00e9seau capable de <strong>conserver une trace des entr\u00e9es pass\u00e9es<\/strong>.<\/p>\n<h2 id=\"une-boucle-et-un-etat-cache-ce-qui-definit-un-reseau-recurrent\">Une boucle et un \u00e9tat cach\u00e9 : ce qui d\u00e9finit un r\u00e9seau r\u00e9current<\/h2>\n<p>Un <strong>r\u00e9seau r\u00e9current<\/strong> (RNN, pour <em>recurrent neural network<\/em>) maintient un \u00e9tat interne qui m\u00e9morise ce qu&rsquo;il a d\u00e9j\u00e0 vu. On l&rsquo;appelle l&rsquo;<strong>\u00e9tat cach\u00e9<\/strong> : une sorte de m\u00e9moire qui r\u00e9sume tout ce qui a \u00e9t\u00e9 lu jusque-l\u00e0.<\/p>\n<p>\u00c0 chaque pas de temps, le r\u00e9seau re\u00e7oit deux choses : la nouvelle entr\u00e9e, et l&rsquo;\u00e9tat cach\u00e9 produit au pas pr\u00e9c\u00e9dent. Il en tire une sortie et un nouvel \u00e9tat cach\u00e9, qu&rsquo;il passera au pas suivant.<\/p>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef46ddd5ad&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef46ddd5ad\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"853\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch09_architecture_rnn_sequence-scaled.png\" alt=\"Quatre blocs \u00ab \u00e9tat cach\u00e9 \u00bb align\u00e9s de gauche \u00e0 droite, chacun reli\u00e9 par une fl\u00e8che \u00ab m\u00e9moire \u00bb au suivant et produisant vers le bas une sortie Y1 \u00e0 Y4\" class=\"wp-image-629\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch09_architecture_rnn_sequence-scaled.png 2560w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch09_architecture_rnn_sequence-300x100.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch09_architecture_rnn_sequence-1024x341.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch09_architecture_rnn_sequence-768x256.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch09_architecture_rnn_sequence-1536x512.png 1536w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch09_architecture_rnn_sequence-2048x683.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Suis les fl\u00e8ches horizontales : ce sont elles qui font la diff\u00e9rence avec un r\u00e9seau classique. Chaque bloc re\u00e7oit la m\u00e9moire du pr\u00e9c\u00e9dent, et c&rsquo;est elle qui transporte l&rsquo;historique de la s\u00e9quence vers l&rsquo;avant, tandis que les fl\u00e8ches du bas livrent une sortie \u00e0 chaque pas.<\/figcaption><\/figure>\n\n\n<p>Le mot \u00ab r\u00e9current \u00bb vient de l\u00e0 : <strong>la m\u00eame op\u00e9ration est appliqu\u00e9e \u00e0 chaque \u00e9l\u00e9ment<\/strong> de la s\u00e9quence. Le m\u00eame jeu de poids se r\u00e9utilise \u00e0 l&rsquo;identique \u00e0 chaque pas, ce qui permet de traiter des s\u00e9quences de longueur quelconque avec un nombre de param\u00e8tres fixe.<\/p>\n<h2 id=\"ce-que-calcule-chaque-pas-de-temps\">Ce que calcule chaque pas de temps<\/h2>\n<p>Voici le c\u0153ur d&rsquo;un RNN simple, pas de temps par pas de temps :<\/p>\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 24px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-401737518197294063e85fcec93b0da9_l3.png\" height=\"24\" width=\"369\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91; &#97;&#94;&#123;&#40;&#116;&#41;&#125;&#32;&#61;&#32;&#98;&#32;&#43;&#32;&#85;&#32;&#104;&#94;&#123;&#40;&#116;&#45;&#49;&#41;&#125;&#32;&#43;&#32;&#87;&#32;&#120;&#95;&#116;&#44;&#32;&#92;&#113;&#113;&#117;&#97;&#100;&#32;&#104;&#94;&#123;&#40;&#116;&#41;&#125;&#32;&#61;&#32;&#92;&#116;&#97;&#110;&#104;&#92;&#98;&#105;&#103;&#108;&#40;&#97;&#94;&#123;&#40;&#116;&#41;&#125;&#92;&#98;&#105;&#103;&#114;&#41;&#46;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n<p>Lis-le de gauche \u00e0 droite. <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-e95410b7a7a6a79cbcbdc56ca038a68e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#95;&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"11\" width=\"15\" style=\"vertical-align: -3px;\"\/> est l&rsquo;entr\u00e9e courante, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-b42e7d0229e1695947d3b9bbecaae71d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#104;&#94;&#123;&#40;&#116;&#45;&#49;&#41;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"42\" style=\"vertical-align: 0px;\"\/> l&rsquo;\u00e9tat cach\u00e9 pr\u00e9c\u00e9dent, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-f56d50c26583f9a035ff6b4e3c0ca5c0_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#98;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"8\" style=\"vertical-align: 0px;\"\/> un biais. La matrice <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-4caed22919a1780df1b6310b338b904e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#87;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"19\" style=\"vertical-align: 0px;\"\/> pond\u00e8re l&rsquo;entr\u00e9e, comme dans un r\u00e9seau classique ; la matrice <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-2b60fc262803f27ba3717d8ec4eb656d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#85;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"13\" style=\"vertical-align: 0px;\"\/> pond\u00e8re le pass\u00e9 et <strong>r\u00e8gle l&rsquo;influence de l&rsquo;historique<\/strong> sur l&rsquo;instant pr\u00e9sent. La somme passe dans la fonction <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-d025fccc9dfb5be9c52056dea4f20047_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#116;&#97;&#110;&#104;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"36\" style=\"vertical-align: -1px;\"\/> et donne le nouvel \u00e9tat <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-e3e046425339f4496726f2b6e057efa2_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#104;&#94;&#123;&#40;&#116;&#41;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"24\" style=\"vertical-align: 0px;\"\/>.<\/p>\n<p>Ce nouvel \u00e9tat sert deux fois : il alimente le calcul du pas suivant, et il produit la sortie <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-feabfdc6543530cb8ba46402ece1de4f_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#121;&#94;&#123;&#40;&#116;&#41;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"20\" width=\"23\" style=\"vertical-align: -4px;\"\/>, par une transformation lin\u00e9aire puis une non-lin\u00e9arit\u00e9, comme dans le r\u00e9seau classique du d\u00e9but.<\/p>\n<p>Ces \u00e9quations semblent compliqu\u00e9es, mais elles disent une chose simple : on entretient un \u00e9tat cach\u00e9 qui tient compte des it\u00e9rations pr\u00e9c\u00e9dentes. Si tu d\u00e9roules le r\u00e9seau dans le temps, tu obtiens <strong>la m\u00eame cellule r\u00e9p\u00e9t\u00e9e<\/strong>, exactement ce que montre le sch\u00e9ma plus haut.<\/p>\n<p>L&rsquo;entra\u00eenement suit le m\u00eame chemin : la r\u00e9tropropagation se fait \u00e0 chaque pas de temps, et le r\u00e9seau traite un mot \u00e0 la fois.<\/p>\n<h2 id=\"a-quoi-servent-les-reseaux-recurrents\">\u00c0 quoi servent les r\u00e9seaux r\u00e9currents<\/h2>\n<p>Premier usage : lire une s\u00e9quence enti\u00e8re et en tirer <strong>un verdict unique<\/strong>. Pour classer un document, chaque mot est converti en vecteur num\u00e9rique (un <a href=\"\/blog\/rag\/que-sont-les-embeddings\/\" title=\"embedding\">embedding<\/a>) puis pr\u00e9sent\u00e9 au r\u00e9seau l&rsquo;un apr\u00e8s l&rsquo;autre. L&rsquo;\u00e9tat cach\u00e9 final r\u00e9sume l&rsquo;ensemble du texte et sert de base \u00e0 la classification, par exemple pour pr\u00e9dire le sentiment d&rsquo;une critique de film.<\/p>\n<p>On les retrouve aussi en traduction automatique, en reconnaissance vocale et en pr\u00e9vision de s\u00e9ries financi\u00e8res ou climatiques.<\/p>\n<p>Deuxi\u00e8me usage : transformer une s\u00e9quence en une autre, comme en traduction. Le syst\u00e8me classique a deux \u00e9tages, un encodeur et un d\u00e9codeur. L&rsquo;encodeur condense la s\u00e9quence d&rsquo;entr\u00e9e en une repr\u00e9sentation succincte, une sorte de bon r\u00e9sum\u00e9 ; le d\u00e9codeur re\u00e7oit ce vecteur de contexte et en tire la traduction.<\/p>\n<p>Cette t\u00e2che pose un probl\u00e8me d&rsquo;alignement : les deux s\u00e9quences n&rsquo;ont pas la m\u00eame longueur. Une phrase de quatre mots peut en exiger six dans l&rsquo;autre langue, et le r\u00e9seau doit g\u00e9rer cet \u00e9cart.<\/p>\n<h2 id=\"se-souvient-il-vraiment-de-tout-les-limites-du-reseau-simple\">Se souvient-il vraiment de tout ? Les limites du r\u00e9seau simple<\/h2>\n<p>Sur le papier, un r\u00e9seau r\u00e9current pourrait lire des s\u00e9quences infinies et se souvenir du d\u00e9but. En pratique, apr\u00e8s quelques pas, <strong>il commence \u00e0 oublier les premi\u00e8res entr\u00e9es<\/strong>.<\/p>\n<p>Une premi\u00e8re raison tient \u00e0 l&rsquo;\u00e9tat cach\u00e9 lui-m\u00eame : il doit remplir deux r\u00f4les \u00e0 la fois, fournir l&rsquo;information utile \u00e0 la sortie du moment et garder de la m\u00e9moire pour les d\u00e9cisions futures. Son contenu est local plut\u00f4t que global : \u00e0 l&rsquo;instant <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-b4e3cbf5d4c5c6d9b702dd139f14c147_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"6\" style=\"vertical-align: 0px;\"\/>, il refl\u00e8te surtout les derniers pas, non la s\u00e9quence enti\u00e8re.<\/p>\n<p>La seconde raison est math\u00e9matique. Pour apprendre, les gradients doivent remonter de la derni\u00e8re cellule vers la premi\u00e8re, et ils peuvent r\u00e9tr\u00e9cir exponentiellement jusqu&rsquo;\u00e0 tendre vers z\u00e9ro : c&rsquo;est le <strong>gradient \u00e9vanescent<\/strong>, qui emp\u00eache d&rsquo;apprendre des d\u00e9pendances \u00e0 longue port\u00e9e. \u00c0 l&rsquo;inverse, un gradient explosif cro\u00eet sans contr\u00f4le et rend l&rsquo;entra\u00eenement instable.<\/p>\n<blockquote>\n<p><strong>\u26a0\ufe0f Pi\u00e8ge<\/strong> \u00ab R\u00e9current \u00bb ne veut pas dire \u00ab se souvient de tout \u00bb. La m\u00e9moire existe, mais sa port\u00e9e est courte : le r\u00e9seau simple convient \u00e0 l&rsquo;analyse de s\u00e9ries, pas aux phrases dont le sens tient \u00e0 un mot lointain.<\/p>\n<\/blockquote>\n<p>Troisi\u00e8me d\u00e9faut, plus pratique : la nature s\u00e9quentielle du calcul interdit la parall\u00e9lisation. Il faut finir le pas <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-b4e3cbf5d4c5c6d9b702dd139f14c147_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"6\" style=\"vertical-align: 0px;\"\/> pour commencer le pas <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-775c0d4c3cba4f8f67d60dafc6465d8c_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;&#43;&#49;\" title=\"Rendered by QuickLaTeX.com\" height=\"14\" width=\"36\" style=\"vertical-align: -2px;\"\/>, ce qui rend l&rsquo;entra\u00eenement co\u00fbteux.<\/p>\n<h2 id=\"lstm-une-memoire-longue-protegee-par-des-portes\">LSTM : une m\u00e9moire longue prot\u00e9g\u00e9e par des portes<\/h2>\n<p>Le <strong>LSTM<\/strong> (<em>long short-term memory<\/em>) est une extension con\u00e7ue pour oublier ce qui n&rsquo;est pas important et ne garder que le contexte essentiel. Il ajoute deux ingr\u00e9dients : des portes, qui contr\u00f4lent l&rsquo;information, et une couche de contexte d\u00e9di\u00e9e. Il porte donc deux \u00e9tats : <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-14b463d0ecd5b350ced6cf1d6a12eef3_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#104;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"10\" style=\"vertical-align: 0px;\"\/>, la m\u00e9moire \u00e0 court terme utile \u00e0 l&rsquo;instant <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-b4e3cbf5d4c5c6d9b702dd139f14c147_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"6\" style=\"vertical-align: 0px;\"\/>, et <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-41a04eeea923a1a0c28094a8a4680525_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#99;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"8\" style=\"vertical-align: 0px;\"\/>, la m\u00e9moire \u00e0 long terme.<\/p>\n<p>Une porte est une couche \u00e0 activation <a href=\"\/blog\/maths\/qu-est-ce-qu-une-sigmoide\/\" title=\"sigmo\u00efde\">sigmo\u00efde<\/a>, qui \u00e9crase ses valeurs entre 0 et 1 : proche de 1, la porte est ouverte, proche de 0, elle est ferm\u00e9e. Le produit de Hadamard, la multiplication terme \u00e0 terme, sert de filtre : il laisse passer l&rsquo;information si la valeur est proche de 1 et la bloque si elle est proche de 0. \u00c0 chaque pas, le LSTM d\u00e9cide ainsi ce qu&rsquo;il garde et ce qu&rsquo;il oublie.<\/p>\n<p>Trois portes se succ\u00e8dent. La premi\u00e8re, la <strong>porte d&rsquo;oubli<\/strong>, d\u00e9cide ce qui n&rsquo;est plus utile dans le contexte ; on multiplie le contexte pr\u00e9c\u00e9dent <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-05022539b3de620cf1f25b4b6a9bbadd_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#99;&#94;&#123;&#40;&#116;&#45;&#49;&#41;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"40\" style=\"vertical-align: 0px;\"\/> par sa sortie :<\/p>\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 24px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-0788f21ca44cb2d9f170e6aafc1b7fb2_l3.png\" height=\"24\" width=\"432\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91; &#102;&#94;&#123;&#40;&#116;&#41;&#125;&#61;&#92;&#115;&#105;&#103;&#109;&#97;&#92;&#98;&#105;&#103;&#108;&#40;&#98;&#95;&#102;&#43;&#85;&#95;&#102;&#104;&#94;&#123;&#40;&#116;&#45;&#49;&#41;&#125;&#43;&#87;&#95;&#102;&#120;&#95;&#116;&#92;&#98;&#105;&#103;&#114;&#41;&#44;&#92;&#113;&#113;&#117;&#97;&#100;&#32;&#107;&#94;&#123;&#40;&#116;&#41;&#125;&#61;&#99;&#94;&#123;&#40;&#116;&#45;&#49;&#41;&#125;&#92;&#111;&#100;&#111;&#116;&#32;&#102;&#94;&#123;&#40;&#116;&#41;&#125;&#46;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n<p>Chaque porte a ses propres poids (ici l&rsquo;indice <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-9c09a708375fde2676da319bcdfe8b24_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#102;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"10\" style=\"vertical-align: -4px;\"\/>) et se nourrit de l&rsquo;entr\u00e9e courante et de l&rsquo;\u00e9tat pr\u00e9c\u00e9dent. <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-0210d8f99c716aa0eb8257d7d0bdceed_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;&#94;&#123;&#40;&#116;&#41;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"24\" style=\"vertical-align: 0px;\"\/> est la part du pass\u00e9 qui survit.<\/p>\n<p>La <strong>porte d&rsquo;entr\u00e9e<\/strong> extrait de l&rsquo;entr\u00e9e l&rsquo;information \u00e0 ajouter ; le nouveau contexte <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-fcfc03ceac92dbaa97b3c31424e8ec56_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#99;&#94;&#123;&#40;&#116;&#41;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"22\" style=\"vertical-align: 0px;\"\/> est la somme de ce que l&rsquo;on ajoute et de ce que l&rsquo;on a gard\u00e9. Enfin la <strong>porte de sortie<\/strong> produit la sortie et met \u00e0 jour l&rsquo;\u00e9tat cach\u00e9 :<\/p>\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 24px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-7cbff51c3a110fc32c4e22a8745d64fc_l3.png\" height=\"24\" width=\"459\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91; &#111;&#94;&#123;&#40;&#116;&#41;&#125;&#61;&#92;&#115;&#105;&#103;&#109;&#97;&#92;&#98;&#105;&#103;&#108;&#40;&#98;&#95;&#111;&#43;&#85;&#95;&#111;&#104;&#94;&#123;&#40;&#116;&#45;&#49;&#41;&#125;&#43;&#87;&#95;&#111;&#120;&#95;&#116;&#92;&#98;&#105;&#103;&#114;&#41;&#44;&#92;&#113;&#113;&#117;&#97;&#100;&#32;&#104;&#94;&#123;&#40;&#116;&#41;&#125;&#61;&#111;&#94;&#123;&#40;&#116;&#41;&#125;&#92;&#111;&#100;&#111;&#116;&#92;&#116;&#97;&#110;&#104;&#92;&#98;&#105;&#103;&#108;&#40;&#99;&#94;&#123;&#40;&#116;&#41;&#125;&#92;&#98;&#105;&#103;&#114;&#41;&#46;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef46dddc40&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef46dddc40\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2400\" height=\"1500\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch01_cellule_lstm.png\" alt=\"Cellule LSTM : en haut, la m\u00e9moire longue c(t-1) traverse un bloc \u00ab \u00d7 oubli \u00bb puis un bloc \u00ab + ajout \u00bb pour devenir c(t) ; en dessous, trois portes (oubli, entr\u00e9e, sortie) aliment\u00e9es par l'entr\u00e9e x(t) et la m\u00e9moire courte h(t-1) ; la porte de sortie produit h(t)\" class=\"wp-image-630\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch01_cellule_lstm.png 2400w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch01_cellule_lstm-300x188.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch01_cellule_lstm-1024x640.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch01_cellule_lstm-768x480.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch01_cellule_lstm-1536x960.png 1536w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch01_cellule_lstm-2048x1280.png 2048w\" sizes=\"auto, (max-width: 2400px) 100vw, 2400px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Regarde la ligne du haut : la m\u00e9moire longue file de gauche \u00e0 droite en subissant seulement une multiplication (l&rsquo;oubli) puis une addition (l&rsquo;ajout). Les trois portes du dessous ne la parcourent pas, elles la pilotent.<\/figcaption><\/figure>\n\n\n<p>Le gain se mesure : <strong>un LSTM se souvient jusqu&rsquo;\u00e0 100 pas<\/strong>, alors qu&rsquo;un RNN simple commence \u00e0 oublier apr\u00e8s 7. L&rsquo;op\u00e9ration d&rsquo;addition rend moins probables les gradients \u00e9vanescents ou explosifs.<\/p>\n<h2 id=\"gru-la-meme-idee-avec-deux-portes\">GRU : la m\u00eame id\u00e9e avec deux portes<\/h2>\n<p>Les <a href=\"\/blog\/deep-learning\/qu-est-ce-qu-un-gru-gated-recurrent-unit\/\" title=\"GRU (gated recurrent units)\">GRU (gated recurrent units)<\/a> sont une autre variante contre le gradient \u00e9vanescent. Tr\u00e8s proches des LSTM, ils ont aussi des portes internes mais sont beaucoup plus simples, et peuvent <strong>converger plus vite<\/strong> pour des performances comparables. Ils gardent l&rsquo;addition, le produit de Hadamard, la pr\u00e9sence d&rsquo;un contexte et le contr\u00f4le de l&rsquo;information dans la couche.<\/p>\n<p>Ici, la porte d&rsquo;oubli devient la <strong>porte de mise \u00e0 jour<\/strong> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-4586e340cb83d5b642972e97a288fec2_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#122;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"9\" style=\"vertical-align: 0px;\"\/> : l&rsquo;information importante est conserv\u00e9e (valeurs proches de 1), l&rsquo;information sans importance est r\u00e9\u00e9crite (valeurs proches de 0). La porte d&rsquo;entr\u00e9e devient la <strong>porte de r\u00e9initialisation<\/strong> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-c409433a9e2dfcdb83360a974d243f18_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#114;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"8\" style=\"vertical-align: 0px;\"\/> ; elle n&rsquo;est plus ind\u00e9pendante, mais reli\u00e9e \u00e0 la porte de mise \u00e0 jour :<\/p>\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 24px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-d7f7bbabbbd9d55a8253374e865f271d_l3.png\" height=\"24\" width=\"525\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91; &#122;&#94;&#123;&#40;&#116;&#41;&#125;&#61;&#92;&#115;&#105;&#103;&#109;&#97;&#92;&#98;&#105;&#103;&#108;&#40;&#98;&#95;&#122;&#43;&#85;&#95;&#122;&#104;&#94;&#123;&#40;&#116;&#45;&#49;&#41;&#125;&#43;&#87;&#95;&#122;&#120;&#95;&#116;&#92;&#98;&#105;&#103;&#114;&#41;&#44;&#92;&#113;&#113;&#117;&#97;&#100;&#32;&#114;&#94;&#123;&#40;&#116;&#41;&#125;&#61;&#92;&#115;&#105;&#103;&#109;&#97;&#92;&#98;&#105;&#103;&#108;&#40;&#98;&#95;&#114;&#43;&#85;&#95;&#114;&#104;&#94;&#123;&#40;&#116;&#45;&#49;&#41;&#125;&#43;&#87;&#95;&#114;&#120;&#95;&#116;&#92;&#98;&#105;&#103;&#114;&#41;&#46;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n<p>Ces deux portes contr\u00f4lent respectivement la part du pass\u00e9 conserv\u00e9e et la part de l&rsquo;\u00e9tat pr\u00e9c\u00e9dent ignor\u00e9e lors du calcul du nouvel \u00e9tat. La mise \u00e0 jour finale combine l&rsquo;ancien \u00e9tat et un \u00e9tat candidat, gr\u00e2ce \u00e0 <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-4586e340cb83d5b642972e97a288fec2_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#122;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"9\" style=\"vertical-align: 0px;\"\/>.<\/p>\n<h2 id=\"les-trois-couches-cote-a-cote-dans-pytorch\">Les trois couches c\u00f4te \u00e0 c\u00f4te dans PyTorch<\/h2>\n<p>Reste une question pratique : que change-t-on dans le code quand on passe d&rsquo;un RNN simple \u00e0 un LSTM ou \u00e0 un GRU ? Les extraits supposent <code>numpy<\/code> et <code>torch<\/code> d\u00e9j\u00e0 import\u00e9s. Le premier fabrique un tenseur al\u00e9atoire de dimensions 10, 5, 3 pour voir comment une couche r\u00e9currente le transforme :<\/p>\n<pre><code>array = np.random.random((10, 5, 3))\n# Convert the numpy array to a PyTorch tensor\ndata_tensor = torch.tensor(array, dtype=torch.float32)\nRNN = nn.RNN(input_size=3, hidden_size=10,\n             num_layers=1, batch_first=True)\noutput, hidden = RNN(data_tensor)\noutput.shape\n<\/code><\/pre>\n<p>Voici le LSTM, sur le m\u00eame type de tenseur :<\/p>\n<pre><code>data_tensor = torch.tensor(np.random.random((10, 5, 3)),\n                           dtype=torch.float32)\nLSTM =nn.LSTM(input_size=3, hidden_size=10,\n              num_layers=1, batch_first=True)\noutput, (hidden, cell) = LSTM(data_tensor)\n<\/code><\/pre>\n<p>Le LSTM renvoie en plus de l&rsquo;\u00e9tat cach\u00e9 un <strong>\u00e9tat de cellule<\/strong> (<code>cell<\/code>) : c&rsquo;est la m\u00e9moire longue <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-41a04eeea923a1a0c28094a8a4680525_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#99;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"8\" style=\"vertical-align: 0px;\"\/> de la section pr\u00e9c\u00e9dente. Le calcul \u00e9tant interne \u00e0 la couche, on peut facilement remplacer un RNN par un LSTM.<\/p>\n<p>Et le GRU, qui ne rend qu&rsquo;un \u00e9tat cach\u00e9, comme le RNN simple :<\/p>\n<pre><code>data_tensor = torch.tensor(np.random.random((10, 5, 3)),\n                           dtype=torch.float32)\nGRU =nn.GRU(input_size=3, hidden_size=10,\n            num_layers=1, batch_first=True)\noutput, hidden = GRU(data_tensor)\n<\/code><\/pre>\n<p>Les trois appels ont la m\u00eame forme : seuls changent le nom de la couche et ce qu&rsquo;elle rend. L&rsquo;int\u00e9rieur de la cellule, lui, est ce que les sections pr\u00e9c\u00e9dentes ont d\u00e9taill\u00e9.<\/p>\n<h2 id=\"face-a-l-attention-ce-que-les-recurrents-laissent-ouvert\">Face \u00e0 l&rsquo;attention : ce que les r\u00e9currents laissent ouvert<\/h2>\n<p>Les d\u00e9fauts du r\u00e9seau r\u00e9current simple, l&rsquo;alignement des s\u00e9quences, les gradients qui s&rsquo;\u00e9vanouissent ou explosent, et l&rsquo;impossibilit\u00e9 de parall\u00e9liser, ont pouss\u00e9 \u00e0 chercher mieux. En 2017 est arriv\u00e9 le <a href=\"\/blog\/deep-learning\/qu-est-ce-qu-un-transformer\/\" title=\"Transformer\">Transformer<\/a>, un r\u00e9seau dot\u00e9 d&rsquo;un <strong>m\u00e9canisme d&rsquo;attention<\/strong> capable d&rsquo;apprendre les relations entre les diff\u00e9rentes parties d&rsquo;une s\u00e9quence.<\/p>\n<p>L&rsquo;attention r\u00e9sout l&rsquo;alignement et le goulot d&rsquo;\u00e9tranglement de la traduction \u00e0 deux \u00e9tages, o\u00f9 tout un texte doit passer par un seul vecteur de contexte. L&rsquo;auto-attention compare les \u00e9l\u00e9ments d&rsquo;une m\u00eame s\u00e9quence en parall\u00e8le, ce qu&rsquo;une boucle ne permet pas.<\/p>\n<blockquote>\n<p><strong>\ud83d\udccc \u00c0 retenir<\/strong> Un r\u00e9seau r\u00e9current est un r\u00e9seau dont l&rsquo;\u00e9tat cach\u00e9 passe d&rsquo;un pas au suivant. Simple, il oublie vite ; avec des portes (LSTM, GRU), sa m\u00e9moire tient bien plus longtemps.<\/p>\n<\/blockquote>\n<p>Pour la phrase du d\u00e9but, la lecture est maintenant claire : le r\u00e9seau lit \u00ab elle \u00bb, \u00ab n&rsquo;aime \u00bb, \u00ab pas \u00bb\u2026 en gardant la trace de chaque mot dans son \u00e9tat cach\u00e9. Reste \u00e0 savoir jusqu&rsquo;o\u00f9 cette trace survit, et c&rsquo;est pr\u00e9cis\u00e9ment ce que les portes ont chang\u00e9.<\/p>","protected":false},"excerpt":{"rendered":"<p>\u00c9tat cach\u00e9, m\u00e9moire d&rsquo;un pas \u00e0 l&rsquo;autre, LSTM et GRU : comprends ce qu&rsquo;est un r\u00e9seau r\u00e9current, comment il lit une s\u00e9quence et o\u00f9 sa m\u00e9moire s&rsquo;arr\u00eate.<\/p>\n","protected":false},"author":1,"featured_media":631,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-642","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deep-learning"],"_links":{"self":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts\/642","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/comments?post=642"}],"version-history":[{"count":3,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts\/642\/revisions"}],"predecessor-version":[{"id":826,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts\/642\/revisions\/826"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/media\/631"}],"wp:attachment":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/media?parent=642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/categories?post=642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/tags?post=642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}