Les réseaux neuronaux : quand la nature inspire la technologie

Le 13/06/2017

Dans Développement

Aujourd’hui sur le BlogDuWebdesign nous allons nous intéresser aux réseaux de neurones artificielles, très utilisées actuellement dans les intelligences artificielles.

Tout d’abord, qu’est ce qu’un neurone biologique ?

Biologiquement, un neurone est une cellule reliée à d’autres neurones par des liaisons, les dendrites et les axones.

Son fonctionnement est bien plus simple qu’on ne le pense : il reçoit en entrée des signaux de la part des neurones qui sont lié à lui, puis en fonction de paramètres que nous verrons ensuite, il envoie un message binaire (présence ou absence) à un unique neurone en sortie.

Neurone biologique

Le neurone artificiel, explication

Un neurone artificielle est donc constitué lui aussi de plusieurs entrées, que l’on va opérer entre elles pour ensuite en ressortir un 1 ou un 0. Iil prendra donc 2 paramètres : le poid des entrées, et le seuil de sortie.

Neurone artificiel

Prenons Y = sortie (donc 1 ou 0)

P1, P2, P3 les poids des 3 entrées

S = seuil

X1, X2, X3 les valeurs des 3 entrées

Alors on aura Y = P1*X1 + P2*X2 + P3*X3

Si Y > S alors le neurone renverra 1, sinon, il renverra 0.

Utilisation

Dans un premier temps il faut passer par une phase d’apprentissage : on fournit à l’algorithme des exemples dont la réponse attendue est connue et transmise elle aussi à l’algorithme. Ce dernier modifie les poids et le seuil jusqu’à ce que le résultat attendu soit obtenu, puis les données sont stockées dans un modèle qu’on appelle boîte noire. Cette phase peut être très longue car le nombre d’exemples à transmettre au réseau est proportionnel à la complexité de la tache demandée.

Ensuite vient la phase intéressante : la phase de prédiction, où on envoie un élément dont on ne connait pas le résultat attendu. L’algorithme puise a ce moment la dans la configuration contenue dans la boîte noire, et prédira un résultat si l’élément comporte les mêmes caractéristiques que l’élément pris lors de la phase d’apprentissage.

A l’instar d’un neurone biologique, un neurone artificiel ne sert pas à grand chose seul, il doit donc être couplé à d’autres neurones afin de fonctionner comme un tout petit cerveau. C’est ce qu’on appelle un réseau neuronnal.

Utilisation neurones

Exemple : la reconnaissance d’images

De nos jours, on est capable d’utiliser un réseau neuronal afin de reconnaitre le contenu d’une image.

Reconnaissance images

De base il était hors de question d’envoyer une image brute à l’algorithme, car sur une image de 1980*720p, cela fait légèrement moins d’1,5 million de pixels à traiter, soit 1,5 million d’entrées dans notre réseau, ce qui aurait été beaucoup trop complexe.

Un algorithme intermédiaire traditionnelle (pas une IA) était donc utilisé uniquement pour extraire les caractéristiques essentielles de l’image.

Fonctionnement traitement image

Mais les caractéristiques en questions dépendaient du type d’objet que l’on cherchait à trouver. En bref l’algorithme final était capable de savoir si l’animal de la photo était un chien ou un chat, mais incapable de savoir si c’était un animal ou un véhicule, la majeur partie du travail était au niveau de l’algorithme intermédiaire, codé par un humain, donc non-autonome..

Pour pallier ce problème, on utilise maintenant le « deep learning », soit l’apprentissage profond, initié par le français Yann Le Cun. Pour (grandement) simplifier, avec l’évolution qu’a suivi l’informatique (tant la partie logicielle que matérielle) on est maintenant capable de traiter bien plus d’informations simultanément.

De plus, les bases de données d’images classifiées se sont grandement remplies, notamment une qui s’appelle ImageNet, par conséquent la phase d’apprentissage (ou d’analyse) du réseau neurones et bien plus complète et performante.

Bien sur, ce système n’est pas parfait et des erreurs subsistent.

Deep learning images

Le deep learning est probablement voué à de grandes évolutions, notamment dans le domaine de l’audio description.

La semaine prochaine, nous verrons un exemple concret d’application d’un réseau neuronal.