Les réseaux neuronaux sont le cœur des modèles d'apprentissage profond. Ils sont vaguement inspirés par la façon dont un cerveau humain traite les entrées pour arriver à une conclusion.
Techniquement parlant, tout comme le cerveau humain est composé de milliards de neurones connectés via des synapses, un réseau neuronal artificiel (RNA) se compose de couches de nœuds interconnectés. Ces connexions permettent au modèle d'apprendre à partir des données et de produire un résultat.
Les réseaux neuronaux à propagation avant, une version des RNA, ont été l'un des premiers algorithmes d'apprentissage réussis. Ces réseaux s'appuient sur des données d'entraînement et améliorent leur précision au fil du temps.
Qu'est-ce qu'un réseau neuronal à propagation avant ?
Les réseaux neuronaux à propagation avant (FNN) sont des réseaux neuronaux artificiels où l'information circule dans une seule direction, c'est-à-dire vers l'avant. L'information se déplace de la couche d'entrée aux couches cachées (le cas échéant) puis à la couche de sortie.
Le réseau n'a pas de cycles ou de boucles.
La couche d'entrée est composée de neurones qui reçoivent les entrées et les transmettent à la couche suivante. Les dimensions des données d'entrée déterminent le nombre de neurones dans cette couche. Les couches cachées sont comme le moteur de calcul du réseau neuronal.
Chaque neurone de la couche cachée prend la somme pondérée de la sortie de la couche précédente, applique une fonction d'activation et transmet le résultat à la couche suivante. La fonction d'activation décide si l'entrée du neurone est essentielle et active un nœud en conséquence. Les couches cachées ne sont pas directement exposées aux couches d'entrée et de sortie présentes.
.png)
Source : Research Gate
Enfin, la couche de sortie produit le résultat. Le nombre de sorties possibles détermine le nombre de neurones présents dans cette couche.
Les réseaux neuronaux à propagation avant sont relativement plus simples que leurs homologues, tels que les réseaux neuronaux récurrents (RNN) ou les réseaux neuronaux convolutifs (CNN).
Architecture du réseau neuronal à propagation avant
Les FNN se composent de couches, de poids, de biais et de nœuds.
Nous avons discuté des couches dans la section précédente, alors examinons d'autres éléments de l'architecture d'un réseau neuronal à propagation avant.
Poids et biais
Les poids représentent la force de la connexion entre deux neurones. Avant qu'un signal d'entrée ne passe par une fonction d'activation, les poids le mettent à l'échelle. En termes simples, ils déterminent l'influence de l'entrée sur la sortie d'un neurone.
D'autre part, les biais contrôlent l'activation de base d'un neurone. Comme les poids, les biais sont représentés par des matrices, avec une matrice pour chaque couche.
Les poids et les biais sont mis à jour de manière itérative au moment de l'entraînement pour minimiser la fonction de perte. La fonction de perte détermine dans quelle mesure un réseau neuronal effectue sa tâche en quantifiant essentiellement à quel point la sortie d'un réseau est "fausse" par rapport à la sortie souhaitée. Des algorithmes d'optimisation comme la descente de gradient stochastique (SGD) ou ses variantes sont utilisés pour mettre à jour les poids et les biais.
Ce processus de mise à jour est connu sous le nom de rétropropagation. Il joue un rôle crucial dans l'entraînement d'un réseau neuronal à propagation avant.
Nœuds
Les nœuds sont de petites unités de traitement interconnectées au sein d'un réseau neuronal. Ils reçoivent des données et effectuent des opérations mathématiques pour produire des résultats qui sont transmis aux couches suivantes ou à la couche de sortie.
Bien qu'un seul nœud effectue des tâches et des calculs simples, le travail collectif de nombreux nœuds rend les réseaux neuronaux puissants. Lorsque les nœuds travaillent ensemble, ils peuvent reconnaître des motifs et fournir des solutions à des motifs complexes.
Vous voulez en savoir plus sur Logiciel de réseau de neurones artificiels ? Découvrez les produits Réseau de neurones artificiels.
Comment fonctionne un réseau neuronal à propagation avant ?
Un réseau neuronal à propagation avant fonctionne à travers la phase de propagation avant et la phase de rétropropagation.
La phase de propagation avant alimente les données d'entrée qui se propagent vers l'avant à travers le réseau. Sa somme pondérée des entrées est calculée et passée à travers une fonction d'activation, introduisant la non-linéarité dans le modèle. Le processus exact se poursuit jusqu'à ce que l'étape de sortie soit atteinte.
À l'étape de sortie, le réseau calcule la différence entre les sorties prédites et réelles. Cette erreur se propage à travers le réseau pour ajuster les poids, minimisant les erreurs futures. Cela résume la phase de rétropropagation.
Le réseau continue d'ajuster les poids pour minimiser les erreurs, l'aidant à apprendre et à s'améliorer au fil du temps. Le taux d'apprentissage décide de la quantité par laquelle les poids sont ajustés. De nombreuses entrées et sorties sont alimentées dans un réseau jusqu'à ce qu'il apprenne raisonnablement la relation entre les données d'entrée et de sortie.
Ce processus d'apprentissage répétitif implique de comparer la sortie du réseau à la sortie souhaitée et de mettre à jour les poids en conséquence.
Le saviez-vous ? Frank Rosenblatt a introduit le terme "correction d'erreur par rétropropagation" en 1962. Cependant, David E. Rumelhart et d'autres ont popularisé la méthode actuelle de descente de gradient stochastique.
Curieux de savoir comment les réseaux à propagation avant apprennent réellement ? Plongez dans la mécanique de la rétropropagation et de l'entraînement basé sur le gradient.
Réseaux neuronaux récurrents (RNN) vs. réseaux neuronaux à propagation avant
Les réseaux neuronaux récurrents, également connus sous le nom de réseaux neuronaux à rétroaction, sont dérivés des FNN. Les RNN se souviennent des données d'entrée, ce qui les rend adaptés aux problèmes d'apprentissage automatique (ML) impliquant des données séquentielles. Son algorithme de pointe pour les données séquentielles est utilisé par Siri d'Apple et la recherche vocale de Google.
Ces réseaux neuronaux peuvent facilement reconnaître des motifs dans des séquences de données, qui peuvent être sous forme de texte, de parole ou de séries temporelles. Une caractéristique remarquable des RNN est la mémoire de leur algorithme. Contrairement aux FNN, qui traitent chaque entrée indépendamment, les RNN prennent des informations des étapes précédentes pour améliorer le traitement.
Vous pouvez penser aux RNN comme à des personnes lisant un livre, utilisant le contexte des étapes précédentes pour traiter les données actuelles.
|
Catégorie |
Réseau neuronal à propagation avant |
Réseau neuronal à rétroaction |
|
Direction du signal |
Unidirectionnelle |
Unidirectionnelle/bidirectionnelle |
|
Temps d'opération |
Court |
Long |
|
Rétroaction par le signal de sortie |
Non |
Oui |
|
Complexité structurelle |
Simple |
Compliquée |
|
Temps de mémoire |
Court terme ou aucun |
Long terme |
|
Plages d'application en médecine |
Large |
Limitée |
|
Application |
Réseau de perceptron, réseau de rétropropagation, réseau de fonction de base radiale |
Réseau neuronal récurrent, réseau de Hopfield, machine de Boltzmann |
Les réseaux neuronaux à propagation avant sont bons pour les applications où les données d'entrée sont de taille fixe et n'ont pas de dépendances temporelles. Cependant, si l'ordre des points de données est crucial, les FNN ne fonctionneront pas pour de tels cas d'utilisation. Ils traitent chaque entrée indépendamment sans tenir compte du contexte de l'entrée précédente.
Par exemple, les FNN peuvent classer une image en différentes catégories en fonction des valeurs de pixels, mais ils ont du mal avec des tâches comme prédire le mot suivant dans une phrase car il n'y a pas de rétention de contexte des mots précédents.
En revanche, les réseaux neuronaux récurrents peuvent faire un meilleur travail ici. Ils peuvent modéliser des dépendances temporelles et traiter des séquences de longueurs variables. Par exemple, un réseau neuronal récurrent peut facilement prédire le mot suivant dans la phrase. La prédiction devient plus précise à mesure que chaque mot de la séquence est traité, capturant les dépendances temporelles existantes.
Pour résumer, s'il n'y a pas de rétroaction de la sortie vers les neurones du réseau, c'est un réseau neuronal à propagation avant. Cependant, s'il y a une rétroaction de la couche de sortie vers l'entrée des neurones (propres ou différents), c'est un réseau neuronal récurrent.
Avantages du réseau neuronal à propagation avant
Les réseaux neuronaux à propagation avant offrent plusieurs avantages aux utilisateurs, notamment :
- Capacités d'auto-apprentissage : Ces réseaux neuronaux apprennent de manière indépendante grâce à la rétropropagation. Ils ajustent les poids et d'autres paramètres pour produire le résultat souhaité, les aidant à s'adapter rapidement à de nouveaux ensembles de données.
- Vitesse : Les FNN peuvent être entraînés plus rapidement que d'autres modèles en raison de leur nature parallélisable, ce qui les rend efficaces pour gérer de grands ensembles de données.
- Classificateurs non linéaires : Les FNN sont des classificateurs non linéaires, ce qui signifie qu'ils peuvent mieux gérer des données complexes que d'autres modèles linéaires. Lorsque les ensembles de données contiennent plusieurs variables qui interagissent de manière non linéaire, les FNN seraient capables de comprendre plus précisément les informations contenues dans les ensembles de données.
Défis des réseaux neuronaux à propagation avant
Les réseaux neuronaux à propagation avant présentent certains défis pour ses utilisateurs, notamment :
- Incapacité à retenir l'information : Les FNN s'appuient uniquement sur les entrées actuelles et n'utilisent aucun contexte des traitements précédents. Ils ont du mal avec les données séquentielles, ce qui rend les RNN un choix approprié pour les utilisateurs qui nécessitent des dépendances temporelles.
- Sujets au surapprentissage : Lorsque les FNN traitent des données complexes, le réseau devient spécialisé dans les données d'entraînement. Il ne parvient pas à bien généraliser, ce qui rend difficile le travail avec de nouvelles données non vues.
- Complexité computationnelle : Lorsqu'il s'agit de grands ensembles de données, le processus d'entraînement nécessite plus de ressources computationnelles, ce qui le rend difficile pour les applications nécessitant un traitement en temps réel dans des environnements à ressources limitées.
- Réglage des hyperparamètres : Les FNN ont plusieurs hyperparamètres (taux d'apprentissage, taille de lot, fonctions d'activation, etc.) qui nécessitent un réglage minutieux pour atteindre des performances optimales.
- Interprétabilité : L'architecture complexe du réseau, qui est de nature boîte noire et haute dimension, rend difficile la compréhension de son processus de prise de décision.
- Dépendance aux données étiquetées : Les FNN offrent des performances satisfaisantes lorsqu'ils sont entraînés sur une quantité significative de données d'entraînement. Obtenir de grands ensembles de données et les étiqueter peut être un processus long et coûteux. Cela limite les applications des FNN dans des endroits où les données étiquetées ne sont pas facilement accessibles.
Explorez au-delà des FNN
Les réseaux neuronaux à propagation avant trouvent des applications dans de nombreux secteurs. Par exemple, ils sont utilisés dans la maintenance prédictive, aidant les industries à économiser sur les coûts et à prévenir les revers. À mesure que l'utilisation de l'IA et des modèles d'apprentissage profond continue d'augmenter, nous verrons probablement des applications plus sophistiquées des FNN dans un avenir prévisible.
Cependant, avec les FNN, nous avons simplement effleuré la surface de la technologie d'apprentissage profond. Il y a beaucoup plus à apprendre et à comprendre en ce qui concerne les modèles d'apprentissage profond.
En savoir plus sur l'apprentissage profond et comprendre comment les machines apprennent et progressent.
Édité par Monishka Agrawal

Sagar Joshi
Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.
