Les auto-encodeurs expliqués en détail
Le Deep Learning est une technologie de pointe qui a récemment attiré l’attention du cercle informatique. Il permet de faire l’extraction, la transformation des caractéristiques et la prédiction. L’apprentissage profond permet de faire de l’apprentissage supervisé et non supervisé. En effet, les trois algorithmes du Deep Learning qui font de l’apprentissage non supervisé sont la Machine de Boltzmann restreinte, les auto-encodeurs et le modèle de codage clairsemé. Dans cet article, nous allons se focaliser sur les auto-encodeurs. Vous pouvez savoir plus sur le deep learning en lisant mon article qui se trouve ici https://jafwin.com/2020/07/02/lessentiel-a-savoir-sur-deep-learning-pour-debuter/
Le fonctionnement des auto-encodeurs
Un Auto-encodeur est un réseau de neurones artificiels qui est souvent utilisé dans l’apprentissage des caractéristiques discriminantes d’un ensemble de données. Il peut être vu comme l’ensemble d’un encodeur et décodeur.
En effet, l’encodeur est constitué par un ensemble de couches de neurones, qui traitent les données afin d’obtenir une nouvelle représentation des données tandis que les couches de neurones du décodeur analysent les données encodées pour essayer de reconstruire les données d’origines. Généralement, la nouvelle représentation des données a moins de caractéristiques. Ce qui permet de réduire la dimensionalité des données d’origines. La différence entre les données d’origines et les données reconstruites par le décodeur permet d’évaluer l’erreur de reconstruction. Le but de l’entrainement de l’auto-encodeur est de modifier les paramètres afin de minimiser l’erreur de reconstruction.
Il ne nécessite pas de données labelisées, et peut ainsi être utilisé pour réduire l’effort de labélisation des données. L’auto-encodeur est donc classé comme une technique d’apprentissage non supervisé. La couche la plus importante est la couche encodée, qui permet d’avoir une nouvelle représentation des données. Le nombre de neurones dans les couches cachées doit être inférieur à celui des couches d’entrées pour permettre aux couches cachées à apprendre plus de modèles de données et à ignorer les « bruits ». Si le nombre de neurones dans les couches cachées est supérieur à celui des couches d’entrée, le réseau neuronal aura trop de capacité pour apprendre des données. Dans un cas extrême, il pourrait simplement copier l’entrée dans les valeurs de sortie, y compris les bruits, sans extraire aucune information essentielle.
L’architecture d’un auto-encodeur
L’image de la figure ci-dessous montre l’architecture d’un auto-encodeur. Elle est constituée des couches de neurones de codage et de décodage. Les couches de codage compriment les données d’origines d’entrée pour permettre d’avoir une representation comprimée des données . Tandis que Les couches de décodage essayent de reconstruire les données d’origines à partie des données comprimées.
Les avantages d’utiliser les auto-encodeurs pour la réduction des dimensions
Bien que l’analyse en composantes principales (ACP) permette de réduire les dimensions, il faut souligner que l’ACP utilise l’algèbre linéaire pour se transformer. En revanche, les techniques d’auto-encodeurs peuvent effectuer des transformations non linéaires avec leur fonction d’activation non linéaire et leurs couches multiples. Il est plus efficace de former plusieurs couches avec un auto-encodeur, plutôt que de former une énorme transformation avec l’ACP . Les techniques d’auto-encodeur montrent donc leurs avantages lorsque les données sont de nature complexes et non linéaires. De plus, un article jalon de Geoffrey Hinton (2006) a montré qu’un auto-encodeur entraîné produise une erreur plus petite par rapport aux 30 premiers composants principaux d’un ACP et une meilleure séparation des grappes.