Vous êtes sur la page 1sur 12

Que sont les réseaux de neurones artificiels (ANN)?

Cet article fait partie de Demystifying AI , une série d'articles qui


(tentent de) lever l'ambiguïté du jargon et des mythes entourant l'IA.

L
'une des technologies les plus influentes de la dernière
décennie est celle des réseaux de neurones artificiels,
élément fondamental des algorithmes d'apprentissage en
profondeur , à la fine pointe de l'intelligence artificielle.
Vous pouvez remercier les réseaux de neurones pour de
nombreuses applications que vous utilisez chaque jour, telles que le
service de traduction de Google, le verrouillage iPhone Face ID
d'Apple et l'assistant Alexa d'Amazon . Les réseaux de neurones sont
également à l'origine de certaines des avancées importantes en
matière d'intelligence artificielle dans d'autres domaines, tels que le
diagnostic du cancer de la peau et du sein, et le fait de donner des
yeux aux voitures autonomes .
Le concept et la science derrière les réseaux de neurones artificiels
existent depuis de nombreuses décennies. Mais ce n'est qu'au cours
des dernières années que les promesses des réseaux de neurones se
sont concrétisées et ont aidé l'industrie de l'IA à sortir d'un hiver
prolongé .
Si les réseaux de neurones ont aidé l'IA à faire de grands pas, ils sont
également souvent mal compris. Voici tout ce que vous devez savoir
sur les réseaux de neurones.

Similitudes entre les réseaux de neurones artificiels et


biologiques
La vision originale des pionniers de l'intelligence artificielle était de
reproduire les fonctions du cerveau humain, la création connue la
plus intelligente et la plus complexe de la nature. C'est pourquoi le
domaine a dérivé une grande partie de sa nomenclature (y compris
le terme «intelligence artificielle») du physique et des fonctions de
l'esprit humain.
Les réseaux de neurones artificiels sont inspirés de leurs homologues
biologiques. De nombreuses fonctions du cerveau restent un
mystère, mais ce que nous savons, c'est que les réseaux neuronaux
biologiques permettent au cerveau de traiter d' énormes quantités
d'informations de manière complexe .
Le réseau neuronal biologique du cerveau se compose d'environ 100
milliards de neurones, l'unité de traitement de base du cerveau. Les
neurones remplissent leurs fonctions grâce à leurs connexions
massives les unes aux autres, appelées synapses. Le cerveau humain
a environ 100 billions de synapses, environ 1 000 par neurone.
Chaque fonction du cerveau implique des courants électriques et des
réactions chimiques traversant un grand nombre de ces neurones.

Comment fonctionnent les réseaux de neurones artificiels


Les neurones artificiels constituent l'élément central des
RNA. Chaque neurone reçoit des entrées de plusieurs autres
neurones, les multiplie par des poids assignés, les ajoute et transmet
la somme à un ou plusieurs neurones. Certains neurones artificiels
peuvent appliquer une fonction d'activation à la sortie avant de la
passer à la variable suivante.

La structure d'un neurone artificiel, composant de base des réseaux de neurones


artificiels (source: Wikipedia)

Au fond, cela peut sembler une opération mathématique très


triviale. Mais lorsque vous placez des centaines, des milliers et des
millions de neurones sur plusieurs couches et que vous les empilez
les uns sur les autres, vous obtiendrez un réseau de neurones
artificiels qui peut effectuer des tâches très complexes, telles que
la classification d'images ou la reconnaissance de la parole.
Les réseaux de neurones artificiels sont composés d'une couche
d'entrée, qui reçoit des données de sources extérieures (fichiers de
données, images, capteurs matériels, microphone ...), d'une ou
plusieurs couches cachées qui traitent les données, et d'une couche
de sortie qui fournit un ou plusieurs points de données en fonction
de la fonction du réseau. Par exemple, un réseau neuronal qui
détecte les personnes, les voitures et les animaux aura une couche
de sortie avec trois nœuds. Un réseau qui classe les transactions
bancaires entre sûres et frauduleuses aura une sortie unique.

Les réseaux de neurones sont composés de plusieurs couches


(source: www.deeplearningbook.org )
Formation de réseaux de neurones artificiels
Les réseaux de neurones artificiels commencent par attribuer des
valeurs aléatoires aux poids des connexions entre les neurones. La
clé pour que l'ANN exécute sa tâche correctement et avec précision
est d'ajuster ces poids aux bons nombres. Mais trouver les bons
poids n'est pas très facile, surtout lorsqu'il s'agit de plusieurs couches
et de milliers de neurones.
Cet étalonnage se fait en «formant» le réseau avec des exemples
annotés. Par exemple, si vous souhaitez entraîner le classificateur
d'images mentionné ci-dessus, vous lui fournissez plusieurs photos,
chacune étiquetée avec sa classe correspondante (personne, voiture
ou animal). Au fur et à mesure que vous lui fournissez de plus en plus
d'exemples d'entraînement, le réseau neuronal ajuste
progressivement ses poids pour mapper chaque entrée sur les
sorties correctes.
Fondamentalement, ce qui se passe pendant la formation, c'est que
le réseau s'adapte pour glaner des modèles spécifiques à partir des
données. Encore une fois, dans le cas d'un réseau de classificateurs
d'images, lorsque vous entraînez le modèle d'IA avec des exemples
de qualité, chaque couche détecte une classe spécifique
d'entités. Par exemple, le premier calque peut détecter des bords
horizontaux et verticaux, les calques suivants peuvent détecter des
coins et des formes rondes. Plus bas sur le réseau, des couches plus
profondes commenceront à sélectionner des fonctionnalités plus
avancées telles que des visages et des objets.
Chaque couche du réseau neuronal extraira des caractéristiques spécifiques de
l'image d'entrée (source: arxiv.org )
Lorsque vous exécutez une nouvelle image via un réseau de
neurones bien entraîné, les poids ajustés des neurones seront en
mesure d'extraire les bonnes caractéristiques et de déterminer avec
précision à quelle classe de sortie l'image appartient.
L'un des défis de la formation des réseaux de neurones est de trouver
la bonne quantité et la bonne qualité d'exemples de formation. En
outre, la formation de grands modèles d'IA nécessite de grandes
quantités de ressources informatiques. Pour surmonter ce défi, de
nombreux ingénieurs utilisent «l' apprentissage par transfert », une
technique de formation dans laquelle vous prenez un modèle pré-
formé et l'ajustez avec de nouveaux exemples spécifiques au
domaine. L'apprentissage par transfert est particulièrement efficace
lorsqu'il existe déjà un modèle d'IA proche de votre cas d'utilisation.

Réseaux de neurones vs IA classique


Les programmes d'IA traditionnels et basés sur des règles étaient
basés sur les principes des logiciels classiques. Les programmes
informatiques sont conçus pour exécuter des opérations sur des
données stockées dans des emplacements de mémoire et
enregistrer les résultats sur un emplacement de mémoire
différent. La logique du programme est séquentielle, déterministe et
basée sur des règles clairement définies. Les opérations sont
exécutées par un ou plusieurs processeurs centraux.
Les réseaux neuronaux, cependant, ne sont ni séquentiels, ni
déterministes. De plus, quel que soit le matériel sous-jacent, il n'y a
pas de processeur central contrôlant la logique. Au lieu de cela, la
logique est dispersée dans les milliers de neurones artificiels plus
petits. Les ANN n'exécutent pas d'instructions; au lieu de cela, ils
effectuent des opérations mathématiques sur leurs entrées. Ce sont
leurs opérations collectives qui développent le comportement du
modèle.
Au lieu de représenter les connaissances par une logique codée
manuellement, les réseaux de neurones codent leurs connaissances
dans l'état général de leurs poids et activations. Le chef de Tesla AI,
Andrej Karpathy, décrit avec éloquence la logique logicielle des
réseaux de neurones dans un excellent article de Medium intitulé
« Software 2.0 »:
La «pile classique» de Software 1.0 est ce que nous connaissons tous
- elle est écrite dans des langages tels que Python, C ++, etc. Elle
consiste en des instructions explicites à l'ordinateur écrites par un
programmeur. En écrivant chaque ligne de code, le programmeur
identifie un point spécifique dans l'espace programme avec un
comportement souhaitable.
En revanche, le logiciel 2.0 peut être écrit dans un langage beaucoup
plus abstrait et hostile aux humains, comme les poids d'un réseau de
neurones. Aucun humain n'est impliqué dans l'écriture de ce code car
il y a beaucoup de poids (les réseaux typiques peuvent en avoir des
millions) et le codage directement en poids est un peu difficile (j'ai
essayé).
Réseaux de neurones vs autres techniques d'apprentissage
automatique
Les réseaux de neurones artificiels ne sont que l'un des nombreux
algorithmes permettant d'effectuer l'apprentissage automatique , la
branche de l'intelligence artificielle qui développe un comportement
basé sur l'expérience. Il existe de nombreuses autres techniques
d'apprentissage automatique qui peuvent trouver des modèles dans
les données et effectuer des tâches telles que la classification et la
prédiction. Certaines de ces techniques incluent des modèles de
régression, des machines vectorielles de support (SVM), des
méthodes k-plus proches et des arbres de décision.
Lorsqu'il s'agit de traiter des données désordonnées et non
structurées telles que des images, de l'audio et du texte, les réseaux
de neurones surpassent les autres techniques d'apprentissage
automatique.
Par exemple, si vous vouliez effectuer des tâches de classification
d'images avec des algorithmes d'apprentissage automatique
classiques, vous auriez à effectuer de nombreuses «techniques
d'ingénierie» complexes, un processus compliqué et ardu qui
nécessiterait les efforts de plusieurs ingénieurs et experts du
domaine. Les réseaux de neurones et les algorithmes
d'apprentissage en profondeur ne nécessitent pas d'ingénierie des
fonctionnalités et extraient automatiquement les fonctionnalités des
images s'ils sont bien entraînés.
Cela ne signifie pas, cependant, que le réseau de neurones remplace
d'autres techniques d'apprentissage automatique. D'autres types
d'algorithmes nécessitent moins de ressources de calcul et sont
moins compliqués, ce qui les rend préférables lorsque vous essayez
de résoudre un problème qui ne nécessite pas de réseaux de
neurones.
D'autres techniques d'apprentissage automatique sont également
interprétables (plus d'informations ci-dessous), ce qui signifie qu'il est
plus facile d'enquêter et de corriger les décisions qu'elles
prennent. Cela peut les rendre préférables dans les cas d'utilisation
où l'interprétabilité est plus importante que la précision.
Les limites des réseaux de neurones
Malgré leur nom, les réseaux de neurones artificiels sont très
différents de leur équivalent humain. Et bien que les réseaux de
neurones et l'apprentissage en profondeur soient aujourd'hui l'état
de l'art de l'IA, ils sont encore loin de l'intelligence humaine . Par
conséquent, les réseaux de neurones échoueront pour de
nombreuses choses que vous attendez d'un esprit humain:
• Les réseaux de neurones ont besoin de beaucoup de
données: contrairement au cerveau humain, qui peut
apprendre à faire des choses avec très peu d'exemples, les
réseaux de neurones ont besoin de milliers et de millions
d'exemples.
• Les réseaux de neurones sont mauvais pour généraliser: un
réseau de neurones fonctionnera avec précision à une tâche
pour laquelle il a été formé, mais très mal à toute autre chose,
même si elle est similaire au problème d'origine. Par exemple,
un classificateur de chats formé sur des milliers d'images de
chats ne pourra pas détecter les chiens. Pour cela, il lui faudra
des milliers de nouvelles images. Contrairement aux humains,
les réseaux de neurones ne développent pas de connaissances
en termes de symboles (oreilles, yeux, moustaches, queue) - ils
traitent les valeurs de pixels. C'est pourquoi ils ne pourront pas
en apprendre davantage sur les nouveaux objets en termes de
fonctionnalités de haut niveau et ils doivent être recyclés à partir
de zéro.
• Les réseaux de neurones sont opaques: puisque les réseaux de
neurones expriment leur comportement en termes de poids et
d'activations de neurones, il est très difficile de déterminer la
logique derrière leurs décisions. C'est pourquoi ils sont souvent
décrits comme des boîtes noires . Cela rend difficile de savoir
s'ils prennent des décisions en fonction des mauvais facteurs.
L'expert en IA et neuroscientifique Gary Marcus a expliqué les limites
de l'apprentissage profond et des réseaux de neurones dans un
article de recherche approfondi l'année dernière.
De plus, les réseaux de neurones ne remplacent pas la bonne vieille
IA basée sur des règles dans les problèmes où la logique et le
raisonnement sont clairs et peuvent être codifiés en règles
distinctes. Par exemple, lorsqu'il s'agit de résoudre des équations
mathématiques, les réseaux de neurones fonctionnent très mal .
Il existe plusieurs efforts pour surmonter les limites du réseau
neuronal, comme une initiative financée par la DARPA pour créer
des modèles d'IA explicables . D'autres développements intéressants
incluent le développement de modèles hybrides qui combinent des
réseaux de neurones et une IA basée sur des règles pour créer des
systèmes d'IA qui sont interprétables et nécessitent moins de
données d'entraînement.
Bien que nous ayons encore un long chemin à parcourir avant
d'atteindre l'objectif de l'IA au niveau humain ( si jamais nous
l'atteindrons un jour ), les réseaux de neurones nous ont beaucoup
rapprochés. Il sera intéressant de voir quelle sera la prochaine
innovation en matière d'IA.

Vous aimerez peut-être aussi