Analogie biologique.
La planche ci-dessus est tirée de la version française du livre de Santiago Ramon y Cajal, publiée en 1894 (lien ici vers la version numérisée à la BNF). Elle décrit cinq couches dans l’épaisseur de la substance grise (de 1 à 5: couche moléculaire; couche à petites cellules pyramidales; couche des grandes cellules pryramidales; couche polymorphe et enfin substance blanche.
Elle montre une organisation extrêmement structurée des neurones, et notamment la place majeure que prennent les voies de communications, les dendrites (signal entrant) et les axones (signaux sortants) par rapport aux noyaux, dans lesquels se déroulent le traitement du signal. La substance blanche, couche la plus profonde, ne contient que ces voies de communication, et constitue 60% du volume cérébrale (voir par exemple une IRM cérébrale).
Les neurones assurent la synthèse de l’information, ce qui rend impératif son échange dans le cadre d’un réseau structuré .
Analogie urbaine.
On peut imaginer un réseau de neurones comme un réseau de transport, comme ci-dessus. Les nœuds du réseau représentent des stations, et les connexions entre les nœuds représentent les voies qui relient ces stations, par lesquelles les échanges se réalisent. Dans un réseau de neurones, les nœuds sont des noyaux de neurones, les voies qui y arrivent sont des dendrites (signal entrant), celles qui en partent des axones (signal sortant).
Classification des réseaus de neurones logiques.
Les neurones logiques imitent le fonctionnement des neurones organiques (voir ici). Leur rôle est d’intégrer l’information qu’on leur fournit et d’émettre à nouveau de l’information.
Il fait la somme de toutes les entrées x~i~, en les pondérant d’un poids w~i~. La fonction de traitement génère un signal binaire en fonction du dépassement d’un seuil.
Les réseaux de neurones sont avant tout classés selon le flux de l’information en leur sein, et notamment en fonction de l’existence d’un flux unique (feed forward neural network) ou de boucles de rétroaction (Recurent Neural Network ou RNN) entre les divers couches de neurones. En 2017, le développement du concept d’attention conduisit à la création des Transformers, qui ont supplanté les RNNs, très complexes, dans certaines de leur applications, notamment les modèles de langages naturels. Enfin, les Generative Adversarial Networks ont permis l’essor récent de l’IA générative.
Perceptron unicouche.
C’est le modèle de réseau de neurone le plus simple. Il est composé d’un ensemble de données d’entrées (par exemple les pixels d’un capteur photo), qui envoie les valeurs xi à un neurone logique, qui déterminera si l’image en entrée est la lettre ‘E’. L’apprentissage se fera en ajustant les poids w de chaque capteurs, jusqu’à obtention d’un résultat satisfaisant (c’est à dire que le perceptron reconnaitra de manière constante la lettre pour laquelle il est entraîné). Les algorithmes utilisés sont des algorithmes de descente de gradient.
(Plus de détails sur le perceptron monocouche ici). Les usages du perception monocouche sont actuellement très limitées.
Perceptron multicouche (MultiLayer Perceptron, MLP).
Il s’agit d’empiler plusieurs couches de neurones, les neurones de la couche n+1 étant nourris par les informations des neurones de la couche n utilisant les informations de la couche n+1.
Il s’agit de la même structure que ci dessus, mais répétée. Chaque neurone i formels de la couche S^(1)^ est nourri par les données x~i, et fournit une valeur de sortie O^(1)^~i~. Chacune des i valeurs O^(1)^ nourrit les neurones de la couche I^(2)^, qui fourniront i valeurs de sortie O^(2)^. Cette structure peut être répétée jusqu’à obtention de l’architecture souhaitée.
Emploi des réseaux de neurones feed forward: Classification.
Les réseaux de neurones à propagation avant sont utilisés pour les tâches de classification et de régression, où les données d’entrée sont transformées en une sortie en utilisant des couches de neurones intermédiaires.
La classification consiste à prédire la classe ou l’étiquette d’un exemple d’entrée en fonction de caractéristiques ou de variables prédictives. En d’autres termes, la classification consiste à apprendre un modèle à partir de données d’entraînement qui peut être utilisé pour prédire la classe d’un nouvel exemple. Elle est utilisée dans un grand nombre de cas (détection de spam, reconnaissance d’image, …). L’apprentissage du modèle peut se faire de manière supervisée ou non supervisée, en fonction des données fournies.
-
Dans la classification supervisée, le modèle est entraîné sur un ensemble de données étiquetées, c’est-à-dire pour lesquelles les classes sont connues. Le modèle utilise ensuite ces données étiquetées pour prédire les classes de nouvelles données non étiquetées.
-
Dans la classification semi-supervisée, le modèle est entraîné sur un ensemble de données qui contient à la fois des données étiquetées et non étiquetées. Le modèle utilise ces données pour prédire les classes des données non étiquetées.
-
Dans la classification non supervisée, le modèle est entraîné sur un ensemble de données qui ne contient pas d’étiquettes de classe. Le modèle doit découvrir la structure sous-jacente des données pour diviser les données en groupes ou en clusters.
Emploi des réseaux de neurones feed forward: Régression.
la régression est une technique de modélisation statistique utilisée pour prédire une variable continue à partir de variables prédictives. Elle est largement utilisée en machine learning pour prédire des valeurs numériques et pour comprendre les relations entre les variables prédictives et la variable cible. Par exemple:
- Prédiction de prix immobiliers : La régression linéaire peut être utilisée pour prédire les prix immobiliers en utilisant des caractéristiques telles que la taille de la maison, le nombre de chambres, l’emplacement, etc.
- Prédiction de la consommation d’énergie : La régression polynomiale peut être utilisée pour prédire la consommation d’énergie en fonction des caractéristiques telles que la température extérieure, la taille de la maison, la ventilation, etc.
- Détection de fraude : La régression logistique peut être utilisée pour détecter la fraude en utilisant des caractéristiques telles que les transactions précédentes, les modèles de dépenses, etc.
- Prédiction de la santé : La régression Ridge ou la régression Lasso peuvent être utilisées pour prédire la santé d’une personne en fonction des caractéristiques telles que l’âge, le poids, la taille, l’indice de masse corporelle (IMC), etc.
Réseau de neurones avec boucle de rétroaction (Recurrent Neural Network, RNN).
Les réseaux de neurones avec boucles de rétroaction, également appelés réseaux récurrents, sont des modèles de réseaux de neurones qui peuvent prendre en compte les séquences de données. Contrairement aux réseaux de neurones classiques, qui ne peuvent traiter que des entrées indépendantes les unes des autres, les réseaux récurrents ont une mémoire interne qui leur permet de prendre en compte les entrées précédentes pour générer une sortie.
Le principe des réseaux récurrents est de permettre à l’information de circuler dans le réseau, en boucle, de manière à ce que la sortie dépende non seulement de l’entrée actuelle, mais également de l’état interne du réseau. Cette boucle de rétroaction permet au réseau de prendre en compte l’historique des entrées pour produire une sortie plus précise.
Ce sont des modèles qui sont utiles pour traiter des données séquentielles, par exemple des séquences temporelles. Par exemple, le temps de la journée J est largement déterminée par le temps de la journée J-1 et J-2. Ainsi, ces réseaux récurrents, en gardant en mémoire l’état des séquences précédentes, sont utiles pour les tâches qui nécessitent de prendre en compte l’historique des données, car ils sont capables de mémoriser des informations antérieures et de les utiliser pour générer des prédictions ou des sorties plus précises. Par exemple, les RNNs peuvent être utilisés pour prédire la prochaine lettre ou mot dans une phrase, ou pour prédire la prochaine valeur dans une série temporelle. Ainsi ils sont utilisés notamment le traitement du langage naturel, la reconnaissance de la parole, la traduction automatique, la prédiction de séries temporelles, la reconnaissance d’écriture manuscrite, la vision par ordinateur, la robotique, les jeux vidéo, etc.
Plusieurs classes constituent les RNNs:
- Les RNNs standards ou à état caché sont les plus simples des RNNs. Ils sont composés d’un réseau neuronal avec une boucle de rétroaction qui permet de propager l’information à travers les différentes étapes temporelles.
- Les LSTM (Long Short-Term Memory) sont des RNNs améliorés qui sont capables de traiter des séquences de données plus longues. Les LSTM ont une structure plus complexe que les RNNs standard, avec des portes d’entrée, des portes de sortie et des portes d’oubli qui permettent de contrôler le flux d’information dans le réseau.
- Les GRU (Gated Recurrent Unit) sont une autre variante de RNNs améliorée qui utilise une approche similaire aux LSTM, mais avec une structure plus simple. Les GRU utilisent deux portes (réinitialisation et mise à jour) pour contrôler le flux d’information à travers le réseau.
Les RNNs présentent des limites majeures, notamment la disparition de gradients. Les gradients qui se propagent à travers les couches de rétroaction peuvent devenir très petits à mesure que l’on remonte dans le temps, ce qui rend difficile l’apprentissage des dépendances à long terme. Ils sont par ailleurs sensibles à l’ordre des données d’entrée, ce qui signifie que les performances peuvent varier en fonction de l’ordre dans lequel les données sont présentée. Ils ont enfin besoin de données d’entrée régulières et bien structurées pour fonctionner correctement: si les données sont manquantes ou désordonnées, le modèle peut avoir du mal à apprendre les modèles dans les données.
Transformers.
Un transformer est un type de réseau de neurones artificiels utilisé pour le traitement du langage naturel (NLP). Il a été introduit par Vaswani et al. en 2017, et est devenu une architecture de référence pour de nombreuses tâches de traitement de langage naturel.
Le transformer n’utilise pas de réseaux récurrents, contrairement aux réseaux de neurones traditionnels utilisés pour le traitement de langage naturel. Cette approche les rend plus rapides et plus efficaces.
Le concept fondamental porte sur la notion d’attention, qui permet au réseau de se concentrer sur les parties les plus pertinentes de l’entrée et de négliger les parties moins importantes. Lorsque vous êtes en train de suivre une conversation animée entre plusieurs personnes dans une pièce bruyante, le cerveau utilise un mécanisme d’attention pour se concentrer sur la voix de la personne à qui vous parlez, tout en bloquant les bruits de fond et les autres conversations autour de vous. C’est comme si le cerveau appliquait un filtre pour accorder une attention sélective à une source d’informations importante tout en ignorant les distractions.
De manière similaire, le mécanisme d’attention dans les réseaux de neurones consiste à donner plus de poids à certaines parties de l’entrée en fonction de leur importance pour la tâche en cours. Par exemple, lors de la reconnaissance d’images, certaines parties de l’image peuvent être plus importantes pour identifier l’objet que d’autres parties, et le mécanisme d’attention peut être utilisé pour donner plus de poids à ces parties importantes.
Les usages principaux des Transformers sont le traitement du langage naturel (notamment traduction automatique).
Generative Adversial Networks.
Les réseaux de neurones générateurs (GANs – Generative Adversarial Networks) sont un type de modèle de réseaux de neurones artificiels utilisés pour générer de nouvelles données qui ressemblent à celles du monde réel. Les GANs sont constitués de deux parties distinctes : un générateur et un discriminant.
Le générateur est un réseau de neurones qui apprend à créer des données synthétiques qui ressemblent aux données réelles. Le générateur prend souvent une entrée de bruit aléatoire et produit une sortie qui peut être une image, un texte ou un son, selon l’application.
Le discriminant, quant à lui, est un réseau de neurones qui apprend à distinguer les données synthétiques produites par le générateur des données réelles. Le discriminant prend une entrée de données et produit une sortie qui indique si les données sont réelles ou synthétiques.
Les deux parties du GAN sont entraînées ensemble, en utilisant une technique appelée ‘adversarial training’. Le générateur est entraîné pour tromper le discriminant en produisant des données synthétiques qui sont de plus en plus difficiles à distinguer des données réelles. Le discriminant est entraîné pour devenir plus précis dans sa distinction entre les données synthétiques et les données réelles.
Au fur et à mesure de l’entraînement, le générateur devient de plus en plus habile à produire des données synthétiques qui sont difficiles à distinguer des données réelles. Les GANs ont été utilisés avec succès dans une variété d’applications, notamment la génération d’images, la génération de texte et la génération de sons.
Une réponse à “Réseau de neurones.”
[…] Réseau de neurones. […]