Dans les profondeurs du réseau de neurones artificiels

Paradigme majeur du deep learning, le réseau artificiel de neurones peut paraitre incompréhensible de prime abord. Pourtant, et parce que le machine learning sera bientôt partout (c’est le gartner hype cycle qui le dit), les Artificial Neural Networks (ANN) font partie des technologies clés à saisir pour rester câblé sur les innovations de demain. Décryptage à destination des non-spécialistes.

Lecteur assidu de nos pages, vous avez dévoré notre billet sur le deep learning. Mais voilà, depuis, la question vous hante… « Diantre, qu’en est-il du réseau de neurones artificiels, tout juste touché du doigt en fin d’article ? » Rassurez-vous, lecteurs, nous sommes de retour pour éclaircir cet obscur concept.

Et donc, un ANN, en clair ?

Le réseau de neurones artificiels, au fond… tout est dans le nom ! Un ANN est un ensemble d’algorithmes d’apprentissage automatique, calqué sur le fonctionnement du cerveau humain et reposant sur une série de neurones qui travaillent à l’unisson à la résolution d’un problème. On parle de réseau, car tous ces neurones sont connectés les uns aux autres sur plusieurs couches, chacune prenant en entrée les informations du niveau inférieur pour envoyer des informations au niveau supérieur. Un réseau qui répond à une architecture choisie, et qui est d’abord entrainé afin de pouvoir être le plus pertinent possible lors de la rencontre de nouvelles données.

Autrement dit, avant de lancer le premier traitement de données nouvelles, le réseau doit « s’entrainer » en ingérant un grand nombre de données, pour ajuster au mieux son modèle. Comment ? En prenant des données contenant des couples input-output existants, en envoyant les entrées dans le réseau, et en comparant les sorties rendues par le réseau à celle du jeu de données d’entrainement. Ensuite, le réseau s’adapte, afin de diminuer au maximum la différence entre les outputs réels et les outputs du réseau.

Vous vous en doutez, la plus petite unité de l’ANN, c’est le neurone artificiel. Qu’est-ce que c’est ? Un neurone est un objet qui prend une information en entrée, la transforme selon des règles, prédéfinies ou non, avant de renvoyer l’information au niveau supérieur. Ces règles fonctionnelles peuvent être de transformation — l’input x est transformé par f(x) —, ou d’activation — le neurone équivaut à 1 (il s’active) si x > seuil, à 0 si x < seuil, ou reste dans un état indéterminé si x = seuil. Quant à la notion de réseau, elle fait référence au mécanisme de communication entre les éléments. Les unités d’une couche exécutent la fonction et renvoient le résultat à la couche supérieure qui interprète le pattern, avant de renouveler le traitement sur ce nouvel input, jusqu’à un output unique final.
réseau de neurones artificiels

En pratique, cela donne quoi ? Très schématiquement (car un réseau de neurones artificiels monte très vite à des milliers de neurones sur des milliers de couches), exemplifions avec un réseau de neurones sur deux couches, composées de grappes de trois neurones. On établit une fonction d’activation équivalente à : si la somme des N-1 >= 2 alors N = 1, sinon, N = 0. Si le premier niveau de 3×3 neurones renvoie un pattern 111, 010, 000, le second niveau calculera 100, pour un output final de 0.

Bien sûr, dans la réalité, les choses sont bien plus complexes ! Les algorithmes de deep learning reposant sur des réseaux de neurones travaillent avec des grappes largement plus peuplées, sur un nombre de couches beaucoup plus grand, et des fonctions qui régissent le comportement des neurones bien plus complexes et paramétrables. C’est d’ailleurs cette haute flexibilité qui fait des réseaux de neurones un outil de machine learning ultra puissant : vous pouvez par exemple établir une fonction qui évalue le poids de chaque neurone au fur et à mesure du traitement, adapter les règles du seuil en fonction des inputs, définir des algorithmes d’apprentissage différents, etc.

Et avec R ?

Plusieurs packages R destinés à vous lancer dans vos premières expérimentations en réseaux de neurones artificiels sont disponibles sur le CRAN. Parmi les plus célèbres, vous trouverez notamment nnet, ou encore neuralnet, outils de machine learning puissant pour simuler des réseaux de neurones directement sur votre ordinateur.

Le fonctionnement des ANN vous semble déjà plus clair ? Parfait ! Maintenant, n’hésitez pas à nous joindre, pour qu’on puisse approfondir ensemble le sujet !


À propos de l'auteur

Colin Fay

Colin Fay

Data scientist & R Hacker


Commentaires


À lire également