Architecture des réseaux de neurones : Réseaux de neurones artificiels classiques (2/3) !
Public ciblé : Public averti
Petite introduction :
Cet article, le second d'une série de 3 articles, a été réalisé en collaboration avec André Garenne. Maitre de conférences à l’Université de Bordeaux. André Garenne fait partie de l’équipe transdisciplinaire Mnemosyne qui est rattachée à l’Inria Bordeaux, au LABRI et à l’institut des maladies neurodégénératives (CNRS).
Réseaux de neurones artificiels classiques
Plus connus de la communauté machine Learning que leur homologues impulsionnels, ces réseaux se composent de neurones artificiels que nous avons précédemment présentés : autrement dit, de neurones à taux de décharges ou à spike "discret" ou explicite. Ces modèles permettent de décrire l'activité (taux de décharge instantané) d'une population de neurones. Le réseau reçoit des entrées qu'il vient moduler selon plusieurs paramètres (taux d'apprentissage, nombre de neurones), afin de fournir ainsi une réponse. Pour plus d’informations sur l’inspiration biologique, rendez-vous sur l’article «Reprenons les bases : Neurone artificiel, Neurone biologique ». Voici ci-dessous quelques grandes familles de réseaux de neurones artificiels classiques.
Figure A - Structure d'un neurone artificiel j (src :Wikipédia)
Famille des réseaux à propagation avant ou feed-forward
Lorsqu'un réseau propage l'information au travers de ses couches successives, de la couche d'entrée à la couche de sortie, et sans avoir un retour de l'information en arrière, alors il s'agit d'un réseau à propagation avant ou feed-forward en anglais. Les exemples les plus connus sont le perceptron simple et sa version multi-couche.
- Le perceptron simple
Le perceptron simple est un réseau mono-couche, acyclique (il ne comporte pas de boucle) et dont la dynamique (l’activité) est déclenchée par la réception en entrée d'information. Ce réseau est dit simple car il ne se compose que de deux couches : une couche d'entrée et une couche de sortie ce qui implique une seule matrice de poids. L'ensemble des unités de la couche d'entrée sont connectés à celles de la couche de sortie.
Ces structures lui permettent d'être considéré comme un classifieur linéaire : autrement dit il peut classer/séparer les données selon deux caractéristiques.
- Le perceptron multicouche
Désigné par le sigle MLP (pour Multi-layer Perceptron), le perceptron multicouche se compose d’une couche d'entrée, d’une couche de sortie et d’une ou plusieurs couches cachées. Si le réseau possède n couches, alors il possède n-1 matrice de poids (une entre chaque suite de couches). Le MLP doté d'une couche cachée est théoriquement un approximateur universel de fonctions. En théorie, il suffit donc d’ajouter un nombre de neurones suffisant au niveau de la couche cachée pour approximer n’importe quelle fonction non linéaire.
Figure B - De gauche à droite : un neurone artificiel seul (A), des perceptrons simples avec une couche d'entrée et une couche de sortie (B et C), un perceptron multicouche doté d'une couche d'entrée, d'une couche cachée et d'une couche de sortie. L'augmentation du nombre de couches et de neurones entraine une augmentation du pouvoir de séparation. Image adaptée de [Rougier, 2000]
Le réseau de neurones à convolution (CNN pour Convolutionnal Neural Network) sont aussi des réseaux feed-forward et qui correspondent, en simplifiant beaucoup, à un empilement de perceptron multicouche. Chacun traitant une portion de l’information globale. Ces réseaux sont surtout utilisé pour la reconnaissance d'image, de vidéos ou encore dans le traitement naturel du langage.
- Le Deep learning, l’apprentissage profond pour les réseaux profonds
Le MLP peut être considéré comme le premier réseau profond ! En effet, plus l’on ajoute des couches cachées, plus la profondeur du réseau augmente. Pendant très longtemps, cette profondeur était source de problème, puisque à partir d’un certain nombre de couche, le réseau n’arrivait plus à apprendre. Ces dernières années des solutions ont émergé et aujourd’hui, les réseaux profonds sont de plus en plus présents. Leur apprentissage permet d’ailleurs d’obtenir des résultats très précis notamment dans la reconnaissance d'image ou encore la traduction. On entend parler d’ailleurs de plus en plus de Deep Learning, c’est-à-dire d’apprentissage profond, pour tous les réseaux de neurones qui doivent réaliser un apprentissage via plusieurs couches cachées.
Pour plus d’informations : « L’apprentissage profond : une idée à creuser ? », et « Deep Learning, 3 choses à savoir »
Concernant les succès du Deep Learning dans le domaine de la traduction : « «Deep learning»: L'homme prend sa première grosse raclée par la machine en matière de traduction » , ou encore voici une petite vidéo présentant Skype translator en 2014 : https://www.youtube.com/watch?time_continue=14&v=cJIILew6l28
Figure C - Exemples d'objets détecté dans différentes images. Issue de [Farabet et al, 2013]
Réseaux auto-organisés : les cartes auto-organisées de Kohonen
Inspiré de l'organisation du cortex, les réseaux auto-organisés se distinguent par une connectivité locale. Ils sont surtout adaptés pour le traitement d'informations spatiales. Le modèle le plus connu de ce type est la carte auto-organisatrices de Kohonen appelée aussi carte auto-adaptative ou SOM pour self organizing map.
Ces réseaux utilisent des méthodes d'apprentissage non-supervisées. Ils peuvent être utilisé pour cartographier un espace réel ou encore étudier la répartition de données dans un espace de grandes dimensions comme dans le cas de problème de quantification vectorielle, de clusterisation ou de classification.
Figure D - Deux exemples d'utilisations de cartes auto-organisées. Image extraite de [Rougier, 2014]
Famille des réseaux de neurones récurrents ou RNN pour recurrent neural network
Les RNNs sont des réseaux de neurones qui comportent des cycles dans leur graphe de connectivité. Ces cycles permettent au réseau d’entretenir une information en se l’envoyant à lui-même. Cela change la dynamique du réseau de neurones et l’amène à s’auto-entretenir. Ces modèles étaient souvent plébiscités notamment pour le traitement automatique de la parole, et plus généralement de séquences, car leurs caractéristiques leur permettent d’apprendre, de stocker et de prendre en compte l’information contextuelle passée lors de traitement de l’information à l’instant présent.
- Le modèle de Hopfield
Il s'agit d'un réseau qui se compose d’une seule couche où toutes les unités sont interconnectées. Il s'agit d'une mémoire auto-associative : constituée d'une seule couche qui représente à la fois l’entrée du réseau et sa sortie. Autrement dit, une mémoire auto-associative a autant d’entrées que de sorties. Ce réseau est assimilé à une mémoire adressable par son contenu : les connaissances mémorisées étant distribuées dans le réseau et non localisées à une adresse, il est possible de récupérer l’entièreté d’une donnée, juste en présentant une version dégradée (partielle ou bruitée) [Rougier, 2000]. Du point de vue temporel, le modèle de Hopfield est un système dynamique, c’est-à-dire un système qui prend explicitement le temps en compte (ses états à t+1 sont dépendants des états à t) [Durand, 1995]. C’est ce qui fait de lui un réseau temporel. Il faut savoir que cette dernière affirmation est sujet à débat : le fait que Hopfield soit un réseau temporel ne fait pas le consensus et selon la définition que qu’est-ce qu’un réseau temporel, certains affirmeront que oui et d’autres que non.
- Les réseaux de neurones récurrents à couches
Catégorie particulière des réseaux de neurones récurrents, ils ont pour spécificité d’être composés de couches (couche d’entrée, couche(s) cachée(s) et couche de sortie) et d'apprendre des couples (d’entrées, sorties) comme les perceptrons. Ces réseaux reprennent à la fois l’idée de la propagation avant et de la rétro propagation de l’erreur (phénomène qui intervient lors de l’apprentissage), et l’idée de la récurrence de Hopfield [Hopfield, 1982]. L’entrée globale du réseau se propage à la fois en avant dans le réseau de couche en couche, mais elle contient aussi une information sur le passé [Martinez, 2011].
Le SRN pour Simple Recurrent Network, ou modèle de Elman appartient à cette catégorie.
Figure F - le modèle de Hopfield à gauche [Durand ,1995] et le modèle de Elman, SRN à droite [Cleeremans & Mcclelland, 1991]
Famille des réseaux à résonance
Dans ce type de réseau, l'activité de tous les neurones est envoyée à tous les autres neurones. Cela provoque alors des phénomènes d'oscillations dans la dynamique du réseau, d'où le terme de résonance!
- Modèle ART, pour Adaptative Resonance Theory
Ce modèle se base sur l’idée suivante : c’est l’interaction entre une information issue de l’environnement et la connaissance que l’on a déjà qui nous permet d’identifier et de reconnaître des objets. Cette connaissance est un modèle de référence auquel nous venons confronter les caractéristiques d’un objet perçu. C’est ainsi que l’on arrive à catégoriser un objet.
Ainsi est née l’idée de créer un modèle artificiel évolutif : capable d’adapter les catégories déjà apprise, tout en s’adaptant aux nouvelles informations qui génèrent de nouvelles catégories . [Grossberg, 2013]
Ce modèle se décline lui-même en plusieurs modèles (ART-1, ART-2, ART-MAP, etc.)! Parmi ces derniers certains utilisent des méthodes d'apprentissage supervisés et d'autres non supervisés. Mais leur point commun est d'être de bons modèles pour résoudre les problèmes dit de pattern recognition (exemple : reconnaître un chiffre à partir d'une image floue, ou une écriture manuscrite).
- Mémoire associative bidirectionnel ou BAM (Bidirectional Associative memory)
Le BAM est une mémoire hétéro-associative qui permet d'associer deux informations de natures différentes. Le réseau se compose de 2 couches de neurones (que nous appellerons x et y) totalement interconnectées de façon bidirectionnelle : autrement dit si l’on a une information, il est possible de retrouver l’autre grâce à ce réseau. A la différence de Hopfield, qui est une mémoire auto-associative, le BAM permet d’apprendre l’association de 2 informations de nature et de tailles différentes. Les informations sont réverbérées ( i.e. renvoyées) entre les 2 couches de neurones, jusqu'à atteindre un état d'équilibre.
Ces modèles sont ainsi très réputés dans le domaine de la reconnaissance de pattern (pattern recognition en anglais).
Figure G - Exemple d’association de deux types d’informations utilisée pour l’apprentissage d’un BAM. Image extraite des travaux de [Chartier & Boukadoum, 2010].
- Machine de Boltzmann
Réseaux de neurones récurrent et multicouches, ces réseaux ont été les premiers capables d'apprendre des représentations internes. Ils sont de plus capable de représenter et de résoudre des problèmes combinatoires difficiles.
Il s’agit d’une extension probabiliste du modèle de Hopfield. Une autre appellation de ce type de modèle est « Stochastic Hopfield network with hidden units » : c’est un réseau de neurone récurrent doté d’une couche cachée où toutes les unités sont interconnectées. C’est une machine qui apprend un comportement désiré : autrement dit, elle apprend à converger vers un état particulier auquel elle va attribuer une forte probabilité.
Ce modèle se décline en d’autres variantes (la machine de Boltzmann restreinte par exemple) mais aussi en une version profonde utilisée en Deep learning : les Deep Boltzmann Machines (Salakhutdinov & Larochelle, 2010).
Figure H : Représentation schématique de la machine de Boltzmann réalisée par Arrouy William
Que retenir??
Il existe différentes architectures possibles pour construire son réseau de neurones. Chacune d’entre elles possèdent des forces et des faiblesses, ce qui les rend plus en adéquation pour une tâche donnée. Certaines sont plus réputées que d’autres pour des taches bien spécifiques, mais souvent il est possible de combiner différentes approches (plusieurs couches d’un SOM par exemple) pour atteindre son objectif.
Petite précision pour le terme de « Deep learning » : Il s’agit d’un terme à la mode que l’on retrouve partout mais qui désigne en réalité le fait de faire apprendre des réseaux qui sont composés de plusieurs couches. On parle alors de réseaux profonds qui peuvent être composé de plusieurs perceptron multicouche, ou de plusieurs mémoires associatives, etc. A ce propos, une question revient souvent : « A partir de quel nombre de couches cachées, un réseau est-il un réseau profond ? ». Là encore il s’agit d’une question ouverte, et selon les expériences de chacun, la réponse est différente.
Ainsi, en résumé, le choix de l’architecture d’un réseau de neurones (nombre d’unités, nombre de couches, structure à choisir) est ainsi une question ouverte à discussion. Souvent déterminer l’objectif à atteindre est le meilleur moyen de choisir l’approche la plus adéquate en fonction de ses avantages et surtout de ses contraintes !
Avez-vous déjà vu des architectures surprenantes ? Des architectures qui vous ont-elles manqué ici ? Pourquoi ? Partagez votre avis en commentaire !
Pour citer cet article :
Ikram Chraibi Kaadoud & André Garenne. Architecture des réseaux de neurones: Réseaux de neurones artificiels classiques (2/3) ! Publication sur le blog de https://scilogs.fr/intelligence-mecanique, 2018
Référence
- Arrouy William, Les réseaux de neurones, http://william.arrouy.free.fr/neural/neutm.html
- Chartier, S., & Boukadoum, M., 2011. Encoding static and temporal patterns with a bidirectional heteroassociative memory. Journal of Applied Mathematics, 2011. https://www.hindawi.com/journals/jam/2011/301204/
- Cleeremans, Axel et Mcclelland, James L. Learning the structure of event sequences. Journal of Experimental Psychology: General, 1991, vol. 120, no 3, p. 235.
- Durand, Stéphane, 1995. TOM, une architecture connexionniste de traitement de séquences : application à la reconnaissance de la parole. Thèse de doctorat, Nancy 1.
- Farabet, C., Couprie, C., Najman, L., & LeCun, Y. (2013). Learning hierarchical features for scene labeling. IEEE transactions on pattern analysis and machine intelligence, 35(8), 1915-1929
- Grossberg, Stephen. ,2013. Adaptive Resonance Theory: How a brain learns to consciously attend, learn, and recognize a changing world. Neural Networks, 37, 1-47. PDF
- Hopfield, J J, 1982. Neural networks and physical systems with emergent collective computational abilities. Proceedings of the National Academy of Sciences, 79(8) :2554–URL http://www.pnas.org/content/79/8/2554.abstract
- Martinez, Régis, 2011. Dynamique des systèmes cognitifs et des systèmes complexes. Thèse de doctorat, Université Lumière Lyon 2.
- Rougier, Nicolas P, 2000. Modèles de mémoires pour la navigation autonome. Thèse de doctorat, Université Henri Poincaré-Nancy https://tel.archives-ouvertes.fr/tel-00602997/document
- Rougier, Nicolas P, 2014, Carte auto-organisatrices, Cours de Master 2 sciences Cognitives, Université de Bordeaux https://www.labri.fr/perso/nrougier/downloads/Kohonen.pdf
- Salakhutdinov, R., & Larochelle, H. 2010. Efficient learning of deep Boltzmann machines. In Proceedings of the thirteenth international conference on artificial intelligence and statistics(pp. 693-700). http://www.iro.umontreal.ca/~bengioy/ift6266/H12/html/deepgm_fr.html
merci pour ces partage
article très intéressant. Merci
http://virtuelcampus.univ-msila.dz/fll