Un perceptron multicouche (MLP) est un type de réseau neuronal feedforward composé de neurones entièrement connectés organisés en couches, avec des fonctions d'activation non linéaires. Contrairement aux perceptrons monocouches, qui ne peuvent classer que des données linéairement séparables, les MLP peuvent distinguer des données qui ne sont pas linéairement séparables, ce qui en fait une architecture fondamentale dans l'apprentissage profond. Les MLP modernes sont entraînés à l'aide de la rétropropagation et sont souvent appelés familièrement réseaux neuronaux « vanille ».
Le MLP est né d'efforts pour surmonter les limitations du perceptron monocouche, qui utilisait une fonction échelon de Heaviside comme activation. La rétropropagation, cependant, nécessite des fonctions d'activation continues telles que la sigmoïde ou l'unité linéaire rectifiée (ReLU). Les MLP constituent la base de l'apprentissage profond et sont applicables à un vaste ensemble de domaines, notamment la reconnaissance d'images, le traitement du langage naturel et la prévision de séries temporelles.
Développement historique
Le concept de neurones artificiels remonte à 1943, lorsque Warren McCulloch et Walter Pitts ont proposé un neurone binaire comme modèle logique des réseaux neuronaux biologiques. En 1958, Frank Rosenblatt a introduit le modèle de perceptron multicouche, qui comportait une couche d'entrée, une couche cachée avec des poids aléatoires qui n'apprenaient pas, et une couche de sortie avec des connexions apprenables. Le livre de Rosenblatt de 1962, Principles of Neurodynamics, décrivait des variantes avec jusqu'à deux couches entraînables en « rétropropagant les erreurs », mais ce n'était pas l'algorithme de rétropropagation moderne, et aucune méthode générale pour entraîner plusieurs couches n'existait alors.
En 1965, Alexey Grigorevich Ivakhnenko et Valentin Lapa ont publié la méthode de regroupement des données (Group Method of Data Handling), l'une des premières méthodes d'apprentissage profond, utilisée pour entraîner un réseau neuronal à huit couches en 1971. En 1967, Shun'ichi Amari a rapporté le premier réseau neuronal multicouche entraîné par descente de gradient stochastique, capable de classer des classes de motifs non linéairement séparables ; son étudiant Saito a mené des expériences informatiques en utilisant un réseau feedforward à cinq couches avec deux couches d'apprentissage.
La rétropropagation a été développée indépendamment à plusieurs reprises au début des années 1970. La première instance publiée était la thèse de maîtrise de Seppo Linnainmaa en 1970. Paul Werbos l'a développée indépendamment en 1971, bien qu'il ait eu des difficultés à publier jusqu'en 1982. En 1986, David E. Rumelhart et ses collègues ont popularisé la rétropropagation, conduisant à une adoption généralisée. L'intérêt pour les réseaux à rétropropagation a resurgi en 2003 grâce aux succès de l'apprentissage profond dans la modélisation du langage par Yoshua Bengio et ses co-auteurs.
Architecture et fonctions d'activation
Un MLP se compose de trois couches ou plus : une couche d'entrée, une couche de sortie et une ou plusieurs couches cachées. Chaque nœud d'une couche se connecte avec un certain poids à chaque nœud de la couche suivante, rendant le réseau entièrement connecté. Si tous les neurones utilisaient des fonctions d'activation linéaires, l'algèbre linéaire montre que n'importe quel nombre de couches pourrait être réduit à un modèle entrée-sortie à deux couches. Par conséquent, les MLP utilisent des fonctions d'activation non linéaires, qui ont été développées pour modéliser la fréquence de décharge des neurones biologiques.
Historiquement, deux fonctions d'activation courantes étaient les sigmoïdes : la tangente hyperbolique, qui varie de -1 à 1, et la fonction logistique, qui varie de 0 à 1. Plus récemment, l'unité linéaire rectifiée (ReLU) est devenue prédominante dans l'apprentissage profond, car elle aide à surmonter les problèmes numériques associés aux sigmoïdes. D'autres alternatives incluent softplus et les fonctions de base radiale, ces dernières étant utilisées dans les réseaux à base radiale.
Apprentissage par rétropropagation
L'apprentissage dans un MLP se produit en ajustant les poids de connexion après le traitement de chaque point de données, en fonction de l'erreur entre la sortie et le résultat attendu. C'est un apprentissage supervisé, réalisé par rétropropagation, une généralisation de l'algorithme des moindres carrés moyens utilisé dans les perceptrons linéaires. L'erreur pour un nœud de sortie j sur le n-ième exemple d'entraînement est définie comme e_j(n) = d_j(n) - y_j(n), où d_j(n) est la cible souhaitée et y_j(n) est la sortie réelle. L'algorithme propage cette erreur en arrière à travers le réseau pour mettre à jour les poids, en utilisant généralement des méthodes d'optimisation comme la descente de gradient stochastique.
Variantes modernes et impact
En 2021, des chercheurs ont conçu MLP-Mixer, une architecture simple combinant deux MLP profonds avec des connexions de saut et des normalisations de couche. Ses réalisations, avec 19 à 431 millions de paramètres, ont performé de manière comparable aux transformeurs de vision de taille similaire sur ImageNet et des tâches similaires de classification d'images. Cela a montré que les MLP restent compétitifs dans l'apprentissage profond moderne, malgré la montée des modèles Transformer (architecture). Les MLP sont également intégrés à de nombreux systèmes Neural network, y compris des composants d'architectures Large language model et des cadres Deep learning. Leur simplicité et leur efficacité en font une référence standard dans la recherche et les applications Machine learning.
Limitations et extensions
Bien que les MLP soient puissants, ils ont des limitations. Ils sont entièrement connectés, ce qui entraîne de nombreux paramètres et un coût computationnel pour des entrées de haute dimension comme les images. Ils ne capturent pas non plus intrinsèquement la structure spatiale ou séquentielle, ce qui a motivé des architectures comme Residual Network (ResNet) et Sequence-to-Sequence (Seq2Seq). Des techniques telles que Dropout, Batch Normalization et Layer Normalization sont souvent appliquées pour améliorer la stabilité de l'entraînement et la généralisation. Malgré ces défis, les MLP restent un bloc de construction fondamental dans Artificial intelligence et continuent d'informer la conception d'architectures plus complexes.