Chap4 - Reseaux Neurones Recurrents (1)
Chap4 - Reseaux Neurones Recurrents (1)
Chap4 - Reseaux Neurones Recurrents (1)
neurones récurrents
M. BOUDJELABA Hakim
1. Introduction
Un réseau de neurones récurrents (RNN) est un type de réseau de neurones artificiels conçu pour traiter
des données séquentielles. Contrairement aux réseaux de neurones classiques, un RNN dispose de
connexions récurrentes qui lui permettent de "mémoriser" les informations des étapes précédentes et de
les réutiliser dans les étapes suivantes.
Cela le rend particulièrement adapté pour des tâches où le contexte temporel ou de séquence est
essentiel, comme la reconnaissance vocale, la traduction automatique et l'analyse de séries temporelles.
2. Principales applications
1. Traitement du langage naturel (NLP) : Utilisés pour des tâches comme la traduction automatique,
la génération de texte, l'analyse de sentiments, et la reconnaissance d'entités nommées.
2. Reconnaissance vocale et audio : Permettent de transcrire l’audio en texte ou d'identifier des sons
dans des séquences audio.
3. Prédiction de séries temporelles : Utilisés pour prévoir des valeurs futures dans des domaines
comme la finance (prévision des prix d'actions), la météo, ou la gestion de stock.
4. Classification de séquences : Appliqués pour classer des séquences, comme la détection de
fraudes (anomalies dans des transactions) ou la reconnaissance de gestes dans des séquences
vidéo.
5. Génération de séquences : Créent de nouvelles séquences à partir de données d'entraînement,
comme pour générer de la musique, du texte, ou des images animées.
3. Neurone récurrent
C’est un neurone qui possède une connexion possède, lui permettant de se souvenir de l’information de l’
état précédent.
Il intègre l’information de ses entrées actuelles avec celle qu’il a mémorisée des étapes précédentes. Cela
le rend particulièrement adapté aux données séquentielles, comme le texte ou les séries temporelles, où
le contexte passé influence les valeurs futures.
3. Neurone récurrent
3. Neurone récurrent
3.1. Couche récurrente
4. Problèmes des RNN
1. Vanishing / exploding gradients: Lors de l'entraînement des RNN sur de longues séquences, les gradients
calculés pendant la rétropropagation peuvent soit diminuer rapidement (Vanishing gradient) soit
augmenter de façon incontrôlée (Exploding gradient). Cela rend difficile l'apprentissage des dépendances à
long terme, car les gradients deviennent trop petits ou trop grands, ce qui empêche le modèle de mettre à
jour efficacement ses poids.
2. Difficulté à capturer les dépendances à long terme: En raison du problème de vanishing gradient, les RNN
classiques ont du mal à "se souvenir" des informations sur de longues périodes. Par conséquent, ils peuvent
perdre des informations importantes dans les séquences longues, rendant les résultats moins précis.
3. Problème de mémoire limitée: Dans les RNN de base, la capacité de mémoire est limitée par le nombre
d'étapes temporelles, ce qui peut poser problème pour des séquences complexes et des dépendances
éloignées. Les variantes comme les LSTM et les GRU ont été introduites pour pallier cette limite, mais ces
modèles sont plus complexes et nécessitent davantage de ressources de calcul.
5. Réseaux LSTM (Long Short-Term Memory)
Les réseaux LSTM contiennent une mémoire à court terme capable de durer assez longtemps pour qu’on
la qualifie de mémoire longue à court terme.
5.1. Architecture des LSTM
Une cellule d’un réseau LSTM est principalement composée d’un input gate, un output gate et un forget
gate.
5.2. Principe de base
L'idée derrière ce choix d'architecture de réseaux de neurones est de diviser le signal entre ce qui est
important à court terme à travers le hidden state (analogue à la sortie d'une cellule de RNN simple), et ce
qui l'est à long terme, à travers le cell state, qui sera explicité plus bas. Ainsi, le fonctionnement global d'un
LSTM peut se résumer en 3 étapes :
1. Détection des informations passées dans le cell state via le forget gate
2. Choix des informations pertinentes à long terme à travers l’input gate
3. Ajout des informations choisies au cell state
4. Détection des informations importantes à court terme dans le cell state
5. Génération du nouveau hidden state à travers l’output gate
5.2. Principe de base
LSTM
- Utilisé lorsque les dépendances à long terme sont critiques (ex. traitement de texte complexe).
- Peut être plus précis, mais au coût d’une complexité accrue.
- Adapté aux grands ensembles de données.
GRU
- Plus rapide et efficace, particulièrement sur des machines avec moins de ressources.
- Recommandé pour les petits ensembles de données ou lorsque la vitesse est une priorité.
- Moins sujet à des problèmes de surentraînement grâce à sa simplicité.