Cet article est également disponible en anglais.
Read in English

Réseau neuronal simplifié partie 2 : Les types de réseaux

5 min de lecture
Réseau neuronal simplifié partie 2 : Les types de réseaux
Dans mon dernier article, j’ai brièvement présenté les réseaux de neurones et la façon dont ils prennent des décisions. Mais le sujet est évidemment assez complexe et j’ai utilisé un réseau de base comme exemple. Dans ce deuxième article de ma série sur les réseaux de neurones, je vais vous montrer les principaux types de […]

Dans mon dernier article, j’ai brièvement présenté les réseaux de neurones et la façon dont ils prennent des décisions. Mais le sujet est évidemment assez complexe et j’ai utilisé un réseau de base comme exemple. Dans ce deuxième article de ma série sur les réseaux de neurones, je vais vous montrer les principaux types de réseau qui existent. Le but n’est pas de vous faire comprendre mais, je l’espère, de vous émerveiller devant la beauté de certains de ces concepts.

Réseau de neurones à propagation avant

La forme la plus simple de réseaux de neurones que j’ai présentée dans le dernier article est appelée réseaux de neurones à propagation avant. Ce type de réseau est très général, il reçoit des nombres et renvoie d’autres nombres. J’ai expliqué leur fonctionnement interne dans cet article.

Ces réseaux peuvent résoudre un grand nombre de problèmes, mais cette flexibilité les rend lourds. Cela signifie une plus grande utilisation de la mémoire et plus de temps pour les entraîner. En effet, ces réseaux ont tendance à comprendre beaucoup plus de paramètres que les autres type.

Réseaux de neurones à convolution

Les réseaux neuronaux convolutifs (CNN) sont conçus pour traiter des images. Pour ce faire, les CNN tirent parti de la structure de l’image : les pixels les plus proches sont plus apparentés. Cette relation entre les pixels est saisie grâce à l’utilisation de couches dites de convolution et de pooling. Cette hypothèse sur la structure d’entrée réduit considérablement le nombre de paramètres que le réseau doit apprendre, ce qui le rend plus facile à former et plus léger en mémoire.

Les couches de convolution modélisent la relation entre les pixels proches et les couches de pooling réduisent la taille de l’image. Le pooling réduit essentiellement la distance en pixels entre les objets de l’image. Ainsi, chaque opération de pooling permet à l’opération de convolution suivante de regarder plus loin. Aujourd’hui, les CNNs sont utilisés pour des tâches telles que la reconnaissance faciale, les voitures automatique, les diagnostics médicaux, et bien plus encore.

Réseaux de neurones récurrents

Si vous souhaitez traiter des données séquentielles (son ou texte), vous pouvez utiliser des réseaux neuronaux récurrents (RNN). Ces réseaux adoptent une autre contrainte : les données sont séquentielles, c’est-à-dire que chaque élément est affecté par celui qui le précède. Dans les RNN, l’entrée n’est pas alimentée en une seule fois, mais élément par élément, le réseau se souvient des éléments passés pour prendre les décisions présentes. Donc, les RNN peuvent traiter des données de taille indéfinie, ce qui n’est pas le cas pour la plupart des autres architectures.

Le problème est que les RNN ont une mémoire de courte. C’est une conséquence de la façon dont les mathématiques fonctionnent. Pour remédier à ce problème, une version améliorée des RNN a été inventée : LSTMs (Long-short-term memory). Les LSTMs stocke leur mémoire différemment et apprennent quand se souvenir et quand oublier. Une autre amélioration est venue sous la forme de LSTMs bidirectionnels ou Bi-LSTMs, qui utilisent deux LSTMs qui fonctionnent dans les deux sens. Les LSTM et les RNN classiques ne regardent que le passé, tandis que les BiLSTM regardent aussi vers l’avenir.

Ces types de réseaux neuronaux sont utilisés de diverses manières. Lorsqu’il s’agit de données textuelles, ils peuvent traduire entre les langues et engager une conversation. Lorsqu’il s’agit de sons, ils peuvent créer des voix humaines ou de la musique.

Système de réseaux

Les réseaux neuronaux antagonistes générateurs (GAN) sont des systèmes de deux réseaux en compétition. Le générateur est chargé de produire des données crédibles, par exemple des visages humains, et le discriminateur est formé pour différencier les images réelles de celles produites par le premier réseau.

Ainsi, le premier réseau tente de tromper le second et le second tente de déjouer le premier. Cette compétition stimule le processus d’apprentissage et les résultats sont étonnants. Nous utilisons les GAN lorsque nous souhaitons générer des données artificielles telles que des images, de la voix et du texte, mais elles peuvent également être utilisées à d’autres fins.

Les GAN ne sont qu’une forme de systèmes de réseaux. Il existe de nombreuses autres architectures dans lesquelles deux ou plusieurs réseaux travaillent en coopération ou en compétition pour apprendre à résoudre une tâche. Ces systèmes de réseaux offrent d’incroyables possibilités pour créer des interactions entre les réseaux.

Autres types de réseaux

Les transformers sont la nouvelle architecture révolutionnaire qui fait concurrence aux (bi-)LSTM et aux CNN. Les transformers utilisent le mécanisme dit d’attention ; ils apprennent où ils doivent prêter attention dans une image, un son ou un texte afin de prendre une décision. Open AI a récemment publié GPT-3, un transformer avec 175 milliards de paramètres qui a nécessité environ 4 millions de dollars pour l’entraîner. Il a été alimenté par plus de 40 TB de données textuelles anglaises brut et a appris ,sans supervision, la grammaire, la syntaxe, l’orthographe, la relation sémantique entre les mots et bien plus encore.

Les auto-encoders sont un autre type impressionnant de réseaux de neurones. Leur caractéristique principale est qu’ils ont la forme d’un sablier, plus mince au milieu qu’aux extrémités. Ils sont entraîné pour reproduire exactement ce qui a été entré. Cela peut sembler inutile, mais c’est en fait extrêmement important. Comme les données sont obligées de passer par un espace de dimension inférieure pour sortir à l’autre bout, le réseau apprend à compresser les données efficacement.

Ainsi, ces réseaux peuvent apprendre à compresser des données avec peu de perte de qualité. L’inconvénient est que si vous donnez à l’un de ces réseaux des données qu’il n’a jamais vues, il fera un travail beaucoup moins bon. Mais si l’on souhaite compresser un film, par exemple, ces réseaux peuvent certainement le compresser bien mieux que n’importe quel autre algorithme de compression. C’est parce qu’ils sont contraints d’apprendre à compresser ce film et aucun autre, ce qui conduit à une bien meilleure compression. Netflix les utilise pour améliorer la qualité vidéo pour les connexions Internet lentes.

Dans cet article, je vous ai brièvement décrit les principaux types d’architectures utilisés dans les réseaux de neurones. Chacune a été développée pour traiter un type spécifique de données, une tâche ou pour améliorer l’architecture précédente. J’espère que cette brève introduction dans le monde des réseaux de neurones a été intéressant. Cette technologie est vraiment incroyable et va révolutionner le monde d’une manière que nous ne comprenons pas encore.

Judicael Poumay (Ph.D.)

Judicael Poumay (Ph.D.)

Suivez-moi sur LinkedIn pour du contenu hebdomadaire Judicaël Poumay

En tant que chercheur/développeur IA indépendant spécialisé en Traitement du Langage Naturel (NLP), j'ai une expertise complète dans le développement et l'intégration de systèmes d'IA, ainsi que l'analyse de données.

Votre entreprise cherche à intégrer des solutions IA, analyser des données ou renforcer son développement back-end ? Contactez-moi !

Offrez-moi une bière 🍺

Articles Similaires

Les réseaux de neurones simplifié partie 1 : leur fonctionnement interne
Artificial IntelligenceMachine Learning

Les réseaux de neurones simplifié partie 1 : leur fonctionnement interne

Cet article est le premier d’une série dans laquelle je vais tenter d’expliquer les réseaux de neurones aussi simplement que possible. Les réseaux neuronaux artificiels sont aujourd’hui les outils les plus omniprésents et les plus complexes dans le domaine de l’intelligence artificielle. Dans de nombreux cas, ils sont composé de millions de neurones et apprenne […]

4 min de lecture
Réseau de neurones simplifié partie 3 : apprentissage
Artificial IntelligenceMachine Learning

Réseau de neurones simplifié partie 3 : apprentissage

Ce qui différencie l’intelligence artificielle (IA) des autres programmes informatiques est leur capacité à apprendre ; leur comportement n’est pas seulement décidé par les programmeurs mais aussi par leur propre expérience. C’est pourquoi l’IA peut nous surpasser dans de nombreuses tâches. Dans cet article, je vais essayer de vous montrer comment les réseaux neuronaux apprennent. […]

5 min de lecture
Les mystères des réseaux de neurones
Artificial IntelligenceMachine Learning

Les mystères des réseaux de neurones

Les réseaux neuronaux artificiels sont l’une des découvertes les plus impressionnantes de l’humanité. Ce sont des structures mathématiques capables d’apprendre un large éventail de tâches, de la traduction automatique à la classification d’images en passant par de meilleurs algorithmes de compression vidéo. Ils sont devenus omniprésents dans le domaine de l’intelligence artificielle, supplantant la plupart […]

4 min de lecture