Quelle est la différence entre réseau de neurones à réaction et LSTM ? En quoi diffèrent-ils dans leur architecture?

Réponse

Un réseau de neurones à réaction ressemble à ceci:

input -> hidden layer 1 -> hidden layer 2 -> … -> hidden layer k -> output.

Chaque couche peut avoir un nombre différent de neurones, mais cest larchitecture .

Une LSTM (cellule de mémoire à long-court terme) est un type spécial de nœud dans un réseau de neurones. Elle peut être insérée dans un réseau de neurones à feedforward, et cest généralement . Lorsque cela se produit, le réseau de neurones feedforward est appelé LSTM (ce qui prête à confusion!).

Alors, comment fonctionne un LSTM? Jetez un œil à ma réponse ici: Oubliez la couche dans un réseau neuronal récurrent (RNN) –

tl; dr: une cellule LSTM a trois portes, dont chacune est utilisée pour moduler son entrée dune manière ou dune autre: une porte dentrée, une porte doubli et une porte de sortie. Elle a une « mémoire » et une sortie qui sont modifiées par les portes. Autrement dit, dans une seule cellule LSTM:

(input état de la cellule précédente) -> (entrée & oublier les portes) -> (mettre à jour létat de la cellule)

(entrée & état de cellule précédent & état de cellule mis à jour) -> (porte de sortie)

Vous pouvez empiler ces cellules dans de nombreuses configurations différentes. Il ny a donc pas de « réseau LSTM » unique – plutôt un ensemble de nombreuses architectures possibles qui peuvent être construites à partir de ces nœuds de base.

Jespère que vous commencerez!

Commentaires

  • Merci beaucoup pour votre réponse, mais pouvez-vous ajouter des images pour améliorer ma compréhension de larchitecture
  • Quen est-il de la rétro-propogation dans le réseau à feed-forward feed forward network
  • Bonjour @codezcar, il y a des images du LSTM dans ma réponse que jai liées. Pour un réseau de neurones à feedforward, une image est ici: medium.com/random-techpark/… Oui, vous peut utiliser la rétropropagation pour trouver les poids optimaux dans tout type de réseau de neurones (feed forward, LSTM, GRU, … nimporte quoi!).

Réponse

Comme mentionné par Philipp, les réseaux avec des boucles de rétroaction aident à modéliser le temps dans les données.

Vous devriez regarder ceci pour un aperçu des différentes architectures NN: https://i.stack.imgur.com/LgmYv.png

Réponse

Les réseaux à flux direct sont des réseaux où chaque nœud est connecté uniquement avec des nœuds de la couche suivante. Ils n’ont pas de connexions en «cercle». Les données ne peuvent voyager qu’une entrée à une autre sans boucle. Par exemple, Simple Layer Perceptron ou Multilayer Perceptrion. Les réseaux de neurones convolutifs sont également des réseaux à flux direct

Contrairement à qui sont des réseaux de neurones récurrents. Le LSTM en fait partie. Ces RNN peuvent également être connectés «latéralement». Cela signifie que vos données peuvent voyager non seulement vers la couche suivante, mais aussi vers dautres nœuds de la même couche ou vers larrière. À partir dune architecture point de vue qui signifie que bien que vous ayez un réseau avec peut-être une seule couche cachée, vous obtenez une « profondeur » en ajoutant des boucles aux nœuds de cette couche. Habituellement, elles représentent le « temps » dans les données.

Cette image montre ce que jentends par « profondeur » à travers des boucles de rétroaction: https://en.wikipedia.org/wiki/Recurrent_neural_network#/media/File:Recurrent_neural_network_unfold.svg

Bien que ce soit techniquement un nœud dans votre architecture de couche, il devient de plus en plus profond à mesure que vous ajoutez de boucles

Answer

Je veux discuter dune intuition de haut niveau derrière les réseaux LSTM. Voici quelques questions pour vous aider à explorer les aspects pourquoi :

  • Pourquoi / quand utiliserions-nous un LSTM sur un réseau de neurones à rétroaction (FFNN)?
  • Quels sont les avantages et les inconvénients des LSTM et comment se comparent-ils à FFNN?
  • En quoi sont-ils différents des réseaux de neurones récurrents (RNN) traditionnels?

Feed Forward Neural Networks (FFNN)

Considérons dabord un FFNN standard avec une architecture: Vers la science des données Image: * Comptage manuel du nombre de paramètres dans les modèles dapprentissage profond *

Comme vous le savez probablement, ce FFNN prend trois entrées, les traite en utilisant la couche cachée et produit deux sorties. Nous pouvons étendre cette architecture pour incorporer plus de couches cachées, mais le concept de base est toujours valable: les entrées arrivent, elles sont traitées dans un sens et elles sont sorties à la fin.

Ce concept est très bien expliqué par dautres articles, je nentrerai donc pas dans beaucoup plus de détails.Le point clé à retenir est:

La principale condition qui sépare FFNN des architectures récurrentes est que les entrées dun neurone doivent provenir de la couche avant ce neurone.

FFNN Wikipedia

Réseaux de neurones récurrents (RNN)

Les réseaux de neurones récurrents sont mathématiquement assez similaires aux modèles FFNN. Leur principale différence est que la restriction placée sur FFNN nest plus appliquée:

Les entrées dun neurone peuvent provenir de nimporte quelle autre couche.

Une enquête sur lapplication des réseaux de neurones récurrents à la modélisation statistique du langage

Vous verrez souvent que cette architecture est souvent « roulée » dans une unité récurrente telle que la suivante:

Article moyen: Tout ce que vous devez savoir sur les réseaux de neurones récurrents

Les unités « enroulées » que vous pourriez voir dans les diagrammes darchitecture peuvent donc être trompeusement petit. Lorsque vous les déroulerez, le réseau sera souvent assez profond!

RNN Wikipedia

Mémoire à long terme (LSTM)

Les LSTM sont un type spécial de RNN conçu pour sattaquer au problème du gradient de disparition / explosion.

Lorsque vous entraînez un RNN traditionnel, le réseau souffre souvent de dégradés qui disparaissent / explosent: le déroulement dune unité récurrente se traduit par un réseau très profond! Si vous utilisez lalgorithme de rétropropagation en utilisant des architectures RNN traditionnelles, les couches antérieures deviendront de moins en moins importantes à mesure que nous nous propagerons à travers le réseau. Cela rend les RNN traditionnels enclins à oublier des informations, en particulier les données qui apparaissent plusieurs pas dans le temps avant lheure actuelle.

Un exemple de cellule LSTM est illustré comme tel:

Architecture de cellule LSTM

Cette structure est similaire à lunité déroulée RNN traditionnelle, mais la principale différence avec le LSTM sont les portes: porte dentrée, porte de sortie et porte oublier. La fonction de ces portes est bien décrite par leurs noms:

  • input gate contrôle le les données qui entrent dans la cellule
  • forget gate contrôle la mesure dans laquelle les données restent dans la cellule
  • sortie gate contrôle la sortie de la cellule via la fonction dactivation

Ce post Github IO est une excellente introduction aux bases des LSTM. Il fait également un travail incroyable pour expliquer lintuition derrière les mathématiques dun LSTM.

LSTM Wikipedia

Propriétés et exemple dutilisation de RNN

Les boucles de rétroaction prêtent mieux les réseaux de neurones récurrents aux défis temporels. Le temps est pris en compte dans leur architecture!

Explorons un exemple:

Vous utilisez peut-être un réseau pour prédire le mot suivant dune phrase. Supposons que lon vous donne les entrées:

Affamée, Alice se rend au magasin le plus proche pour acheter [prédiction]

Un réseau neuronal récurrent pourrait oublier le premier mot « affamé » alors quun LSTM le propagerait idéalement. Un LSTM utiliserait donc le contexte quil a entendu précédemment dans la phrase pour deviner «nourriture» alors quun RNN pourrait deviner tout ce qui est acheté dans un magasin, en particulier avec une ou plusieurs phrases longues.

Les mécanismes de gating qui permettent ce type de mémoire est bien expliqué par @StatsSorceress ici: Oubliez la couche dans un réseau neuronal récurrent (RNN) –

Les RNN sont conçus pour gérer des séquences. Cela peut être utilisé pour analyser la vidéo (séquences dimages), lécriture / la parole (séquences de mots) , etc.

Les LSTM sont conçus pour laisser persister des informations importantes dans le temps. Les RNN « oublieront » souvent avec le temps.

Les FFNN sont des systèmes sans mémoire; après avoir traité une entrée, ils oublient tout sur cette entrée. Disons, par exemple, que nous formons un FFNN qui prend 5 mots comme entrées et prédit la sortie suivante. Ce modèle recevrait alors les données de lexemple ci-dessus:

le magasin le plus proche à acheter [prédiction] .

Cela perd clairement son contexte, et nous obtiendrait un mauvais résultat.

Maintenant, vous pourriez demander, et si nous faisions un FFNN qui prenait de nombreuses entrées pour quil inclue le mot «affamé» dans ses entrées? En dautres termes, ne pourrions-nous pas augmenter le nombre dentrées dans un FFNN pour représenter suffisamment les données antérieures?

La réponse est oui, mais cette méthode est à la fois inefficace et souvent peu pratique. Disons, par exemple, que nous devons nous souvenir du contexte dun paragraphe entier en arrière. Nous aurions besoin dun très gros FFNN! De plus, comment savoir combien de mots nous voulons en retour comme contexte? Est-ce que 20 serait suffisant? 30? 100? Larchitecture LSTM élimine entièrement ces problèmes en laissant le réseau gérer une mémoire transitoire. Ce problème est exacerbé par les problèmes de traitement vidéo car chaque image nécessitera beaucoup plus dentrées que de tâches PNL.

Notez, cependant, que les unités LSTM sont intrinsèquement plus complexes en termes de calcul que les unités dun FFNN, donc leur formation est souvent plus difficile et prend plus de temps. Malgré ces inconvénients, leur succès dans les défis de données temporelles justifie clairement leur utilisation sur FFNN.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *