Introduction aux encodeurs automatiques

C'est le cas du maillage neuronal artificiel utilisé pour découvrir un codage de données efficace sans surveillance. Le but de l'Autoencoder est utilisé pour apprendre la présentation d'un groupe de données en particulier pour la dimensionnalité. Les encodeurs automatiques ont une caractéristique unique où son entrée est égale à sa sortie en formant des réseaux de feedforwarding. L'encodeur automatique transforme l'entrée en données compressées pour former un code de faible dimension, puis retrace à nouveau l'entrée pour former la sortie souhaitée. Le code d'entrée compressé est également appelé représentation d'espace latent. En termes simples, l'objectif principal est de réduire la distorsion entre les circuits.

Il y a trois composants principaux dans Autoencoder. Ils sont Encodeur, Décodeur et Code. L'encodeur et le décodeur sont complètement connectés pour former un maillage d'acheminement. Le code agit comme une couche unique qui agit selon sa propre dimension. Pour développer un Autoencoder, vous devez définir un hyperparamètre c'est-à-dire que vous devez définir le nombre de nœuds dans la couche centrale. De manière plus détaillée, le réseau de sortie du décodeur est une image miroir du codeur d'entrée. Le décodeur produit la sortie souhaitée uniquement à l'aide de la couche de code.

Assurez-vous que l'encodeur et le décodeur ont les mêmes valeurs dimensionnelles. Le paramètre important pour définir l'encodeur automatique est la taille du code, le nombre de couches et le nombre de nœuds dans chaque couche.

La taille du code est définie par la quantité totale de nœuds présents dans la couche intermédiaire. Pour obtenir une compression efficace, la petite taille d'une couche intermédiaire est recommandée. Le nombre de couches dans l'encodeur automatique peut être profond ou peu profond comme vous le souhaitez. Le nombre de nœuds dans l'encodeur automatique doit être le même dans l'encodeur et le décodeur. La couche de décodeur et d'encodeur doit être symétrique.

Dans l'encodeur automatique empilé, vous avez une couche invisible dans l'encodeur et le décodeur. Il se compose d'images manuscrites d'une taille de 28 * 28. Maintenant, vous pouvez développer un encodeur automatique avec 128 nœuds dans la couche invisible avec 32 comme taille de code. Pour ajouter plusieurs nombres de couches, utilisez cette fonction

model.add(Dense(16, activation='relu'))
model.add(Dense(8, activation='relu'))

pour la conversion,

layer_1 = Dense(16, activation='relu')(input)
layer_2 = Dense(8, activation='relu')(layer_1)

Maintenant, la sortie de ce calque est ajoutée en tant qu'entrée au calque suivant. c'est la couche appelable dans cette méthode dense. Le décodeur remplit cette fonction. Il utilise la méthode sigmoïde pour obtenir une sortie entre 0 et 1. Puisque l'entrée se situe entre 0 et 1 plage

La reconstruction de l'entrée par un Autoencoder dans cette méthode se fait par prédiction. Le test d'image individuel est effectué et la sortie n'est pas exactement comme entrée mais similaire comme entrée. Pour surmonter ces difficultés, vous pouvez rendre l'encodeur automatique plus efficace en ajoutant de nombreuses couches et en ajoutant plusieurs nœuds aux couches. Mais en le rendant plus puissant, il en résulte une copie des données similaire à l'entrée. Mais ce n'est pas le résultat escompté.

Architecture d'Autoencoder

Dans cette architecture empilée, la couche de code a une petite valeur dimensionnelle par rapport aux informations d'entrée, dans laquelle elle est censée être sous codeur automatique complet.

1. Codeurs automatiques de débruitage

Dans cette méthode, vous ne pouvez pas copier le signal d'entrée sur le signal de sortie pour obtenir le résultat parfait. Parce qu'ici le signal d'entrée contient du bruit qui doit être soustrait avant d'obtenir le résultat qui est les données nécessaires sous-jacentes. Ce processus est appelé encodeur automatique de débruitage. La première ligne contient des images originales. Pour leur donner un signal d'entrée bruyant, des données bruyantes sont ajoutées. Vous pouvez maintenant concevoir l'autoencodeur pour obtenir une sortie sans bruit comme suit

autoencoder.fit(x_train, x_train)

Un encodeur automatique modifié est le suivant,

autoencoder.fit(x_train_noisy, x_train)

Par conséquent, vous pouvez facilement obtenir une sortie sans bruit.

L'encodeur automatique à convolution est utilisé pour gérer des signaux complexes et obtenir également un meilleur résultat que le processus normal

2. Encodeurs automatiques clairsemés

Pour utiliser efficacement les encodeurs automatiques, vous pouvez suivre deux étapes.

Définissez une petite taille de code et l'autre désencode automatiquement l'encodeur.

Ensuite, une autre méthode efficace est la régularisation. Pour appliquer cette régularisation, vous devez régulariser les contraintes de rareté. Pour activer certaines parties de nœuds dans la couche, ajoutez des termes supplémentaires à la fonction de perte qui pousse l'autoencodeur à effectuer chaque entrée en tant que petits nœuds combinés et permet au codeur de trouver des structures uniques dans les données données. Elle s'applique également à un grand nombre de données car seule une partie des nœuds est activée.

La valeur de contrainte de rareté est plus proche de zéro

Pour générer une couche de code,

code = Dense(code_size, activation='relu')(input_img)

Pour ajouter une valeur de régularisation,

code = Dense(code_size, activation='relu', activity_regularizer=l1(10e-6))(input_img)

Dans ce modèle, seulement 0, 01 est la perte finale également en raison du terme de régularisation.

Dans ce modèle clairsemé, un tas de valeurs de code est fidèle au résultat attendu. Mais il a des valeurs de variance assez faibles.

Les encodeurs automatiques régularisés ont des propriétés uniques comme la robustesse aux entrées manquantes, la représentation clairsemée et la valeur la plus proche des dérivés dans les présentations. Pour l'utiliser efficacement, conservez une taille de code minimale et un encodeur et un décodeur peu profonds. Ils découvrent une grande capacité d'entrées et n'ont pas besoin de terme de régularisation supplémentaire pour que l'encodage soit efficace. Ils sont formés pour donner un effet maximisé plutôt que de copier-coller.

3. Encodeur automatique variationnel

Il est utilisé dans des cas complexes et trouve les chances de distribution en concevant les données d'entrée. Cet encodeur automatique variationnel utilise une méthode d'échantillonnage pour obtenir sa sortie effective. Il suit la même architecture que les encodeurs automatiques régularisés

Conclusion

Par conséquent, les auto-encodeurs sont utilisés pour apprendre des données et des images du monde réel, impliquées dans les classifications binaires et multiclasses. Son processus simple de réduction de dimensionnalité. Il est appliqué dans une machine Boltzmann restreinte et y joue un rôle vital. Il est également utilisé dans l'industrie biochimique pour découvrir la partie non révélée de l'apprentissage et utilisé pour identifier le modèle de comportement intelligent. Chaque composant de l'apprentissage automatique a un caractère auto-organisé, Autoencoder est l'un de ceux qui réussissent l'apprentissage en intelligence artificielle

Articles recommandés

Ceci est un guide pour les encodeurs automatiques. Nous discutons ici les principaux composants d'Autoencoder qui sont un encodeur, un décodeur et un code et l'architecture d'Autoencoder. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Architecture Big Data
  2. Encodage vs décodage
  3. Architecture d'apprentissage automatique
  4. Technologies Big Data

Catégorie: