Maison > Article > Périphériques technologiques > Explorez les concepts, les différences, les avantages et les inconvénients de RNN, LSTM et GRU
Dans les données de séries chronologiques, il existe des dépendances entre les observations, elles ne sont donc pas indépendantes les unes des autres. Cependant, les réseaux de neurones traditionnels traitent chaque observation comme indépendante, ce qui limite la capacité du modèle à modéliser des données de séries chronologiques. Pour résoudre ce problème, le réseau neuronal récurrent (RNN) a été introduit, qui a introduit le concept de mémoire pour capturer les caractéristiques dynamiques des données de séries chronologiques en établissant des dépendances entre les points de données du réseau. Grâce à des connexions récurrentes, RNN peut transmettre des informations antérieures à l'observation actuelle pour mieux prédire les valeurs futures. Cela fait de RNN un outil puissant pour les tâches impliquant des données de séries chronologiques.
Mais comment RNN parvient-il à obtenir ce genre de mémoire ?
RNN réalise la mémoire via la boucle de rétroaction dans le réseau neuronal, ce qui constitue la principale différence entre le RNN et les réseaux neuronaux traditionnels. Les boucles de rétroaction permettent aux informations d'être transmises au sein des couches, tandis que les réseaux neuronaux à rétroaction transmettent les informations uniquement entre les couches. Par conséquent, il existe différents types de RNN :
Cet article présentera le RNN , LSTM Les concepts, similitudes et différences entre GRU et GRU, ainsi que certains de leurs avantages et inconvénients.
Grâce à une boucle de rétroaction, la sortie d'une unité RNN est également utilisée comme entrée par la même unité. Par conséquent, chaque RNN a deux entrées : passée et présente. L'utilisation d'informations passées crée une mémoire à court terme.
Pour une meilleure compréhension, la boucle de rétroaction de l'unité RNN peut être étendue. La longueur de la cellule développée est égale au nombre de pas de temps de la séquence d'entrée.
Vous pouvez voir comment les observations passées sont transmises à travers le réseau déployé en tant qu'états cachés. Dans chaque cellule, l'entrée du pas de temps actuel, l'état caché du pas de temps précédent et le biais sont combinés puis contraints via une fonction d'activation pour déterminer l'état caché au pas de temps actuel.
RNN peut être utilisé pour des prédictions un-à-un, un-à-plusieurs, plusieurs-à-un et plusieurs-à-plusieurs.
Grâce à sa mémoire à court terme, RNN peut traiter des données séquentielles et identifier des modèles dans les données historiques. De plus, RNN est capable de gérer des entrées de différentes longueurs.
RNN a le problème de la disparition de la descente de gradient. Dans ce cas, le gradient utilisé pour mettre à jour les poids lors de la rétropropagation devient très petit. Multiplier des poids avec des gradients proches de zéro empêche le réseau d'apprendre de nouveaux poids. L'arrêt de l'apprentissage amène le RNN à oublier ce qu'il a vu dans des séquences plus longues. Le problème de la disparition de la descente de gradient augmente avec le nombre de couches du réseau.
Étant donné que RNN ne conserve que les informations récentes, le modèle a des problèmes lors de la prise en compte des observations passées. Par conséquent, RNN n’a qu’une mémoire à court terme mais pas de mémoire à long terme.
De plus, puisque RNN utilise la rétropropagation pour mettre à jour les poids dans le temps, le réseau souffrira également d'une explosion de gradient, et si la fonction d'activation ReLu est utilisée, il sera affecté par les unités ReLu mortes. Le premier peut entraîner des problèmes de convergence, tandis que le second peut entraîner l'arrêt de l'apprentissage.
LSTM est un type spécial de RNN, qui résout le problème de la disparition progressive du RNN.
La clé du LSTM est l'état de l'unité, qui est transmis de l'entrée de l'unité à la sortie. L’état de la cellule permet aux informations de circuler tout au long de la chaîne avec seulement des actions linéaires plus petites via trois portes. Par conséquent, l’état de la cellule représente la mémoire à long terme du LSTM. Ces trois portes sont respectivement appelées porte d’oubli, porte d’entrée et porte de sortie. Ces portes agissent comme des filtres, contrôlent le flux d'informations et déterminent quelles informations sont conservées ou ignorées.
La porte de l'oubli détermine la quantité de mémoire à long terme qui doit être conservée. À cette fin, une fonction sigmoïde est utilisée pour rendre compte de l’importance de l’état unitaire. La sortie varie entre 0 et 1, 0 ne conservant aucune information et 1 conservant toutes les informations sur l'état de la cellule.
La porte d'entrée détermine quelles informations sont ajoutées à l'état de la cellule et donc à la mémoire à long terme.
La porte de sortie détermine quelles parties de l'état de la cellule génèrent la sortie. La porte de sortie est donc responsable de la mémoire à court terme.
En général, l'état est mis à jour via la porte d'oubli et la porte d'entrée.
Les avantages du LSTM sont similaires à ceux des RNN, le principal avantage est qu'ils peuvent capturer des modèles de séquences à long terme et à court terme. Ce sont donc les RNN les plus couramment utilisés.
En raison de la structure plus complexe, le coût de calcul du LSTM est plus élevé, ce qui entraîne un temps de formation plus long.
Étant donné que LSTM utilise également l'algorithme de rétropropagation temporelle pour mettre à jour les poids, LSTM présente les inconvénients de la rétropropagation, tels que les unités ReLu mortes, l'explosion de gradient, etc.
Semblable au LSTM, GRU résout le problème du gradient de disparition du RNN simple. Cependant, la différence avec LSTM est que GRU utilise moins de portes et ne dispose pas de mémoire interne séparée, c'est-à-dire l'état de la cellule. Par conséquent, GRU s’appuie entièrement sur des états cachés comme mémoire, ce qui conduit à une architecture plus simple.
La porte de réinitialisation est responsable de la mémoire à court terme car elle détermine la quantité d'informations passées qui sont conservées et ignorées.
La porte de mise à jour est responsable de la mémoire à long terme et est comparable à la porte d'oubli du LSTM.
L'état caché du pas de temps actuel est déterminé en fonction de deux étapes :
Tout d'abord, déterminer l'état caché candidat. L'état candidat est une combinaison de l'entrée actuelle et de l'état caché du pas de temps précédent et de la fonction d'activation. L'influence de l'état caché précédent sur l'état caché candidat est contrôlée par la porte de réinitialisation.
La deuxième étape consiste à combiner l'état caché candidat avec l'état caché du pas de temps précédent pour générer l'état caché actuel. La façon dont l'état caché précédent et l'état caché candidat sont combinés est déterminée par la porte de mise à jour.
Si la valeur donnée par la porte de mise à jour est 0, l'état caché précédent est complètement ignoré et l'état caché actuel est égal à l'état caché candidat. Si la porte de mise à jour donne une valeur de 1, l'inverse est vrai.
En raison de son architecture plus simple par rapport à LSTM, GRU est plus efficace sur le plan informatique, plus rapide à entraîner et nécessite moins de mémoire.
De plus, GRU s'est avéré plus efficace pour les petites séquences.
Étant donné que les GRU n'ont pas d'états cachés et d'états de cellules séparés, ils peuvent ne pas être en mesure de prendre en compte les observations passées comme le LSTM.
Semblable à RNN et LSTM, GRU peut également souffrir des défauts de rétropropagation pour mettre à jour les poids dans le temps, à savoir les unités ReLu mortes et l'explosion de gradient.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!