Un guide complet du réseau de neurones artificiels dans le machine learning.

Un guide complet du réseau de neurones artificiels dans le machine learning.

Ce tutoriel explique ce qu’est un réseau de neurones artificiel, comment fonctionne un ANN, la structure et les types d’ANN et l’architecture des réseaux de neurones :

Dans cette formation en Machine Learning pour tous, nous avons exploré tous les types de machine learning dans notre précédent tutoriel.

Dans ce tutoriel, nous abordons les différents algorithmes des réseaux neuronaux, ainsi que la comparaison entre le Machine Learning et les ANN. Avant d’apprendre comment les ANN contribuent à l’apprentissage automatique, nous devons savoir ce qu’est un réseau de neurones artificiel et connaître brièvement l’apprentissage automatique.

Allons en savoir plus sur l’apprentissage automatique et le réseau de neurones artificiels !

Qu’est-ce que le machine learning ?

L’apprentissage automatique est un domaine scientifique qui donne aux ordinateurs la capacité d’apprendre et d’agir sans être programmés explicitement. Il s’agit d’un sous-domaine de l’intelligence artificielle.

Qu’est-ce qu’un réseau de neurones artificiel ?

Le réseau neuronal artificiel (RNA) est un modèle non linéaire largement utilisé dans le domaine du machine learning et qui a un avenir prometteur dans le domaine de l’intelligence artificielle.

Le réseau de neurones artificiel est analogue à un réseau de neurones biologique. Un réseau neuronal biologique est une structure composée de milliards de neurones interconnectés dans un cerveau humain. Le cerveau humain comprend des neurones qui envoient des informations à diverses parties du corps en réponse à une action effectuée.

De même, un réseau de neurones artificiel (ANN) est un réseau informatique scientifique qui ressemble aux caractéristiques du cerveau humain. Les réseaux neuronaux artificiels peuvent être modélisés comme les neurones originaux du cerveau humain, c’est pourquoi les éléments de traitement des réseaux neuronaux artificiels sont appelés neurones artificiels.

Les ANN sont constitués d’un grand nombre de neurones interconnectés qui s’inspirent du fonctionnement d’un cerveau. Ces neurones ont la capacité d’apprendre, de généraliser les données d’apprentissage et de dériver des résultats à partir de données complexes.

Ces réseaux sont utilisés dans les domaines de la classification et de la prédiction, de l’identification de modèles et de tendances, des problèmes d’optimisation, etc. Les ANN apprennent à partir des données de formation (entrée et sortie cible connues) sans aucune programmation.

Le réseau neuronal appris est appelé un système expert capable d’analyser des informations et de répondre aux questions d’un domaine spécifique.

La définition formelle de l’ANN donnée par le Dr Robert Hecht-Nielson, inventeur d’un des premiers ordinateurs neuronaux, est la suivante :

« …un système informatique composé d’un certain nombre d’éléments de traitement simples, fortement interconnectés, qui traitent l’information par leur réponse dynamique aux entrées externes ».

Structure d’un réseau de neurones biologique

Un réseau neuronal biologique est constitué de :

  • Le soma : On l’appelle aussi le corps cellulaire. C’est là que se trouve le noyau de la cellule.
  • Dendrites : Ce sont des réseaux arborescents qui sont connectés au corps cellulaire. Elles sont constituées de la fibre nerveuse.
  • Axon : L’axone transporte le signal provenant du corps cellulaire. Il se divise en brins et chaque brin se termine par une structure en forme de bulbe appelée synapse. Les signaux électriques sont transmis entre la synapse et les dendrites.

Comparaison entre un neurone biologique et un neurone artificiel

Neurone naturelNeurone artificiel
Il est constitué de cellules.Les cellules correspondent aux neurones.
Il possède des dendrites qui sont des interconnexions entre les corps cellulaires.Les poids de connexion correspondent aux dendrites.
Soma reçoit l’entrée.Le soma correspond au poids net de l’entrée.
L’axone reçoit le signal.La sortie de l’ANN correspond à l’axone.
Comparaison entre un neurone biologique et un neurone artificiel

Caractéristiques des ANN

  • Non linéarité : Le mécanisme suivi dans les ANN pour la génération du signal d’entrée est non linéaire.
  • Apprentissage supervisé : L’entrée et la sortie sont mises en correspondance et l’ANN est entraîné avec l’ensemble de données d’entraînement.
  • Apprentissage non supervisé : La sortie cible n’est pas donnée, le réseau ANN apprend donc par lui-même en découvrant les caractéristiques des modèles d’entrée.
  • Nature adaptative : Les poids de connexion dans les nœuds de l’ANN sont capables de s’ajuster pour donner la sortie souhaitée.
  • Analogie avec les neurones biologiques : L’ANN a une structure et une fonctionnalité inspirées du cerveau humain.
  • Tolérance aux pannes : Ces réseaux sont très tolérants car l’information est distribuée en couches et le calcul se fait en temps réel.

Structure des ANN

Les réseaux de neurones artificiels sont des éléments de traitement qui se présentent sous la forme d’algorithmes ou de dispositifs matériels calqués sur la structure neuronale du cortex cérébral du cerveau humain.

Ces réseaux sont aussi simplement appelés réseaux neuronaux. Le réseau neuronal est formé de nombreuses couches. Les couches multiples qui sont interconnectées sont souvent appelées « Perceptron multicouche ». Les neurones d’une couche sont appelés « nœuds ». Ces nœuds ont une « fonction d’activation ».

L’ANN comporte 3 couches principales :

  • La couche d’entrée : Les modèles d’entrée sont introduits dans les couches d’entrée. Il y a une couche d’entrée.
  • Couches cachées : Il peut y avoir une ou plusieurs couches cachées. Le traitement qui a lieu dans les couches internes est appelé « couches cachées ». Les couches cachées calculent la sortie sur la base des « poids » qui sont la « somme des connexions synaptiques pondérées ». Les couches cachées affinent l’entrée en supprimant les informations redondantes et envoient les informations à la couche cachée suivante pour un traitement ultérieur.
  • Couche de sortie : Cette couche cachée se connecte à la « couche de sortie » où la sortie est affichée.

Fonction d’activation

La fonction d’activation est un état interne d’un neurone. C’est une fonction de l’entrée que le neurone reçoit. La fonction d’activation est utilisée pour convertir le signal d’entrée sur le nœud de l’ANN en un signal de sortie.

Qu’est-ce qu’un neurone artificiel ?

Un réseau de neurones artificiels est constitué d’éléments de traitement hautement interconnectés appelés nœuds ou neurones.

Ces neurones fonctionnent en parallèle et sont organisés en une architecture. Les nœuds sont reliés les uns aux autres par des liens de connexion. Chaque neurone porte un poids qui contient des informations sur le signal d’entrée.

Comment fonctionne un neurone artificiel ?

Un neurone artificiel reçoit une entrée. Ces entrées ont un poids appelé « synapse ». Ces neurones (également appelés nœuds) ont une « fonction d’activation ». Cette fonction d’activation travaille sur l’entrée et la traite pour donner une sortie.

La somme pondérée des entrées devient un signal d’entrée pour la fonction d’activation afin de produire une sortie. Ces poids d’entrée sont réglables afin que le réseau neuronal puisse ajuster ses paramètres pour obtenir la sortie souhaitée.

Les quelques fonctions d’activation courantes utilisées dans les réseaux de neurones artificiels sont les suivantes :

  1. Fonction d’identité : Elle peut être définie comme f(x) = x pour toutes les valeurs de x. Il s’agit d’une fonction linéaire où la sortie est identique à l’entrée.
  2. Fonction à pas binaire : Cette fonction est utilisée dans les réseaux à couche unique pour convertir l’entrée du réseau en sortie. La sortie est binaire, c’est-à-dire 0 ou 1. Le t représente la valeur de seuil.
  3. Fonction à pas bipolaire : La fonction de pas bipolaire a des sorties bipolaires (+1 ou -1) pour l’entrée nette. Le T représente la valeur de seuil.
  4. Fonction Sigmoïdale : Elle est utilisée dans les réseaux de rétropropagation. Elle est de deux types : La fonction Sigmoïde binaire : Elle est aussi appelée fonction sigmoïde unipolaire ou fonction sigmoïde logistique. La plage de la fonction sigmoïde est de 0 à 1. Fonction sigmoïde bipolaire : La fonction sigmoïde bipolaire s’étend de -1 à +1. Elle est similaire à la fonction tangente hyperbolique.
  5. RampFunction : La somme pondérée des entrées signifie le « produit du poids de l’entrée et de la valeur de l’entrée » additionné pour toutes les entrées.

Modèles de base des ANN

Les modèles de réseaux de neurones artificiels se composent de 3 entités :

  • Les poids ou les connexions synaptiques.
  • la règle d’apprentissage utilisée pour ajuster les poids
  • Les fonctions d’activation du neurone

Architecture des réseaux neuronaux

Dans un réseau neuronal artificiel, les neurones sont interconnectés et la sortie de chaque neurone est reliée au neurone suivant par des poids. L’architecture de ces interconnexions est importante dans un ANN. Cet agencement se présente sous la forme de couches et la connexion entre les couches et au sein de la couche constitue l’architecture du réseau neuronal.

Les architectures de réseau les plus connues sont les suivantes :

  • le réseau à une couche de type feed-forward
  • Réseau multicouche de type feed-forward
  • Nœud unique avec sa propre rétroaction
  • Réseau récurrent à couche unique
  • Réseau récurrent multicouche

Examinons chacun de ces réseaux en détail.

Réseau à simple couche à action directe (Feed-Forward)

Une couche est un réseau formé de neurones. Ces neurones sont connectés aux autres neurones de la couche suivante. Pour une couche unique, il n’y a que les couches d’entrée et de sortie. La couche d’entrée est reliée aux nœuds de la couche de sortie par des poids.

Tous les nœuds d’entrée sont connectés à chacun des nœuds de sortie. Le terme « feed-forward » signifie qu’aucune rétroaction n’est envoyée de la couche de sortie à la couche d’entrée. Cela forme un réseau feed-forward à une seule couche.

Réseau feed-forward multicouche

Le réseau multicouche se compose d’une ou plusieurs couches entre l’entrée et la sortie. La couche d’entrée reçoit simplement un signal et le met en mémoire tampon, tandis que la couche de sortie affiche la sortie. Les couches situées entre l’entrée et la sortie sont appelées couches cachées.

Les couches cachées ne sont pas en contact avec l’environnement externe. Avec un plus grand nombre de couches cachées, la réponse en sortie est plus efficace. Les nœuds de la couche précédente sont connectés à chaque nœud de la couche suivante.

Comme il n’y a pas de couche de sortie connectée aux couches d’entrée ou cachées, il s’agit d’un réseau multicouche à action directe.

Noeud unique avec sa propre rétroaction

Les réseaux dans lesquels la sortie de la couche de sortie est renvoyée comme entrée à la couche d’entrée ou aux autres couches cachées sont appelés réseaux à rétroaction. Dans les systèmes à rétroaction à nœud unique, il y a une seule couche d’entrée où la sortie est redirigée comme rétroaction.

Réseau récurrent à couche unique

Dans un réseau récurrent à couche unique, le réseau de rétroaction forme une boucle fermée. Dans ce modèle, un seul neurone reçoit une rétroaction à lui-même ou aux autres neurones du réseau ou aux deux.

Réseau récurrent multicouche

Dans un réseau récurrent multicouche, il existe plusieurs couches cachées et la sortie est redirigée vers les neurones des couches précédentes et vers d’autres neurones des mêmes couches ou vers le même neurone.

Exemple de réseau de neurones artificiel
Prenons le réseau ci-dessous avec l’entrée donnée et calculons le neurone d’entrée net et obtenons la sortie du neurone Y avec une fonction d’activation sigmoïdale binaire.

Comparaison entre machine learning et ANN

Machine LearningRéseau de neurones artificiel
L’apprentissage automatique apprend à partir de données d’entrée et découvre des modèles de données de sortie intéressants.Les ANN sont utilisés dans les algorithmes de machine learning pour former le système en utilisant des synapses, des nœuds et des liens de connexion.
L’apprentissage automatique est un sous-ensemble du domaine de l’intelligence artificielle.Les ANN font également partie du domaine scientifique de l’intelligence artificielle et constituent un sous-ensemble de l’apprentissage automatique.
Les algorithmes ML apprennent à partir des données fournies à l’algorithme dans le but de prendre des décisions. Certains de ces algorithmes sont la classification. Le clustering, l’exploration de données d’associationL’ANN est une science d’apprentissage profond qui analyse les données avec des structures logiques comme le font les humains.
Les algorithmes ML ont des capacités d’auto-apprentissage mais nécessitent une intervention humaine si le résultat est inexact.Les algorithmes ANN ont la capacité de s’ajuster à l’aide des poids de connexion si le résultat s’avère erroné.
Les algorithmes ML nécessitent des compétences en programmation, des connaissances en structure de données et en bases de données big data.Les ANN nécessitent également de solides compétences en mathématiques, en probabilité, en structures de données, etc.
Les programmes ML peuvent prédire le résultat d’un ensemble de données apprises et s’adapter aux nouvelles données.L’ANN est appliqué dans le domaine de la finance, de l’apprentissage automatique et de l’intelligence artificielle.
Le ML est appliqué au commerce électronique, aux soins de santé, aux recommandations de produits, etc.

Réseaux neuronaux et Deep Learning

Les réseaux d’apprentissage profond contiennent plusieurs couches cachées entre l’entrée et la sortie. Ces réseaux se distinguent par la profondeur des couches cachées qu’ils contiennent. Les données d’entrée passent par plusieurs étapes avant que la sortie ne soit affichée.

Ces réseaux diffèrent des anciens réseaux nationaux tels que le perceptron, qui ne possédaient qu’une seule couche cachée et étaient appelés réseaux peu profonds. Chaque couche cachée dans le réseau d’apprentissage profond entraîne les données avec certaines caractéristiques basées sur la sortie de la couche précédente.

Les données passent par de nombreuses couches de fonctions non linéaires au niveau du nœud. Plus le nombre de couches est élevé, plus les caractéristiques complexes peuvent être reconnues, car la couche suivante effectue l’agrégation des caractéristiques des couches précédentes.

Les couches cachées multiples dans le réseau augmentent la complexité et l’abstraction. Cette profondeur est également appelée hiérarchie de caractéristiques. Pour cette raison, les réseaux d’apprentissage profond sont capables de traiter des données de haute dimension.

Parmi les exemples de réseaux d’apprentissage profond, citons le regroupement de millions d’images en fonction de leurs caractéristiques et de leurs similitudes, le filtrage de messages électroniques, l’application de filtres aux messages dans la gestion de la relation client, l’identification de la parole, etc.

Les réseaux d’apprentissage profond peuvent être formés sur des ensembles de données étiquetées et non étiquetées. Pour l’ensemble des données non étiquetées, les réseaux tels que les machines de sélection de Boltzmann effectuent une extraction automatique des caractéristiques.

Le réseau apprend automatiquement en analysant l’entrée par échantillonnage et en minimisant la différence entre la sortie et la distribution de l’entrée. Le réseau neuronal trouve ici des corrélations entre les caractéristiques et les résultats.

Les réseaux d’apprentissage profond formés sur des données étiquetées peuvent être appliqués à des données non structurées. Plus le réseau reçoit de données de formation, plus il devient précis.

La capacité du réseau à apprendre à partir de données non étiquetées est un avantage par rapport aux autres algorithmes d’apprentissage.

Applications des réseaux de neurones artificiels

Les réseaux neuronaux ont été utilisés avec succès dans une variété de solutions, comme indiqué ci-dessous.

  1. Reconnaissance des formes : Les réseaux neuronaux sont utilisés dans la reconnaissance des formes, la reconnaissance d’images, la visualisation d’images, l’écriture manuscrite, la parole et d’autres tâches similaires.
  2. Problèmes d’optimisation : Les problèmes tels que la recherche de l’itinéraire le plus court, l’ordonnancement et la fabrication, où les contraintes du problème doivent être satisfaites et où des solutions optimales doivent être obtenues, utilisent les ANN.
  3. Prévision : Les NN peuvent prédire l’issue de situations en analysant les tendances passées. Les réseaux neuronaux sont utilisés dans des applications telles que les banques, les marchés boursiers et les prévisions météorologiques.
  4. Systèmes de contrôle : Les systèmes de contrôle tels que les produits informatiques, les produits chimiques et la robotique utilisent les réseaux neuronaux.

Limites des réseaux neuronaux

Voici quelques-uns des inconvénients des réseaux neuronaux.

  • Ces réseaux sont des boîtes noires pour l’utilisateur, qui n’a aucun rôle à jouer, si ce n’est celui d’alimenter l’entrée et d’observer la sortie. L’utilisateur n’est pas au courant de la formation qui se déroule dans l’algorithme.
  • Ces algorithmes sont plutôt lents et nécessitent de nombreuses itérations (également appelées époques) pour donner des résultats précis. Cela est dû au fait que le CPU calcule les poids, la fonction d’activation de chaque nœud séparément, ce qui fait qu’il consomme du temps et des ressources. Cela pose également un problème avec une grande quantité de données.

Conclusion

Dans ce tutoriel, nous avons appris ce qu’est un réseau de neurones artificiel, son analogie avec les neurones biologiques et les types de réseaux de neurones.

Le réseau neuronal artificiel relève du machine learning. Il s’agit d’un modèle de calcul composé de plusieurs nœuds de neurones. Ces nœuds reçoivent des entrées, les traitent à l’aide d’une fonction d’activation et transmettent la sortie aux couches suivantes.

Les entrées sont associées aux poids des liens de connexion appelés synapses. Un ANN de base se compose d’une couche d’entrée, de poids, d’une fonction d’activation, d’une couche cachée et d’une couche de sortie.

Les fonctions d’activation sont utilisées pour convertir l’entrée en sortie. Certaines d’entre elles sont binaires, bipolaires, sigmoïdales et une fonction de rampe. Il existe différents types de réseaux ANN, tels que les réseaux à simple couche, les réseaux multicouches, les réseaux récurrents, etc. en fonction du nombre de couches cachées et des mécanismes de rétroaction.

Les ANN avec de nombreuses couches cachées entre l’entrée et la sortie forment un réseau d’apprentissage profond. Les réseaux d’apprentissage profond ont une complexité et un niveau d’abstraction élevés qui les rendent capables de calculer des données de haute dimension avec des milliers de paramètres.

Les ANN sont utilisés dans le domaine de la prévision, du traitement de l’image, des systèmes de contrôle, etc. Ils ont été appliqués avec succès comme solution à toute une série de problèmes scientifiques.

Laisser un commentaire