Quelle est la différence entre un réseau de neurones feed-forward et récurrent ?
Pourquoi voudriez-vous utiliser l'un sur l'autre?
Existe-t-il d'autres topologies de réseau?
Quelle est la différence entre un réseau de neurones feed-forward et récurrent ?
Pourquoi voudriez-vous utiliser l'un sur l'autre?
Existe-t-il d'autres topologies de réseau?
Réponses:
Les ANN Feed- Forward permettent aux signaux de voyager dans un seul sens: d’entrée en sortie. Il n'y a pas de feedback (boucles); c'est-à - dire que la sortie d'un calque n'affecte pas le même calque. Les RNA feed-forward ont tendance à être des réseaux simples associant des entrées à des sorties. Ils sont largement utilisés dans la reconnaissance de formes. Ce type d'organisation est également appelé ascendant ou descendant.
Les réseaux de retour (ou récurrents ou interactifs) peuvent avoir des signaux voyageant dans les deux sens en introduisant des boucles dans le réseau. Les réseaux de feedback sont puissants et peuvent devenir extrêmement compliqués. Les calculs dérivés des entrées précédentes sont réinjectés dans le réseau, ce qui leur donne une sorte de mémoire. Les réseaux de rétroaction sont dynamiques. leur «état» change continuellement jusqu'à atteindre un point d'équilibre. Ils restent au point d’équilibre jusqu’à ce que l’intrant change et qu’un nouvel équilibre soit trouvé.
Les réseaux de neurones à anticipation conviennent parfaitement à la modélisation des relations entre un ensemble de variables prédictives ou d'entrée et une ou plusieurs variables de réponse ou de sortie. En d’autres termes, elles conviennent à tout problème de mappage fonctionnel dans lequel nous voulons savoir comment un certain nombre de variables d’entrée affectent la variable de sortie. Les réseaux neuronaux multicouches feedforward, également appelés perceptrons multicouches (MLP), sont le modèle de réseau neuronal le plus largement étudié et utilisé dans la pratique.
Comme exemple de réseau de feedback, je peux rappeler le réseau de Hopfield . L'utilisation principale du réseau de Hopfield est la mémoire associative. Une mémoire associative est un dispositif qui accepte un motif d'entrée et génère une sortie en tant que motif enregistré qui est le plus étroitement associé à l'entrée. La fonction de la mémoire associée est de rappeler le motif stocké correspondant, puis de produire une version claire du motif à la sortie. Les réseaux Hopfield sont généralement utilisés pour les problèmes liés aux vecteurs de modèle binaire et le modèle d'entrée peut être une version bruyante de l'un des modèles stockés. Dans le réseau Hopfield, les modèles stockés sont codés en tant que poids du réseau.
Les cartes auto-organisées de Kohonen(SOM) représente un autre type de réseau de neurones très différent des réseaux multicouches à anticipation. Contrairement à la formation dans le MLP feedforward, la formation ou l'apprentissage SOM est souvent appelé non supervisé car il n'y a pas de sorties cibles connues associées à chaque modèle d'entrée dans SOM et pendant le processus de formation, le SOM traite les modèles d'entrée et apprend à regrouper ou segmenter les données. en ajustant les poids (ce qui en fait un modèle de réseau neuronal important pour la réduction des dimensions et le regroupement des données). Une carte en deux dimensions est généralement créée de manière à préserver les ordres de corrélation entre les entrées. Le nombre et la composition des grappes peuvent être déterminés visuellement en fonction de la distribution de sortie générée par le processus de formation. Avec uniquement des variables d'entrée dans l'échantillon d'apprentissage,
(Les diagrammes proviennent du site Web sur l’intelligence artificielle C463 / B551 de Dana Vrajitoru .)
la source
Ce que George Dontas écrit est correct, mais l'utilisation des RNN en pratique aujourd'hui est limitée à une classe de problèmes plus simple: séries chronologiques / tâches séquentielles.
Alors que les réseaux feedforward sont utilisés pour apprendre des ensembles de données comme où et sont des vecteurs (par exemple, , pour les réseaux récurrents, serai toujours une séquence, par exemple, .i t i ∈ R n i i ∈ ( R n ) *(i,t) i t i∈Rn i i∈(Rn)∗
Les RNN se sont avérés capables de représenter toute séquence mesurable sur la cartographie de séquence réalisée par Hammer.
Ainsi, les RNN sont utilisés de nos jours pour toutes sortes de tâches séquentielles: prédiction de séries chronologiques, étiquetage de séquence, classification de séquence, etc. Un bon aperçu se trouve sur la page de Schmidhuber sur les RNN .
la source
Qu'est-ce qui est vraiment intéressant à poser cette question?
Au lieu de dire RNN et FNN sont différents dans leur nom. Donc, ils sont différents. , Je pense que ce qui est plus intéressant en termes de modélisation de système dynamique, RNN diffère-t-il beaucoup du FNN?
Contexte
Il y a eu un débat sur la modélisation d'un système dynamique entre réseau de neurones récurrents et réseau de neurones Feedforward, avec des fonctionnalités supplémentaires telles que les retards de temps précédents (FNN-TD).
D'après mes connaissances, après avoir lu ces articles sur les années 90 ~ 2010. La majorité de la littérature préfère que le RNN vanille soit meilleur que le FNN dans la mesure où ce dernier utilise une mémoire dynamique alors que FNN-TD est une mémoire statique .
Cependant, il n'y a pas beaucoup d'études numériques comparant ces deux. Celui [1] du début a montré que, pour la modélisation de système dynamique, FNN-TD présente des performances comparables à celles du RNN vanille lorsqu'il est sans bruit et que ses performances sont un peu moins bonnes en cas de bruit. Dans mes expériences sur la modélisation de systèmes dynamiques, je constate souvent que FNN-TD est assez bon.
Quelle est la principale différence dans la manière de traiter les effets de mémoire entre RNN et FNN-TD?
Malheureusement, je ne vois nulle part et aucune publication ne montre théoriquement la différence entre ces deux-là. C'est assez intéressant. Considérons un cas simple, utilisant une séquence scalaire pour prédire . C'est donc une tâche séquence-à-scalaire.Xn,Xn−1,…,Xn−k Xn+1
FNN-TD est le moyen le plus général et le plus complet de traiter les effets de mémoire . Comme il est brutal, il recouvre tout type, tout type, tout effet de mémoire théoriquement. Le seul inconvénient est que cela prend trop de paramètres en pratique.
La mémoire dans RNN n'est rien d'autre que représentée comme une "convolution" générale des informations précédentes . Nous savons tous que la convolution entre deux séquences scalaires en général n’est pas un processus réversible et que la déconvolution est le plus souvent mal posée.
Ma conjecture est "le degré de liberté" dans un tel processus de convolution est déterminé par le nombre d'unités cachées dans l'état RNN . Et c'est important pour certains systèmes dynamiques. Noter que le "degré de liberté" peut être étendu par l’ incorporation temporelle d’états [2] tout en conservant le même nombre d’unités cachées.s
Par conséquent, RNN compresse réellement les informations de mémoire précédentes avec perte en faisant une convolution, alors que FNN-TD les expose simplement dans un sens, sans perte d'informations de mémoire. Notez que vous pouvez réduire la perte d'informations en convolution en augmentant le nombre d'unités cachées ou en utilisant plus de retards que RNN vanille. En ce sens, RNN est plus flexible que FNN-TD. RNN ne peut obtenir aucune perte de mémoire en tant que FNN-TD et il peut être trivial de montrer que le nombre de paramètres est dans le même ordre.
Je sais que quelqu'un voudra peut-être mentionner que RNN porte l'effet à long terme alors que FNN-TD ne le peut pas. Pour cela, je veux juste mentionner que pour un système dynamique autonome continu, de la théorie de Takens sur l’incorporation, c’est une propriété générique pour l’incorporation à exister pour FNN-TD avec la mémoire temporelle apparemment courte pour obtenir les mêmes performances que la durée apparemment longue. mémoire en RNN. Cela explique pourquoi RNN et FNN-TD ne diffèrent pas beaucoup d'un exemple de système dynamique continu au début des années 90.
Maintenant, je vais mentionner les avantages de RNN. Pour la tâche de système dynamique autonome, utilisant davantage de termes précédents, bien que ce serait effectivement la même chose que d'utiliser FNN-TD avec des termes moins anciens en théorie, il serait utile numériquement de le rendre plus robuste au bruit. Le résultat dans [1] est conforme à cette opinion.
Référence
[1] Gençay, Ramazan et Tung Liu. "Modélisation et prédiction non linéaires avec des réseaux à anticipation et récurrents." Physica D: Phénomènes non linéaires 108.1-2 (1997): 119-134.
[2] Pan, Shaowu et Karthik Duraisamy. "Découverte pilotée par les données de modèles de fermeture." préimpression arXiv arXiv: 1803.09318 (2018).
la source