IA 101
Qu’est-ce que l’apprentissage profond ?
L’apprentissage profond est l’un des domaines les plus influents et les plus rapides de l’intelligence artificielle. Cependant, obtenir une compréhension intuitive de l’apprentissage profond peut être difficile car le terme d’apprentissage profond couvre une variété d’algorithmes et de techniques différents. L’apprentissage profond est également une sous-discipline de l’apprentissage automatique en général, il est donc important de comprendre ce qu’est l’apprentissage automatique pour comprendre l’apprentissage profond.
Qu’est-ce que l’apprentissage automatique ?
L’apprentissage profond est une extension de certains concepts issus de l’apprentissage automatique, nous allons donc prendre un moment pour expliquer ce qu’est l’apprentissage automatique.
L’apprentissage automatique est une méthode qui permet aux ordinateurs d’effectuer des tâches spécifiques sans coder explicitement chaque ligne des algorithmes utilisés pour accomplir ces tâches. Il existe de nombreux algorithmes d’apprentissage automatique, mais l’un des algorithmes les plus couramment utilisés est un perceptron multicouche. Un perceptron multicouche est également appelé réseau neuronal, et il est composé d’une série de nœuds/neurones liés entre eux. Il y a trois couches différentes dans un perceptron multicouche : la couche d’entrée, la couche cachée et la couche de sortie.
La couche d’entrée prend les données en entrée du réseau, où elles sont manipulées par les nœuds de la couche moyenne/cachée. Les nœuds de la couche cachée sont des fonctions mathématiques qui peuvent manipuler les données provenant de la couche d’entrée, en extrayant des modèles pertinents à partir des données d’entrée. C’est ainsi que le réseau neuronal « apprend ». Les réseaux neuronaux tirent leur nom du fait qu’ils sont inspirés de la structure et du fonctionnement du cerveau humain.
Les connexions entre les nœuds du réseau ont des valeurs appelées poids. Ces valeurs sont essentiellement des hypothèses sur la façon dont les données d’une couche sont liées aux données de la couche suivante. Au fur et à mesure que le réseau s’entraîne, les poids sont ajustés, et l’objectif est que les poids/hypothèses sur les données convergent finalement vers des valeurs qui représentent avec précision les modèles significatifs au sein des données.
Les fonctions d’activation sont présentes dans les nœuds du réseau, et ces fonctions d’activation transforment les données de manière non linéaire, permettant au réseau d’apprendre des représentations complexes des données. Les fonctions d’activation multiplient les valeurs d’entrée par les valeurs de poids et ajoutent un terme de biais.
Qu’est-ce que l’apprentissage profond ?
L’apprentissage profond est le terme donné aux architectures d’apprentissage automatique qui relient de nombreux perceptrons multicouches, de sorte qu’il n’y a pas qu’une seule couche cachée mais de nombreuses couches cachées. Plus le réseau neuronal profond est « profond », plus les modèles qu’il peut apprendre sont sophistiqués.
Les réseaux de neurones profonds composés de neurones sont parfois appelés réseaux entièrement connectés ou couches entièrement connectées, en référence au fait qu’un neurone donné maintient une connexion avec tous les neurones qui l’entourent. Les réseaux entièrement connectés peuvent être combinés avec d’autres fonctions d’apprentissage automatique pour créer différentes architectures d’apprentissage profond.
Différents types d’apprentissage profond
Il existe une variété d’architectures d’apprentissage profond utilisées par les chercheurs et les ingénieurs, et chaque architecture a son propre cas d’utilisation spécial.
Réseaux de neurones convolutionnels
Les réseaux de neurones convolutionnels, ou CNN, sont l’architecture de réseau neuronal couramment utilisée pour la création de systèmes de vision par ordinateur. La structure des réseaux de neurones convolutionnels leur permet d’interpréter les données d’images, en les convertissant en nombres que un réseau entièrement connecté peut interpréter. Un CNN a quatre composants principaux :
- Couches de convolution
- Couches de sous-échantillonnage/池isation
- Fonctions d’activation
- Couches entièrement connectées
Les couches de convolution prennent les images comme entrées du réseau, en analysant les images et en obtenant les valeurs des pixels. Le sous-échantillonnage ou la池isation est où les valeurs d’images sont converties/réduites pour simplifier la représentation des images et réduire la sensibilité des filtres d’images au bruit. Les fonctions d’activation contrôlent la façon dont les données s’écoulent d’une couche à l’autre, et les couches entièrement connectées analysent les valeurs qui représentent l’image et apprennent les modèles contenus dans ces valeurs.
RNN/LSTM
Les réseaux de neurones récurrents, ou RNN, sont populaires pour les tâches où l’ordre des données est important, où le réseau doit apprendre à partir d’une séquence de données. Les RNN sont couramment appliqués à des problèmes tels que le traitement du langage naturel, car l’ordre des mots est important lors de la décodage du sens d’une phrase. La partie « récurrente » du terme Réseau de neurones récurrente vient du fait que la sortie pour un élément donné dans une séquence dépend de la computation précédente ainsi que de la computation actuelle. Contrairement à d’autres formes de réseaux de neurones profonds, les RNN ont des « mémoires », et les informations calculées aux différentes étapes de la séquence sont utilisées pour calculer les valeurs finales.
Il existe plusieurs types de RNN, notamment les RNN bidirectionnelles, qui prennent en compte les éléments futurs de la séquence, en plus des éléments précédents, lors du calcul de la valeur d’un élément. Un autre type de RNN est un réseau de neurones à mémoire courte et longue terme, ou LSTM. Les LSTM sont des types de RNN qui peuvent gérer de longues chaînes de données. Les RNN réguliers peuvent être victimes d’un problème appelé « problème de gradient explosif ». Ce problème se produit lorsque la chaîne de données d’entrée devient extrêmement longue, mais les LSTM ont des techniques pour lutter contre ce problème.
Auto-encodeurs
La plupart des architectures d’apprentissage profond mentionnées jusqu’à présent sont appliquées à des problèmes d’apprentissage supervisé, plutôt qu’à des tâches d’apprentissage non supervisé. Les auto-encodeurs peuvent transformer des données non supervisées en un format supervisé, permettant aux réseaux de neurones d’être utilisés sur le problème.
Les auto-encodeurs sont fréquemment utilisés pour détecter les anomalies dans les ensembles de données, un exemple d’apprentissage non supervisé car la nature de l’anomalie n’est pas connue. De tels exemples de détection d’anomalies incluent la détection de fraude pour les institutions financières. Dans ce contexte, l’objectif d’un auto-encodeur est de déterminer une base de modèles réguliers dans les données et d’identifier les anomalies ou les valeurs aberrantes.
La structure d’un auto-encodeur est souvent symétrique, avec des couches cachées disposées de telle sorte que la sortie du réseau ressemble à l’entrée. Les quatre types d’auto-encodeurs qui sont fréquemment utilisés sont :
- Auto-encodeurs réguliers/plains
- Encodeurs multilayer
- Encodeurs convolutionnels
- Encodeurs régularisés
Les auto-encodeurs réguliers/plains ne sont que des réseaux de neurones avec une seule couche cachée, tandis que les auto-encodeurs multilayer sont des réseaux profonds avec plus d’une couche cachée. Les auto-encodeurs convolutionnels utilisent des couches de convolution au lieu de, ou en plus de, des couches entièrement connectées. Les auto-encodeurs régularisés utilisent une fonction de perte spécifique qui permet au réseau de neurones d’effectuer des fonctions plus complexes, des fonctions autres que simplement copier les entrées vers les sorties.
Réseaux antagonistes génératifs
Les réseaux antagonistes génératifs (GAN) sont en réalité plusieurs réseaux de neurones profonds au lieu d’un seul réseau. Deux modèles d’apprentissage profond sont formés en même temps, et leurs sorties sont alimentées dans l’autre réseau. Les réseaux sont en concurrence les uns avec les autres, et comme ils ont accès aux données de sortie de l’autre réseau, ils apprennent tous les deux à partir de ces données et s’améliorent. Les deux réseaux jouent essentiellement un jeu de contrefaçon et de détection, où le modèle génératif tente de créer de nouvelles instances qui tromperont le modèle détecteur/le discriminateur. Les GAN sont devenus populaires dans le domaine de la vision par ordinateur.
Résumé de l’apprentissage profond
L’apprentissage profond étend les principes des réseaux de neurones pour créer des modèles sophistiqués qui peuvent apprendre des modèles complexes et généraliser ces modèles à des ensembles de données futurs. Les réseaux de neurones convolutionnels sont utilisés pour interpréter les images, tandis que les RNN/LSTM sont utilisés pour interpréter les données séquentielles. Les auto-encodeurs peuvent transformer des tâches d’apprentissage non supervisées en tâches d’apprentissage supervisées. Enfin, les GAN sont plusieurs réseaux qui sont opposés les uns aux autres et sont particulièrement utiles pour les tâches de vision par ordinateur.












