Qu’est-ce qu’un réseau neuronal récurrent (RNN) ?

Un réseau neuronal récurrent (RNN) est un réseau neuronal à apprentissage profond qui est entraîné pour convertir des entrées séquentielles en sorties séquentielles spécifiques. Un réseau neuronal classique n’est pas en mesure de mémoriser les données passées, contrairement au RNN.

Démo IA
Ce que vous devez savoir sur les réseaux neuronaux récurrents
Présentation des RNN Quels sont les différents types de réseaux neuronaux récurrents ? Quelle est la différence entre les RNN et les réseaux neuronaux à propagation avant ? Quelles sont les variantes de l’architecture d’un réseau neuronal récurrent ? Applications des RNN Quels sont les défis liés aux RNN ? Quels sont les avantages des RNN ? Comment fonctionne le RNN ? Comment mettre en œuvre un RNN ? ServiceNow comme alternative efficace aux réseaux neuronaux récurrents

Un réseau neuronal est un système de calcul inspiré par la structure du cerveau humain et composé de neurones artificiels. Ces réseaux sont conçus pour reproduire les processus de prise de décision humaine. Cependant, les réseaux neuronaux classiques traitent généralement chaque entrée de manière indépendante et n’ont pas la capacité de prendre en compte la séquence ou le contexte des données. Par exemple, lors du traitement des mots « pomme rouge », un réseau neuronal standard ne reconnaîtra pas « rouge » comme un attribut décrivant la pomme : il ne fait pas le lien contextuel entre les deux.

Il s’agit d’une limitation majeure qui pourrait aisément empêcher les machines de développer un jour quoi que ce soit pouvant être considéré comme de l’intelligence. Pour remédier à ce problème, les chercheurs ont développé les réseaux neuronaux récurrents (RNN). Contrairement aux modèles classiques, les RNN intègrent des mécanismes de conservation des informations sur la durée, ce qui leur permet de garder en mémoire les entrées précédentes. Grâce à cela, les RNN peuvent comprendre les séquences et les contextes au sein des données, ce qui les rend particulièrement utiles pour les tâches où l’ordre est crucial, telles que le traitement du langage ou l’analyse de séries chronologiques.

 

Développer tout Réduire tout Présentation des RNN

Un réseau neuronal récurrent est conçu comme une forme de prise de décision par IA capable de reconnaître et de conserver l’ordre dans lequel les données apparaissent. Il s’agit d’une fonction essentielle pour le traitement d’informations séquentielles telles que du texte, des nombres ou des données de séries chronologiques. Contrairement aux réseaux neuronaux classiques, qui traitent chaque entrée de manière indépendante, les RNN peuvent connecter les informations précédentes aux entrées, ce qui permet une compréhension plus nuancée des séquences de données.

Bien que le concept de réseau neuronal récurrent ait changé la donne lorsqu’il est apparu, en posant les bases de la création de modèles d’apprentissage profond, il est remplacé en grande partie par l’intelligence artificielle basée sur les transformeurs et les grands modèles de langage (LLM). Ces innovations sont plus efficaces pour le traitement des données séquentielles.

Présentation de Now Intelligence Découvrez comment ServiceNow met l’IA et l’analyse en pratique pour transformer la façon dont les entreprises travaillent et accélérer la transformation digitale. Découvrir l’ebook
Quels sont les différents types de réseaux neuronaux récurrents ?

Les RNN se distinguent par leur capacité à traiter des séquences de données en reconnaissant les relations et les dépendances entre chaque élément. Bien que tous les RNN partagent cette caractéristique fondamentale, chacune des catégories suivantes vise à remédier à des types spécifiques de difficultés liées au traitement des données. Voici les quatre principaux types :

  • Un-à-un
    La forme la plus simple d’un RNN, un-à-un, décrit les réseaux où une entrée est traitée pour générer une sortie. Ce modèle sert de base aux architectures RNN plus complexes.

  • Un-à-plusieurs
    Dans cette configuration, une seule entrée génère plusieurs sorties. Ce type de RNN est idéal pour les tâches où une entrée peut déclencher une série de sorties associées mais distinctes, telles que la génération d’une phrase à partir d’un seul mot descriptif ou la génération d’une mélodie à partir d’une note de musique.

  • Plusieurs-à-un
    Le modèle plusieurs-à-un traite plusieurs points de données d’entrée pour produire une seule sortie. Il est couramment utilisé dans des applications telles que l’analyse des sentiments, où différents mots (entrées) contribuent à déterminer le sentiment global (sortie) d’une phrase ou d’un document.

  • Plusieurs-à-plusieurs
    Cette dernière variation gère les séquences dans les entrées et les sorties. Elle convient aux tâches telles que la traduction, où une séquence de mots en entrée dans une langue est convertie en séquence en sortie dans une autre langue. Ce modèle peut également gérer des situations dans lesquelles les séquences en entrée et en sortie diffèrent en longueur.

Quelle est la différence entre les RNN et les réseaux neuronaux à propagation avant ?

Un réseau neuronal qui n’a pas de nœuds en boucle est appelé réseau neuronal à propagation avant. Ces types de réseaux sont similaires aux RNN dans la mesure où les deux modèles tentent de traiter les données comme le ferait un humain, avec de nombreux nœuds interconnectés. Cependant, un réseau neuronal à propagation avant ne transmet les informations que vers l’avant, et le modèle ne peut pas mémoriser les informations en entrée passées. Dans l’exemple énoncé précédemment, ce modèle ne se souviendrait pas de « pomme » après avoir traité le mot « rouge ».

Au lieu de cela, le réseau neuronal à propagation avant fonctionne en déplaçant les informations de la couche d’entrée vers la couche de sortie, y compris les couches masquées. Ce type de modèle fonctionne bien pour la classification d’images lorsque l’entrée et la sortie sont indépendantes. Cependant, ce réseau diffère des réseaux RNN car il ne peut pas mémoriser une séquence comme le peut un réseau récurrent.

Quelles sont les variantes de l’architecture d’un réseau neuronal récurrent ?

L’architecture d’un RNN se décline en trois variantes principales, chacune adaptée à partir de la structure de base afin d’améliorer les fonctionnalités et les performances pour des tâches spécifiques. Cette flexibilité de conception permet de répondre aux exigences uniques de diverses tâches de traitement de séquence de données. Les variantes suivantes modifient la façon dont les données sont traitées et générées, ce qui permet d’utiliser des applications plus spécialisées dans un large éventail de domaines :

Réseaux neuronaux récurrents bidirectionnels

Un réseau neuronal récurrent bidirectionnel (BRNN) traite les séquences de données vers l’avant et l’arrière. La couche avant fonctionne de manière très similaire à la première couche du RNN, mais la couche arrière fonctionne différemment pour déplacer les informations dans une deuxième direction. La combinaison des deux couches augmente la précision des prédictions.

Longue mémoire à court terme

Une longue mémoire à court terme (LSTM) est un modèle conçu pour accueillir une mémoire plus longue. Un RNN de base ne peut mémoriser que la dernière entrée immédiate. La LSTM peut utiliser les entrées des séquences précédentes pour améliorer la précision de ses prédictions. Prenons cet exemple d’entrée de données simplifiées : la pomme est rouge. Anne n’aime que les pommes rouges. Une LSTM se souvient que la pomme est rouge lors du traitement des informations sur les types de pommes qui sont importants dans cette situation. Un RNN ne se souviendra pas que la pomme est rouge, car ces informations ont été présentées dans une séquence précédente.

Unités récurrentes fermées

Une unité récurrente fermée (GRU) est une variante complexe du réseau neuronal récurrent standard, conçue pour répondre à certaines des limitations liées à la rétention de mémoire. Les GRU intègrent des portes, qui sont des mécanismes utilisés pour réguler le flux d’informations. Il s’agit notamment de la porte de mise à jour, qui détermine la quantité d’informations passées (des étapes précédentes) à conserver, et de la porte de réinitialisation, qui détermine la quantité d’informations passées à oublier. Cela permet aux GRU de conserver ou de supprimer des informations de manière sélective, ce qui les rend très efficaces pour les tâches où la compréhension du contexte ou de la séquence des événements est cruciale.

Applications des RNN

Les RNN sont extrêmement polyvalents dans le traitement des données qui impliquent des séquences. Ils sont donc adaptés à un large éventail d’utilisations, par exemple :

  • Modélisation linguistique et génération de texte 
    Les RNN peuvent prédire le mot suivant dans une phrase en fonction des mots précédents, ce qui est essentiel pour des tâches telles que la saisie semi-automatique dans les moteurs de recherche ou la génération automatique de texte lisible.

  • Reconnaissance vocale 
    Ces réseaux peuvent traiter les données audio au fil du temps. Ils sont donc parfaits pour reconnaître les mots prononcés en temps réel et les convertir en texte, comme c’est le cas dans les assistants virtuels et les convertisseurs de voix en texte sur mobile.

  • Traduction automatique 
    Les RNN peuvent analyser des séquences de mots dans une langue et les convertir dans une autre, tout en conservant la justesse grammaticale et contextuelle dans le processus de traduction.

  • Reconnaissance d’images 
    Bien qu’ils ne soient pas aussi utilisés que d’autres modèles comme les CNN pour cette tâche, les RNN peuvent servir à analyser des séquences dans des images (lecture de texte manuscrit ou traitement séquentiel d’images vidéo, par exemple).

  • Prévision de séries chronologiques 
    Les RNN sont bien adaptés pour prédire les valeurs futures d’une série basée sur des données historiques, applicables dans des domaines tels que les prévisions de marché boursier, les prévisions météorologiques et les prévisions de la demande dans le secteur de la vente au détail.

Quels sont les défis liés aux RNN ?

L’utilisation de réseaux neuronaux récurrents présente certains défis, ce qui explique en partie pourquoi ils sont remplacés par des variantes et des réseaux neuronaux plus récents. Voici quatre des principaux obstacles à l’utilisation d’un réseau neuronal récurrent : 

  • Gradient explosif
    Le gradient fait référence à la sensibilité du taux d’erreur correspondant aux paramètres du modèle. Si le gradient augmente de manière exponentielle, il peut devenir instable. Lorsque cela se produit, il est considéré comme un gradient explosif. Ce type d’erreur peut entraîner un surapprentissage, phénomène selon lequel le modèle peut prévoir avec précision les données d’entraînement, mais ne peut pas faire de même avec les données réelles.

  • Gradient évanescent
    Ce problème survient lorsque les valeurs du gradient diminuent quasiment jusqu’à zéro pendant l’entraînement, ce qui ralentit considérablement le processus d’apprentissage ou l’arrête complètement. En présence d’un gradient évanescent, il est difficile pour le RNN de capturer et d’exploiter efficacement les données d’entraînement. Cela conduit souvent à un sous-apprentissage, où le modèle ne peut pas appliquer correctement ce qu’il a appris aux nouvelles données.

  • Difficulté à traiter de longues séquences
    Les RNN peuvent avoir des difficultés avec les longues séquences de données. Cette limitation est due au fait que les informations pertinentes peuvent être diluées sur de longues séquences, ce qui entrave la capacité du modèle à apprendre efficacement à partir de ces données.

  • Lenteur de l’entraînement
    Comme un RNN traite les données de manière séquentielle, il ne peut pas traiter de grandes quantités d’informations simultanément. Ce traitement séquentiel allonge la durée d’entraînement, ce qui rend les RNN moins efficaces que les autres modèles capables de traiter les données en parallèle, tels que les transformeurs.

Quels sont les avantages des RNN ?

Outre la possibilité de traiter les informations de manière séquentielle, il existe d’autres avantages majeurs liés à l’utilisation d’un réseau neuronal récurrent :

  • Les RNN sont dotés de structures telles que les unités LSTM (longue mémoire à court terme), qui leur permettent de mémoriser des informations sur de longues périodes. Cette fonctionnalité est essentielle pour les tâches où la compréhension du contexte passé est nécessaire en vue de formuler des prédictions précises sur les événements futurs.

  • Les RNN peuvent être associés à des réseaux neuronaux convolutifs (CNN) pour améliorer leur aptitude à traiter des données spatiales, telles que des images ou des vidéos. Cette association permet non seulement aux RNN de reconnaître des schémas au fil du temps, mais également d’étendre leur « champ de vision » en termes de données de pixels, améliorant ainsi l’analyse des séquences dans les entrées visuelles.

  • Contrairement à de nombreuses autres architectures de réseau neuronal, les RNN peuvent gérer des séquences en entrée de différentes longueurs sans avoir à réorganiser ou redimensionner les entrées. Ils sont donc extrêmement polyvalents pour des utilisations telles que la reconnaissance vocale, où la durée des données d’entrée peut varier considérablement.

  • Les RNN sont par nature conçus pour traiter des séquences où la synchronisation entre les événements est cruciale. Ils sont donc particulièrement adaptés à des utilisations telles que la prévision du cours des actions, la composition musicale et d’autres analyses sensibles au facteur temps, où l’ordre et la chronologie des points de données historiques sont essentiels pour émettre des prédictions.

Comment fonctionne le RNN ?

Comme indiqué, les RNN sont constitués de neurones artificiels conçus pour imiter la prise de décision humaine. Ces neurones artificiels sont des nœuds de traitement des données qui fonctionnent ensemble pour effectuer des tâches complexes. Les neurones sont organisés en plusieurs couches principales : les couches d’entrée, de sortie et masquées. La couche d’entrée reçoit les informations à traiter et la couche de sortie fournit le résultat. Le traitement des données, leur analyse et les prévisions ont lieu dans la couche masquée.

Couches masquées

Un RNN transmet les données séquentielles qu’il reçoit via les couches masquées, étape par étape. Il existe cependant un workflow récurrent, ou fonction d’auto-bouclage, dans la couche masquée. La couche masquée peut mémoriser et utiliser les entrées précédentes pour les prévisions futures dans sa mémoire à court terme. L’entrée actuelle est stockée dans la mémoire à des fins de prédiction de la séquence suivante.

Par exemple, prenons la séquence : la pluie est humide. Les utilisateurs veulent qu’un RNN prédise l’idée d’humidité lorsqu’il reçoit l’entrée « pluie ». La couche masquée traite et stocke l’idée de pluie. Une copie est stockée dans sa mémoire. Puis, lorsqu’elle reçoit le mot « humide », elle peut récupérer « pluie » de sa mémoire et créer une séquence complète. Ces informations peuvent ensuite être utilisées pour améliorer la précision. Grâce à cette fonction, un RNN est utile pour la reconnaissance vocale, la traduction et d’autres tâches de modélisation linguistique.

Éliminer les coûts inutiles

Les ingénieurs en apprentissage machine entraînent souvent les réseaux neuronaux comme les RNN en fournissant des données d’entraînement aux modèles, puis en affinant leurs performances. Les neurones des modèles neuronaux ont des « poids » qui indiquent le degré d’influence des informations apprises pendant l’entraînement sur la prédiction de la sortie. Au départ, chaque couche d’un RNN partage le même poids.

Les ingénieurs ajustent ensuite les poids au fur et à mesure que le modèle apprend pour déterminer la précision de prédiction. Pour ce faire, ils s’appuient sur une technique appelée rétropropagation à travers le temps (BPTT) pour calculer l’erreur du modèle et ajuster son poids en conséquence. Les ingénieurs peuvent ainsi identifier l’état masqué de la séquence à l’origine d’une erreur importante et réajuster le poids pour réduire la marge d’erreur.

Comment mettre en œuvre un RNN ?

Les ingénieurs en apprentissage machine développent un réseau neuronal récurrent à l’aide des langages de programmation de leur choix, comme Python. Quel que soit le mode de développement choisi, voici les grandes étapes à suivre pour mettre en œuvre un RNN :

  • Créer la couche d’entrée
    La première étape consiste à créer une couche capable de collecter des données d’entrée. Cette couche est composée de neurones artificiels.

  • Créer des états masqués
    Les modèles de RNN peuvent avoir plusieurs couches masquées qui permettent le traitement effectif du réseau neuronal. Ces couches sont également constituées de neurones artificiels interconnectés. Cela permet d’imiter les capacités de prédiction humaine et rend possible le séquençage.

  • Créer la couche de sortie
    Cette couche finale prédit les résultats. Certains modèles peuvent également contenir d’autres couches en aval.

  • Entraîner avec des poids
    Les paramètres exacts et les marges d’erreur sont créés après que les ingénieurs ont entraîné le modèle avec des données. Il peut falloir du temps pour ajuster les poids avec précision et éviter les gradients évanescents ou explosifs.

Tarifs ServiceNow ServiceNow propose des packages de produits compétitifs qui s’adaptent à vos besoins et à la croissance de votre entreprise. Obtenir un devis
ServiceNow comme alternative efficace aux réseaux neuronaux récurrents

Les réseaux neuronaux récurrents ont posé une base solide pour le traitement séquentiel des données. Cependant, les limites qu’ils présentent ont poussé de nombreuses entreprises à s’appuyer sur des modèles plus récents et plus avancés et sur l’intelligence artificielle pour répondre à leurs besoins. C’est pourquoi la Now Platform® de ServiceNow utilise l’apprentissage machine avancé et l’IA générative. Elle intègre des technologies d’IA innovantes et de pointe qui fonctionnent ensemble pour favoriser la croissance de votre entreprise : cadres de travail pour l’apprentissage machine, compréhension du langage naturel, recherche et automatisation, analyse et exploration de processus.

Essayez ServiceNow dès aujourd’hui pour découvrir comment les nouvelles solutions de réseau neuronal peuvent être votre prochaine étape sur la voie de la réussite.

Pour tout savoir sur l’IA générative Accélérez la productivité avec Now Assist, l’IA générative intégrée directement à la Now Platform. Découvrir l’IA Nous contacter
Ressources Articles Qu’est-ce que l’IA ? Qu’est-ce que l’IA générative ? Qu’est-ce qu’un LLM ? Rapports d’analyste InfoBrief IDC : Maximiser la valeur de l’IA avec une plateforme digitale L’IA générative dans les opérations IT Mettre en œuvre l’IA générative (GenAI) dans le secteur des télécommunications Fiches techniques Recherche IA Anticiper et empêcher les pannes avec ServiceNow® AiOps prédictive Ebooks Moderniser les services et opérations IT avec l’aide de l’IA La GenAI est-elle vraiment si importante ? Libérer la productivité de votre entreprise avec la GenAI Livres blancs Indice de maturité IA des entreprises La GenAI pour les télécommunications