mardi 29 juin 2021

Réseaux de Neurones Artificiels (ANN) en Intelligence Artificielle




Les réseaux de neurones artificiels sont basés sur le fonctionnement de réseaux de neurones biologiques. Les neurones que nous avons tous dans notre cerveau sont constitués de dendrites, du soma et de l'axone. Les dendrites sont responsables de la capture des impulsions nerveuses émises par d'autres neurones. Ces impulsions sont traitées dans le soma et transmises par l'axone qui émet une impulsion nerveuse vers les neurones voisins.


Un réseau neuronal artificiel est un groupe interconnecté de nœuds similaire au vaste réseau de neurones dans un cerveau biologique. Chaque nœud circulaire représente un neurone artificiel et chaque flèche représente une connexion entre la sortie d'un neurone et l'entrée d'un autre.

Depuis les années 1940, les scientifiques ont essayé d'imiter ce comportement du cerveau afin de reproduire des compétences supérieures dans les systèmes informatiques. Le résultat a été des réseaux de neurones artificiels, appelés ARN ou ANN (en anglais) : ils font partie de l'intelligence artificielle et des systèmes intelligents.

Les réseaux de neurones existent depuis les années 50. Cependant, la faible puissance des équipements à cette époque et le manque d'algorithmes permettant aux réseaux d'apprendre efficacement les ont empêchés d'être utilisés. C'est plus tard, grâce à la création de l'algorithme de Backpropagation, à l'utilisation de GPU (Graphics Processing Unit) qui permettent de grandes optimisations pour ce type de calculs et au plus grand nombre de données disponibles pour la formation, que les réseaux de neurones ont refait surface. Et gagner en importance dans divers domaines. Grâce à ces améliorations, l'apparition du Deep Learning a été possible, qui repose sur l'utilisation de réseaux de neurones profonds, c'est-à-dire de réseaux formés d'un grand nombre de couches pour des tâches complexes.


Objectif des réseaux de neurones

L'objectif qui donne naissance aux réseaux de neurones artificiels est de construire un modèle capable de reproduire la méthode d'apprentissage du cerveau humain. Les cellules en charge de cet apprentissage sont les neurones interconnectés entre eux à travers des réseaux complexes. Les réseaux de neurones actuels contiennent généralement de quelques milliers à quelques millions d'unités neuronales.

L'objectif principal de ce modèle est d'apprendre en se modifiant automatiquement de manière à pouvoir effectuer des tâches complexes qui ne pourraient pas être effectuées au moyen de la programmation classique basée sur des règles. De cette manière, des fonctions qui ne pouvaient être exécutées que par des personnes au départ peuvent être automatisées.


Comment fonctionnent les réseaux de neurones


Le fonctionnement des réseaux est similaire à celui du cerveau humain. Les réseaux reçoivent une série de valeurs d'entrée et chacune de ces entrées atteint un nœud appelé neurone. Les neurones du réseau sont à leur tour regroupés en couches qui forment le réseau neuronal. Chacun des neurones du réseau a à son tour un poids, une valeur numérique, avec laquelle il modifie l'entrée reçue. Les nouvelles valeurs obtenues quittent les neurones et continuent leur chemin à travers le réseau.

De la même manière que notre cerveau est constitué de neurones interconnectés, un réseau de neurones artificiels est constitué de neurones artificiels connectés les uns aux autres et regroupés à différents niveaux que nous appelons couches.

Une couche est un ensemble de neurones dont les entrées proviennent d'une couche précédente – ou des données d'entrée dans le cas de la première couche – et dont les sorties sont l'entrée d'une couche ultérieure.


Les neurones de la première couche reçoivent en entrée les données réelles qui alimentent le réseau neuronal. C'est pourquoi la première couche est connue sous le nom de couche d'entrée. La sortie de la dernière couche est le résultat visible du réseau, la dernière couche est donc appelée couche de sortie. Les couches entre la couche d'entrée et la couche de sortie sont appelées couches cachées car nous ne connaissons pas à la fois les valeurs d'entrée et de sortie.

Dans le cas des neurones artificiels, la somme des entrées multipliée par leurs poids associés détermine “l'influx nerveux” que le neurone reçoit. Cette valeur est traitée à l'intérieur de la cellule au moyen d'une fonction d'activation qui renvoie une valeur envoyée en sortie du neurone.


Un réseau de neurones, par conséquent, est toujours composé d'une couche d'entrée, une couche de sortie – s'il n'y a qu'une seule couche dans le réseau de neurones, la couche d'entrée correspond à la couche de sortie – et elle peut contenir 0 ou plusieurs couches cachées. Le concept de Deep Learning est né de l'utilisation d'un grand nombre de couches cachées dans les réseaux.

Une fois la fin du réseau atteinte, une sortie est obtenue qui sera la prédiction calculée par le réseau. Plus le réseau a de couches et plus il est complexe, plus les fonctions qu'il peut exécuter seront également complexes.

L'apprentissage en profondeur de l'intelligence artificielle

L'apprentissage en profondeur est un domaine appartenant à l'intelligence artificielle dont l'objectif est l'étude et la construction de systèmes informatiques capables “d'apprendre” par l'expérience, légèrement inspirés de certains principes du fonctionnement du cerveau biologique.


Dans le contexte de l'intelligence artificielle, dire qu'une machine “apprend par elle-même” se réfère simplement à l'utilisation de techniques – par exemple, le deep learning – qui permettent au système de généraliser son fonctionnement à des cas inédits, et automatiquement, pas besoin de règles prédéfinies.

En général, ces systèmes doivent être formés à partir d'exemples connus, de la même manière qu'un jeune enfant apprend à reconnaître des objets ou des sons autour de lui (il montre un arbre et on lui dit "c'est un arbre" ; ou il entend le bruit d'un train et on lui dit "c'est un train").

Ce type d'apprentissage automatique est appelé “profond” car il a une structure hiérarchique qui extrait différents niveaux de détail des données en question. Par exemple, lors de la reconnaissance d'image, des bords sont extraits qui, lorsqu'ils sont combinés, permettent de détecter des contours, qui à leur tour permettent de reconnaître différentes parties de l'objet, pour finalement déterminer son identité.

Avant de pouvoir être utilisé, un système d'apprentissage en profondeur doit être “formé” à partir d'un grand nombre d'exemples connus – en principe, plus il y a d'exemples, mieux il fonctionnera –. Ensuite, on lui “apprend” des images de différentes voitures – différents modèles, couleurs, tailles, etc. – indiquant que ce sont tous des véhicules.

Avec ces exemples, le système d'apprentissage en profondeur ajuste ses paramètres internes de telle sorte que s'il est présenté avec une nouvelle image d'une voiture différente, le système est également capable de la reconnaître en tant que telle.

L'apprentissage en profondeur est présent de manière très large – et dans certains cas, inimaginable – dans notre vie quotidienne. Les prédicteurs de mots sur les téléphones mobiles, les assistants virtuels comme Apple Siri, la traduction de texte entre différentes langues et la reconnaissance automatique des objets et des personnes sur les photos sur les réseaux sociaux sont des exemples bien connus. D'autres domaines à fort potentiel d'utilisation de l'intelligence artificielle comprennent l'analyse de données génomiques complexes pour, par exemple, la détection de tumeurs cérébrales et le développement de traitements appropriés.

Entraînement des réseaux neuronaux – Backpropagation ou Rétropropagation

Pour qu'un réseau de neurones remplisse les fonctions souhaitées, il est nécessaire de le former. L'entraînement d'un réseau de neurones se fait en modifiant les poids de ses neurones pour qu'il parvienne à extraire les résultats souhaités. Pour cela, il s'agit d'introduire des données d'apprentissage dans le réseau, en fonction du résultat obtenu, les poids des neurones sont modifiés en fonction de l'erreur obtenue et en fonction de la contribution de chaque neurone audit résultat. Cette méthode est connue sous le nom de Backpropagation ou rétropropagation. Avec cette méthode, il est possible pour le réseau d'apprendre, de réaliser un modèle capable d'obtenir des résultats très réussis même avec des données très différentes de celles qui ont été utilisées lors de sa formation.


Bien que les applications des réseaux de neurones semblent très généreuses, elles font l'objet d'un entraînement intense afin de pouvoir être appliquées correctement. Autrement dit, il est nécessaire de partir d'un ensemble de données d'apprentissage suffisamment représentatif.

Par exemple, si nous voulons résoudre un problème de classification de textes par humeurs, nous devrons d'abord alimenter le réseau de neurones d'un ensemble de données avec du texte préalablement classé. Plus le réseau de neurones est complexe – plus le nombre de neurones est grand – plus la quantité de données d'entraînement nécessaires pour l'entraîner est grande.

Comme dans le cerveau humain, l'une des caractéristiques les plus importantes des réseaux de neurones est leur pouvoir “d'apprentissage”. Selon le type d'apprentissage, ces algorithmes sont classés en trois grands groupes : supervisé, non supervisé et renforcé.

Dans l'apprentissage supervisé, les données d'entrée sont “étiquetées” pour aider les algorithmes à évaluer correctement les données et à attribuer une valeur de sortie. C'est une méthode d'apprentissage largement utilisée pour les classifications et les régressions.

L'apprentissage non supervisé est basé sur le fait de ne pas étiqueter les données d'entrée et de laisser l'algorithme trouver des modèles de variantes et des corrélations. Il est utilisé lorsque nous voulons simplement découvrir ce qui se cache derrière les données que nous ne voyons pas, par exemple pour le profilage ou le “clustering” de clients.

L'apprentissage renforcé est basé sur des essais et des erreurs. Un exemple, pour l'expliquer de manière simple, serait un jeu vidéo. Rappelant le célèbre jeu mobile de serpent, le serpent a des mouvements limités qu'il peut effectuer (haut, bas, gauche et droite). Pour qu'il apprenne, à chaque fois qu'il entre en collision avec un mur ou avec lui-même, il est pénalisé, et chaque fois qu'il mange, il est récompensé. Au début, le serpent se déplacera de manière totalement aléatoire en se heurtant à lui-même ou avec le mur très fréquemment, après avoir joué à des millions de parties, on peut voir comment le serpent a appris à jouer et il lui faut très longtemps pour faire des erreurs.


Fonctions du réseau neuronal

La portée des fonctions des réseaux de neurones est très large, en raison de leur fonctionnement, ils sont capables d'approcher n'importe quelle fonction existante avec une formation suffisante. Les réseaux de neurones sont principalement utilisés pour les tâches de prédiction et de classification. Son champ d'action est large et très utile aujourd'hui.

Les ANN ont été appliqués à un nombre croissant de problèmes de la vie réelle et d'une complexité considérable, où leur plus grand avantage est de résoudre des problèmes assez complexes pour la technologie actuelle, de traiter des problèmes qui n'ont pas de solution algorithmique ou dont la solution algorithmique est trop complexe à trouver.

En général, comme ils sont similaires à ceux du cerveau humain, les ANN sont bien nommés car ils sont bons pour résoudre des problèmes que les humains peuvent résoudre mais pas les ordinateurs. Dans tous les cas, l'humain a la capacité de reconnaître des modèles, mais la capacité des réseaux neuronaux n'est pas affectée par la fatigue, les conditions de travail, l'état émotionnel et les compensations.


Premier réseau de neurones artificiels fonctionnant avec la lumière

Des scientifiques des universités de Münster (Allemagne), d'Oxford et d'Exeter (Royaume-Uni), dont l'article a été publié dans Nature en mai 2019, ont créé un réseau de neurones artificiels (ANN) qui fonctionne avec des impulsions lumineuses : il stocke et traite des informations de la même manière que le cerveau humain. Titre original : “All-optical spiking neurosynaptic networks with self-learning” (“Réseaux neurosynaptiques à pointage tout optique avec auto-apprentissage”).

Imitant le cerveau


Un neurone biologique peut recevoir environ 10.000 entrées et envoyer sa sortie à plusieurs centaines de neurones en même temps. Chaque cerveau humain contient cent mille milliards de neurones et cent milliards de synapses. Les neurones artificiels visent à se rapprocher le plus possible de cette capacité biologique pour augmenter l'efficacité des ordinateurs dans le traitement des données.

Ce qui a été réalisé jusqu'à présent, c'est la formation d'un réseau de neurones artificiels pour effectuer une tâche, telle que la reconnaissance d'un modèle dans la dynamique synaptique, et l'amener à utiliser ce modèle pour envoyer les informations à d'autres unités du réseau de neurones artificiels.

Les réseaux de neurones ont été utilisés jusqu'à présent pour résoudre certaines fonctions, comme la vision par ordinateur ou la reconnaissance vocale, mais ils n'ont pas pu développer leur plein potentiel en raison de l'architecture des ordinateurs.

En ayant un ordinateur et une mémoire séparés les uns des autres, les ordinateurs diffèrent considérablement du cerveau humain, qui traite et stocke les informations au même endroit – les synapses –. Par conséquent, il est difficile d'implémenter de nombreux neurones et synapses dans les ordinateurs pour effectuer des tâches plus complexes.

Synapses optiques

C'est la difficulté que la création de réseaux de neurones basés sur la lumière a résolue : elle encode les données en photons – les particules de lumière –, qui se déplacent à grande vitesse à travers les matériaux optiques sans générer beaucoup de chaleur. En outre, ils peuvent utiliser différentes couleurs pour envoyer simultanément de grandes quantités d'informations.

Étant basé sur la lumière et non sur les électrons, comme dans les réseaux de neurones traditionnels, ils peuvent traiter les données beaucoup plus rapidement et se rapprocher considérablement du fonctionnement du cerveau biologique.

Les chercheurs ont également pu vérifier que ce réseau est capable “d'apprendre” des informations et de les utiliser pour calculer et reconnaître des modèles, tout comme le cerveau le fait.

L'invention a résolu une difficulté technique non moins pertinente : les impulsions lumineuses ne communiquent pas entre elles, processus nécessaire pour émuler la synapse.

Cette difficulté pourrait être résolue en convertissant les signaux optiques en signaux électriques, de sorte que la synapse soit produite, puis en les reconvertissant en lumière pour les transmettre à une vitesse plus élevée.

Mais cette solution a été écartée car la conversion et la reconversion des signaux lumineux en signaux électriques augmentent la complexité du processus et la consommation d'énergie, tout en réduisant le flux d'informations.

Les auteurs de cette recherche sont donc allés plus loin : pour réaliser la synapse entre photons, ils ont fabriqué le réseau de neurones artificiels sur un matériau à changement de phase chauffé par une impulsion laser. Ce matériau de déphasage est déjà utilisé, par exemple, sur DVD-RW (enregistrable).

4 neurones, 60 synapses

Ces matériaux à changement de phase se caractérisent par le fait que leurs propriétés optiques changent radicalement, selon qu'ils sont cristallins, lorsque leurs atomes sont disposés de manière régulière, ou amorphes, lorsque leurs atomes sont disposés de manière irrégulière.

Ce déphasage peut être activé par la lumière si un laser chauffe le matériau. Lorsque ce matériau change de phase, il imite les synapses et reproduit la fonction cérébrale, sans qu'il soit nécessaire de convertir la lumière en électricité à tout moment.


À l'aide d'un matériau à changement de phase, l'équipe a construit une puce entièrement optique comprenant quatre neurones artificiels et 60 synapses. L'équipe a testé sa puce en utilisant deux algorithmes d'apprentissage ANN établis – apprentissage supervisé et non supervisé – pour entraîner leur réseau à reconnaître des images de pixels en noir et blanc sur une grille 3 × 5.

Ce système a permis de franchir une étape importante vers la création de matériel qui se comporte de la même manière que les neurones et les synapses du cerveau et qui peut également fonctionner sur des tâches du monde réel.


Identifier les cellules cancéreuses 

En travaillant avec des photons plutôt qu'avec des électrons, les chercheurs peuvent tirer pleinement parti du potentiel connu des technologies optiques, non seulement pour transférer des données, comme cela a été le cas jusqu'à présent, mais aussi pour les traiter et les stocker en un seul endroit.

Selon les chercheurs, un exemple très spécifique de cette technologie est que, avec l'aide de ce réseau, les cellules cancéreuses pourraient être identifiées automatiquement. Cependant, il reste encore du travail à faire avant que ces applications ne deviennent réalité.

Ils doivent augmenter le nombre de neurones et de synapses artificiels, ainsi que la profondeur des réseaux de neurones, pour réaliser des applications significatives. Ceci serait réalisé, par exemple, avec des puces optiques fabriquées avec la technologie du silicium.


Zone d'application

Identification des systèmes. Son objectif est d'obtenir le modèle mathématique linéaire ou non linéaire d'un système dynamique à partir de données expérimentales. Ce modèle doit reproduire avec une précision suffisante les caractéristiques dynamiques du procédé étudié.

Système. C'est toute réalité dans laquelle des variables de différents types interagissent pour produire des signaux observables.

Les signaux observables sont appelés : la sortie du système et les signaux qui peuvent être librement manipulés sont appelés : les entrées du système et celles qui entrent dans le système de manière aléatoire et ne peuvent pas être contrôlées sont appelées des perturbations.

Contrôle de processus. Le contrôle de processus tente de maintenir, au moyen d'un système automatique, les principales variables d'un processus à des valeurs proches de celles souhaitées malgré d'éventuelles perturbations.

Gestion des ressources naturelles. C'est l'activité de la société humaine visant à satisfaire ses besoins grâce à l'utilisation des ressources naturelles. La gestion de nature rationnelle est caractéristique de l'économie intensive, qui se développe sur la base du progrès scientifique et technologique et d'une bonne organisation du travail avec une productivité élevée.

Chimie quantique. C'est une science interdisciplinaire – Physique, Chimie, Informatique, Mathématiques Appliquées – qui étudie, à l'échelle atomique et subatomique, la connaissance des liaisons et des réactions chimiques entre atomes et molécules. Cet objectif est atteint grâce à l'utilisation des principes de la mécanique quantique.

La reconnaissance de formes. Identification des cibles radar. Simulation de centrales électriques. Détection d'explosifs. Reconnaissance faciale, classification des signaux, reconnaissance d'objets. Reconnaissance de séquence – geste, voix –. Reconnaissance de textes manuscrits. Reconnaissance de la parole.

Applications financières. Par exemple, les systèmes de trading automatisés – trading algorithmique –, l'exploration de données ou la découverte de connaissances dans des bases de données, “KDD”.

Algorithmes génétiques (GA). Un autre type spécial de réseaux de neurones artificiels a été appliqué en conjonction avec des algorithmes génétiques pour créer des contrôleurs pour les robots. La discipline qui traite de l'évolution des réseaux de neurones s'appelle la robotique évolutive.

Un algorithme est une série d'étapes organisées décrivant le processus à suivre pour résoudre un problème spécifique. Un algorithme génétique est une technique de programmation inspirée de la reproduction d'êtres vivants et qui imite l'évolution biologique comme stratégie pour résoudre des problèmes d'optimisation.

Traduction automatique neuronale. Il utilise une nouvelle génération de systèmes d'apprentissage automatique, appelés réseaux de neurones profonds, qui utilisent des représentations internes complexes pour apprendre à effectuer des tâches en extrayant des régularités à partir de données. Les données sont de grandes quantités de textes originaux et traduits, et la tâche à accomplir est de prédire la traduction à partir de la phrase originale. Ceci est traité et transformé en une représentation abstraite indépendante de la langue que le système a apprise pendant la formation. À partir de cette représentation, la phrase traduite est générée en tenant compte non seulement du contenu de l'original, mais également des régularités et des conventions d'utilisation de la langue cible.

Prévention du spam par e-mail (courrier indésirable). L'intelligence artificielle et l'apprentissage automatique ont simplifié la communication par e-mail. Au cours de la dernière décennie, les serveurs de messagerie ont mis en œuvre des algorithmes de détection de spam efficaces pour identifier et bloquer le spam.

Diagnostic médical. La médecine est l'un des domaines de la connaissance qui pourrait le plus bénéficier d'une interaction étroite avec l’informatique et les mathématiques, grâce à laquelle des processus complexes et imparfaits tels que le diagnostic différentiel seraient optimisés. C'est de cela que traite le machine learning, une branche de l'intelligence artificielle qui construit et étudie des systèmes capables d'apprendre à partir d'un ensemble de données d'entraînement et d'améliorer les processus de classification et de prédiction.

Jeux et prise de décision. Backgammon, échecs, poker.


Les réussites les plus connues


Recommandateur Youtube. Youtube est la plus grande entreprise au monde de partage, de création et de visualisation de contenu audiovisuel. Les recommandations YouTube sont chargées d'aider plus d'un milliard d'utilisateurs à découvrir du contenu personnalisé. L'un des plus grands défis auxquels ils ont dû faire face lors de la création de l'algorithme est la quantité de données téléchargées sur YouTube par seconde. Par conséquent, ce réseau de neurones doit avoir la capacité d'être sensible – réactif – à la fois au dernier contenu téléchargé sur la plate-forme et aux interactions de l'utilisateur avec elle.

Tarification dynamique Amazon. Amazon est le leader incontesté du e-commerce. Tout le monde sait qu'il utilise des prix dynamiques, selon une étude Amazon fait varier les prix plus de 2,5 millions de fois par jour. Le défi de ce réseau de neurones est que les prix à l'ère numérique doivent être fixés en temps réel en fonction de l'offre et de la demande d'un certain produit pendant une période limitée. Des entreprises comme Wallmart ou Uber utilisent ces algorithmes pour offrir des prix plus compétitifs à leurs clients.

Identifier les risques bancaires. HSBC est l'une des banques qui utilise les réseaux de neurones pour transformer la façon dont elles traitent les prêts et les hypothèques. Cette société utilise ce type d'algorithmes d'intelligence artificielle pour analyser le comportement d'anciens clients et ainsi pouvoir donner une estimation du risque pour un nouveau client lors de l'acquisition d'un crédit immobilier ou d'un prêt.

Personnaliser les stratégies marketing. Ces dernières années, plusieurs entreprises utilisent l'intelligence artificielle pour améliorer leurs stratégies marketing. Les réseaux de neurones sont des algorithmes capables de traiter une grande quantité de données telles que : les profils d'acheteurs, les modèles d'achat ou d'autres données spécifiques pour chaque entreprise. Ces types de caractéristiques en font les algorithmes parfaits pour analyser le marché et proposer une stratégie marketing personnalisée par client. Sephora ou Starbucks sont deux des entreprises qui utilisent ce type d'intelligence artificielle pour augmenter leurs profits.

*

*     *

Les réseaux de neurones sont des algorithmes capables de résoudre des problèmes très complexes de manière très précise. Il ne faut pas oublier que ces types d'algorithmes nécessitent une grande quantité de données d'apprentissage et un effort de calcul considérable lors de leur entraînement.

Les réseaux de neurones sont devenus une pièce maîtresse pour le développement de l'intelligence artificielle, c'est l'un des principaux domaines de recherche et celui qui évolue le plus au fil du temps, offrant des solutions de plus en plus complexes et efficaces.

Voir aussi…

Les réseaux de neurones

Bases neurologiques de l'intelligence humaine

Renforcer la connectivité du cerveau

Neurociences

Les Neurosciences des réseaux




Aucun commentaire:

Enregistrer un commentaire