Perceptron : retour sur l'ancêtre du machine learning
Le perceptron est l'un des plus anciens algorithmes de machine learning. Il permet de faire fonctionner un réseau de neurones artificiels.
Le perceptron, c'est quoi ?
Le perceptron est l'un des plus anciens algorithmes de deep learning (apprentissage profond). Il s'agit d'un neurone artificiel conçu pour automatiser le classement de données. Il a été inventé en 1957 par Frank Rosenblatt, au sein du Cornell Aeronautical Laboratory.
Quelques années plus tôt en 1951, deux mathématiciens américains, Marvin Minsky et Dean Edmonds, avaient réussi à mettre en pratique un réseau de neurones artificiels. Mais c'est le psychologue de formation Frank Rosenblatt qui devient le véritable inventeur du perceptron. Il crée un modèle d'apprentissage, avec une simulation sous la forme d'un logiciel d'abord sur un IBM 704, puis sur une machine spécifique nommée Mark 1. Cette dernière était destinée à la reconnaissance d'images, le neurone artificiel permettant de traiter les informations entrées, de les classifier et d'obtenir un résultat en toute autonomie. Le premier système de machine learning efficace repose toutefois sur des perceptrons simples, limitant les possibilités de calculs.
Comment fonctionne le perceptron ?
Pour mieux comprendre le fonctionnement du perceptron, il est nécessaire de revenir à la définition de réseau de neurones. Un cerveau humain est constitué de milliards de neurones, des cellules nerveuses connectées entre elles, qui permettent de traiter des informations. Le réseau de neurones artificiels cherche à copier ce mode fonctionnement. Le perceptron est un neurone artificiel unique. Entrant dans la catégorie de l'apprentissage supervisé, il s'agit d'un algorithme de classification de données.
Schématiquement, le perceptron attribue aux données qui lui sont présentées un poids. En-deçà d'un certain seuil, les données seront classées dans une première catégorie, au-delà dans la seconde.
Qu'est-ce que le perceptron (simple) monocouche ?
Un perceptron simple ou monocouche (ou single-layer perceptron) est un réseau de neurones artificiels composé d'entrées multiples et d'une seule sortie. Le cheminement des informations se fait par un circuit de liens qui relient entre eux des neurones regroupés sur une couche unique. Le perceptron simple fonctionne sur un modèle basique de type classifieur linéaire (qui sépare les données en deux classes). Il permet par exemple d'apprendre à identifier un spam à partir des mots détectés dans un e-mail.
L'inconvénient du perceptron monocouche tient dans l'impossibilité de travailler sur des données complexes et en grand nombre. Le modèle d'apprentissage reste basique et limité dans ses applications, car la séparation des classes n'est effective que de manière linéaire.
Comment fonctionne un perceptron multicouche ?
Un perceptron multicouche (ou multilayer perceptron) est un réseau de neurones artificiels comprenant plusieurs couches qui permet de produire un séparateur non linéaire. Il est constitué de plusieurs entrées et sorties. Il s'agit d'un réseau à propagation directe (feedforward) de plusieurs couches disposant chacune d'un nombre de neurones artificiels variable. Il dépasse le machine learning pour entrer dans le domaine du deep learning, avec des systèmes d'apprentissage pouvant traiter des données en profondeur.
Les cas d'usage du perceptron multicouche sont légion. Ce type de modèle est notamment utilisé dans la reconnaissance d'images ou la détection de fraude, par exemple. Utilisable pour l'apprentissage supervisé, il est aujourd'hui proposé par de nombreuses bibliothèques de machine learning comme TensorFlow ou encore Scikit-Learn.