La thĂ©orie des auto-encodeurs et des modĂšles gĂ©nĂ©rateurs a rĂ©cemment Ă©tĂ© sĂ©rieusement dĂ©veloppĂ©e, mais pas mal de travaux sont consacrĂ©s Ă leur utilisation dans les problĂšmes de reconnaissance. Dans le mĂȘme temps, la propriĂ©tĂ© des auto-encodeurs d'obtenir un modĂšle de donnĂ©es paramĂ©triques cachĂ© et les consĂ©quences mathĂ©matiques de celui-ci permettent de les associer aux mĂ©thodes dĂ©cisionnelles bayĂ©siennes.
L'article propose un appareil mathĂ©matique original «un ensemble d'auto-encodeurs avec un espace latent commun», qui vous permet d'extraire des concepts abstraits des donnĂ©es d'entrĂ©e et dĂ©montre la capacitĂ© à «l'apprentissage ponctuel». De plus, il peut ĂȘtre utilisĂ© pour surmonter de nombreux problĂšmes fondamentaux des algorithmes modernes d'apprentissage automatique basĂ©s sur des rĂ©seaux multicouches et l'approche «Deep learning».
Contexte
Les rĂ©seaux de neurones artificiels, formĂ©s Ă l'aide du mĂ©canisme de rĂ©tropropagation des erreurs, ont presque remplacĂ© d'autres approches dans de nombreux problĂšmes de reconnaissance et d'estimation des paramĂštres. Mais ils prĂ©sentent un certain nombre d'inconvĂ©nients qui, semble-t-il, ne peuvent ĂȘtre Ă©liminĂ©s sans une rĂ©vision sĂ©rieuse de l'approche:
- instabilitĂ© extrĂȘme pour saisir des donnĂ©es non trouvĂ©es dans l'Ă©chantillon de formation (y compris dans le cas d'attaques contradictoires)

- il est difficile d'évaluer la source du problÚme et de se recycler localement à l'un des niveaux (il suffit de compléter l'échantillon de formation et de se recycler), c'est-à -dire problÚme de boßte noire
- la possibilitĂ© d'interprĂ©tations diffĂ©rentes des mĂȘmes informations d'entrĂ©e n'est pas fournie, la nature statistique des donnĂ©es observĂ©es est ignorĂ©e

Ătant engagĂ© dans la rĂ©solution de problĂšmes appliquĂ©s et en s'appuyant sur un certain nombre d'ouvrages existants, je propose une approche qui est sensiblement diffĂ©rente des travaux existants, Ă©limine un certain nombre de leurs lacunes et est applicable pour rĂ©soudre des problĂšmes appliquĂ©s dans divers domaines de l'apprentissage automatique.
Encodeur automatique pour estimer la densité de distribution
Dans la théorie de la prise de décision, une place trÚs importante est occupée par la densité de distribution (ou fonction de distribution) des variables aléatoires. Il est nécessaire d'avoir des estimations des fonctions de distribution pour calculer le risque postérieur.
Il s'avÚre que les encodeurs automatiques sont trÚs naturels pour évaluer les fonctions de distribution. Cela peut s'expliquer comme suit: l'ensemble de données d'apprentissage est déterminé par la densité de leur distribution. Plus la densité d'exemples d'apprentissage est élevée autour d'un point local dans l'espace d'entrée, mieux l'auto-encodeur reconstruit le vecteur d'entrée à cet emplacement dans l'espace. De plus, à l'intérieur de l'autoencodeur, il y a un vecteur de représentation latente des données d'entrée (généralement de faible dimension), et si les données sont projetées dans l'espace latent dans une zone qui n'a pas été précédemment utilisée dans la formation, alors il n'y avait rien de similaire dans l'échantillon d'apprentissage.
Il existe un certain nombre d'Ćuvres fermĂ©es et quelque peu isolĂ©es:
- Alain, G. et Bengio, Y. Ce que les autoencodeurs régularisés apprennent de la distribution de génération de données. 2013.
- Kamyshanska, H. 2013. Sur la notation de l'encodeur automatique
- Daniel Jiwoong Im, Mohamed Ishmael Belghazi, Roland Memisevic. 2016. Conservativité des auto-encodeurs non liés
Le premier justifie que le rĂ©sultat de la reconstruction de dĂ©bruitage des auto-encodeurs est liĂ© Ă la fonction de densitĂ© de probabilitĂ© des donnĂ©es d'entrĂ©e, mais un certain nombre de restrictions sont imposĂ©es aux auto-encodeurs. La seconde contient des exigences suffisantes pour l'encodeur automatique - les poids de l'encodeur et du dĂ©codeur doivent ĂȘtre «connectĂ©s», c'est-Ă -dire la matrice de pondĂ©ration de la couche codeur est la matrice transposĂ©e du dĂ©codeur. Dans le dernier travail, les conditions nĂ©cessaires et suffisantes pour le fait que le codeur automatique est associĂ© Ă une densitĂ© de probabilitĂ© sont Ă©tudiĂ©es plus en dĂ©tail.
Ces travaux étayent strictement la base théorique de la relation des autoencodeurs avec la densité de distribution des données de formation. Dans les problÚmes appliqués, une analyse aussi sérieuse n'est souvent pas nécessaire, par conséquent, une approche légÚrement différente sera donnée ci-dessous qui nous permettra d'estimer la fonction de densité de probabilité des données d'entrée grùce à un autoencodeur préalablement formé.
Exemple MNIST
Dans des travaux encore antérieurs, l'idée empirique a été proposée que pour le problÚme de classification, il est possible de former des auto-encodeurs par le nombre de classes (en enseignant chacune d'elles uniquement sur le sous-échantillon correspondant). Et choisissez comme réponse la classe et l'encodeur automatique qui donnent le minimum d'écart entre l'image d'entrée et l'image reconstruite. Il n'a pas été difficile de vérifier sur MNIST: pour former 10 auto-encodeurs (pour chaque chiffre), calculer la précision, puis comparer avec un modÚle multicouche similaire du classificateur.
Scripts de formation et de test sur git (train_ae.py, calc_codes.py, calc_acc.py)
Architecture et nombre de poids:

Encodeurs automatiques: 98,6%
Classificateur de perceptron multicouche: 98,4%
Un lecteur attentif remarquera qu'il y avait 10 fois plus de poids dans les encodeurs automatiques (par leur nombre). Cependant, une augmentation de 10 fois du nombre de poids dans la couche cachée dans un perceptron multicouche ne fait qu'aggraver les statistiques.
Bien sûr, les réseaux de convolution offrent une précision beaucoup plus élevée, mais la tùche consistait uniquement à comparer les approches, toutes choses étant égales par ailleurs.
En consĂ©quence, on peut noter que l'approche avec les auto-encodeurs est assez compĂ©titive avec les rĂ©seaux entiĂšrement connectĂ©s. Et mĂȘme s'il faut beaucoup plus de temps pour optimiser les poids, il prĂ©sente un avantage important: la capacitĂ© de dĂ©tecter des anomalies dans les donnĂ©es d'entrĂ©e. Si aucun des auto-encodeurs n'a pu reconstruire avec prĂ©cision l'image d'entrĂ©e, alors nous pouvons affirmer qu'une image anormale qui ne s'est pas produite dans l'Ă©chantillon d'apprentissage a Ă©tĂ© entrĂ©e. Ă strictement parler, vous pouvez reconstruire une image non pas Ă partir de l'Ă©chantillon d'entrĂ©e, mais ce qu'il faut faire dans cette situation sera montrĂ© plus tard.
Considérons un seul encodeur automatique
Il est possible, d'une maniÚre légÚrement différente de celle des articles ci-dessus, d'effectuer une analyse qualitative de la relation entre la densité de probabilité des données d'entrée p (x) et la réponse de l'autoencodeur.
Encodeur automatique - utilisation séquentielle de la fonction d'encodeur
z=g(x) et décodeur
xâ=f(z) oĂč
x Est le vecteur d'entrée, et
z - performances latentes. Dans un sous-ensemble d'entrées (généralement proche de la formation)
xâ=x+n=f(g(x)) oĂč
n - divergence. Nous acceptons la diffĂ©rence du bruit de Gausovsky (ses paramĂštres peuvent ĂȘtre estimĂ©s aprĂšs la formation de l'autoencodeur). En consĂ©quence, un certain nombre d'hypothĂšses assez solides sont Ă©mises:
1) divergence - bruit gaussien
2) l'encodeur automatique est déjà «formé» et fonctionne
Mais, surtout, presque aucune restriction ne sera imposĂ©e Ă l'auto-encodeur lui-mĂȘme.
En outre, une estimation qualitative de la densitĂ© de probabilitĂ© p (x) peut ĂȘtre obtenue, sur la base de laquelle plusieurs conclusions trĂšs importantes Ă l'avenir peuvent ĂȘtre tirĂ©es.
Score P (x) pour un seul encodeur automatique
Densité de distribution pour
x dansX et
z inZ liés comme suit:
p(x)= intzp(x|z)p(z)dz(1)
Nous devons obtenir la connexion p (x) et p (z). Pour certains encodeurs automatiques, p (z) est défini au stade de leur apprentissage; pour d'autres, p (z) est encore plus facile à obtenir en raison de la plus petite dimension Z.
La distribution de densité du n résiduel est connue, ce qui signifie:
p(n)=const timesexp(â frac(xf(z))T(xf(z))2 sigma2)=p(x|z)(2)
(xâf(z))T(xâf(z)) Est la distance entre x et sa projection x *. Ă un certain point z *, cette distance atteindra son minimum. Ă ce stade, les dĂ©rivĂ©es partielles de l'argument de l'exposant dans la formule (2) par rapport Ă
zi (Axe Z) sera nul:
0= frac partialf(zâ) partialziT(xf(zâ))+(xf(zâ))T frac partialf(zâ) partialzi
Ici
frac partialf(zâ) partialziT(xâf(zâ)) scalaire alors:
0= frac partialf(zâ) partialziT(xâf(zâ))(3)
Le choix du point z *, oĂč la distance
(xâf(z))T(xâf(z)) minime en raison du processus d'optimisation de l'encodeur automatique. Pendant l'entraĂźnement, c'est le rĂ©sidu quadratique qui est minimisĂ© (en rĂšgle gĂ©nĂ©rale):
min limits theta, forallx inXtrainL2norm(xâf theta(g theta(x))) oĂč
theta - le poids de l'encodeur. C'est-Ă -dire aprĂšs l'entraĂźnement, g (x) tend vers z *.
Nous pouvons également étendre
f(z) dans une série de Taylor (jusqu'au premier terme) autour de z *:
f(z)=f(zâ)+ nablaf(zâ)(zâzâ)+o((zâzâ))
Donc, maintenant l'équation (2) devient:
p(x|z) approxconst timesexp(â frac((xf(zâ))â nablaf(zâ)(zzâ))T((xf(zâ))â nablaf(zâ)(zzâ))2 sigma2)=
=const timesexp(â frac(xf(zâ))T(xf(zâ))2 sigma2)exp(â frac( nablaf(zâ)(zzâ))T( nablaf(zâ)(zzâ))2 sigma2) times
timesexp(â frac( nablaf(zâ))T(xf(zâ))+(xf(zâ))T nablaf(zâ))(zzâ)2 sigma2)
Notez que le dernier facteur est 1 en raison de l'expression (3). Le premier facteur peut ĂȘtre supprimĂ© par le signe de l'intĂ©grale (il ne contient pas z) dans (1). Et supposons Ă©galement que p (z) est une fonction suffisamment lisse et ne change pas beaucoup au voisinage de z *, c'est-Ă -dire remplacer p (z) -> p (z *).
AprÚs toutes les hypothÚses, l'intégrale (1) a l'estimation:
p(x)=const timesp(zâ)exp(â frac(xf(zâ))T(xf(zâ))2 sigma2) intzexp(â(zzâ)TW(x)TW(x)(zzâ))dz,zâ=g(x)
oĂč
W(x)= frac nablaf(zâ) sigma,zâ=g(x)La derniĂšre intĂ©grale est l'intĂ©grale d'Euler-Poisson Ă n dimensions:
intzexp(â frac(zzâ)TW(x)TW(x)(zzâ)2)dz= sqrt frac1det(W(x)TW(x)/2 pi)
En conséquence, nous avons obtenu l'estimation finale p (x):
p(x)=const timesexp(â frac(xf(zââ))T(xf(zâ))2 sigma2)p(zâ) sqrt frac1det(W(x)TW(x)/2 pi),zâ=g(x)(4)
Tous ces calculs étaient nécessaires pour montrer que p (x) dépend de trois facteurs:
- La distance entre le vecteur d'entrée et sa reconstruction, pire il est restauré, plus petit p (x)
- Densités de probabilité p (z *) à z * = g (x)
- Normalisation de la fonction p (z) au point z *, qui est calculée pour l'autoencodeur à partir de dérivées partielles de la fonction f
Et à partir de la constante de normalisation, qui sera ensuite responsable de la probabilité a priori de choisir un encodeur automatique pour décrire les données d'entrée.
Malgré toutes les hypothÚses, le résultat était trÚs significatif et utile du point de vue des calculs.
Classification des paramÚtres ou procédure de notation
Vous pouvez maintenant décrire plus précisément la procédure de classification à l'aide d'un ensemble d'auto-encodeurs:
- Formation de codeurs automatiques indépendants pour chaque classe sur la sortie correspondante
- Calcul de la matrice W pour chaque autoencodeur
- Score P (z) pour chaque encodeur automatique
Et pour chaque vecteur d'entrée, vous pouvez évaluer maintenant
p(x|classe) par le nombre de classes. Et ce sera la fonction de vraisemblance qui est nécessaire pour la prise de décision dans le cadre de la rÚgle bayésienne pour la prise de décision.
De la mĂȘme maniĂšre, des paramĂštres inconnus peuvent Ă©galement ĂȘtre estimĂ©s en divisant l'espace des paramĂštres en valeurs discrĂštes, en entraĂźnant votre propre encodeur automatique pour chaque valeur. Et puis, en fonction du meilleur score bayĂ©sien, choisissez la valeur qui donne la fonction de vraisemblance maximale.
Ici, il convient de noter que, formellement, le problÚme de l'estimation de p (z) n'est pas plus simple que l'estimation de p (x). Mais en pratique, ce n'est pas le cas. L'espace Z a généralement une dimension beaucoup plus petite, ou la distribution est généralement définie lors de l'optimisation des poids de l'auto-encodeur.
L'idée de combiner l'espace latent des auto-encodeurs
Il y a une curieuse interprétation proposée par Alexei Redozubov et décrite dans les articles suivants:
- Une architecture de réseau neuronal artificiel basée sur des transformations de contexte dans des minicolonnes corticales. Vasily Morzhakov, Alexey Redozubov
- Mémoire holographique: un nouveau modÚle de traitement de l'information par les microcircuits neuronaux. Alexey Redozubov, Springer
- Pas du tout des réseaux de neurones. Morzhakov V.
Les informations peuvent avoir une interprĂ©tation complĂštement diffĂ©rente dans diffĂ©rents contextes. Le modĂšle d'un «ensemble d'encodeurs automatiques» fait Ă©cho Ă cette idĂ©e proposĂ©e. Tout encodeur automatique est un modĂšle latent de donnĂ©es d'entrĂ©e dans le mĂȘme contexte (une classe ou d'autres paramĂštres fixes), c'est-Ă -dire le vecteur latent est une interprĂ©tation et chaque auto-encodeur est un contexte. Lors de la rĂ©ception des informations d'entrĂ©e, elles sont prises en compte dans chaque contexte (par chaque auto-encodeur), et le contexte est sĂ©lectionnĂ© qui prend trĂšs probablement en compte les modĂšles existants dans chaque auto-encodeur.
La prochaine Ă©tape raisonnable consiste Ă permettre l'intersection des interprĂ©tations dans diffĂ©rents contextes. C'est-Ă -dire pendant la formation, on sait souvent que l'interprĂ©tation reste la mĂȘme, mais la forme de prĂ©sentation (contexte) change. Par exemple, l'orientation d'un objet change, mais l'objet reste le mĂȘme. Le vecteur de la description de l'objet doit ĂȘtre conservĂ© et l'orientation contextuelle change.
Ensuite, si nous examinons la formule (4), le facteur p (z) s'avĂšre ĂȘtre estimĂ© pour l'ensemble des auto-encodeurs, et non pour chacun sĂ©parĂ©ment. L'interprĂ©tation (vecteur latent) aura une distribution commune. Pour un petit nombre d'auto-encodeurs, cela peut ne pas avoir un rĂŽle important, mais dans une vraie tĂąche, ce nombre peut ĂȘtre Ă©norme. Par exemple, si vous dĂ©finissez un contexte pour chaque orientation possible d'un objet 3D, il peut y en avoir des centaines de milliers. Maintenant, chaque exemple prĂ©sentĂ© pour la formation dans n'importe quel contexte formera une distribution p (z).
Interchangeabilité d'interprétation et de contexte
Dans le problĂšme appliquĂ©, la question se pose immĂ©diatement: que faut-il attribuer par interprĂ©tation, et quoi par contexte? Le contexte et l'interprĂ©tation peuvent ĂȘtre facilement Ă©changĂ©s, et personne n'exclut la possibilitĂ© du fonctionnement parallĂšle simultanĂ© d'une paire d '«ensembles d'autoencodeurs».
Pour plus de clarté, vous pouvez proposer cet exemple:
L'image d'entrée contient les visages des personnes.
- contexte - orientation du visage. Ensuite, pour la reconstruction de l'image d'entrĂ©e, nous n'avons pas assez d '«interprĂ©tation» - un code qui identifie une personne, qui contiendra une description du visage, de la coiffure, de son Ă©clairage. Pendant la formation, nous devrons prĂ©senter le mĂȘme visage de diffĂ©rents cĂŽtĂ©s, «geler» le code latent, tout en changeant l'orientation.
- contexte - type de visage, d'Ă©clairage, de coiffure. Ensuite, pour la reconstruction de l'image d'entrĂ©e, il nous manque l'orientation du visage. Pendant l'entraĂźnement, il sera nĂ©cessaire de montrer diffĂ©rents visages dans diffĂ©rentes conditions d'Ă©clairage, mais avec la mĂȘme orientation.
La décision bayésienne optimale dans le premier cas sera prise en ce qui concerne l'orientation du visage, et dans le second - son type. Vraisemblablement, la premiÚre option donnera une meilleure précision d'orientation, et la seconde évaluera plus précisément de qui il s'agissait.
Apprentissage d'un ensemble d'auto-encodeurs avec espace latent partagé
En formation, nous devons savoir à quoi ressemble une entité en termes de sens dans différents contextes. Par exemple, si nous parlons de l'image des nombres et de l'orientation contextuelle, alors schématiquement, une telle formation croisée ressemble à ceci:

L'encodeur d'un auto-encodeur est utilisé, puis le code latent est décodé par le décodeur d'un autre auto-encodeur. La fonction de perte d'apprentissage reste standard. Il est intéressant de noter que si l'auto-encodeur est sélectionné symétriquement (c'est-à -dire que les poids de l'encodeur et du décodeur sont connectés), alors à chaque itération tous les poids des deux auto-encodeurs sont optimisés.
Le plus pratique pour une formation aussi délicate était PyTorch, qui vous permet de créer des schémas assez complexes pour la propagation arriÚre des erreurs, y compris dynamiques.
Les étapes d'apprentissage standard de chaque encodeur automatique alternent avec l'itération de la formation croisée. En conséquence, tous les auto-encodeurs ont un espace latent ou «interprétation» commun dans différents contextes.
Il est trÚs important qu'à la suite d'une telle analyse, nous puissions diviser les informations d'entrée en «contexte» et «interprétation».
Exemple de formation
Prenons un exemple assez simple basé sur MNIST, qui aidera à démontrer le principe de la formation des autoencodeurs avec un espace latent commun. En conséquence, cet exemple démontrera la formation du concept abstrait de «cube» en utilisant le mécanisme décrit dans l'article.
Les nombres de MNIST sont tracés sur le bord du cube et il tourne autour de l'un de ses axes:

Nous formerons des autoencodeurs pour restaurer les visages, l'orientation contextuelle des visages.
Voici un exemple du nombre «zéro» dans 100 contextes, dont les 34 premiers correspondent à différents angles de rotation de la face latérale et les 76 restants - différents angles de rotation de la face supérieure.

Nous supposons que pour chacune de ces 100 images, les «interprĂ©tations» devraient ĂȘtre les mĂȘmes, et ce sont leurs combinaisons alĂ©atoires qui sont utilisĂ©es pour la formation croisĂ©e.
AprĂšs une formation avec la mĂ©thode dĂ©crite ci-dessus, il a Ă©tĂ© possible de rĂ©aliser que le code latent de l'un des encodeurs automatiques puisse ĂȘtre dĂ©codĂ© par d'autres encodeurs automatiques, obtenant une conversion contextuelle vraiment significative.
Par exemple, cette image montre comment le résultat de l'encodage de l'encodeur automatique au numéro 10 est décodé par d'autres encodeurs automatiques pour l'un des chiffres:

Ainsi, avoir le code de "l'interprétation", c'est-à -dire vecteur latent de l'encodeur automatique, vous pouvez restaurer l'image d'origine dans n'importe quel contexte formé (c'est-à -dire le décodeur de tout encodeur automatique).
Masquage vectoriel d'entrée
Dans la formule (4), la dispersion du résidu
sigma , qui est choisi par une constante pour n'importe laquelle des composantes du vecteur d'entrée. Cependant, si certains composants n'ont pas de relation statistique avec le modÚle latent, la variance sera probablement significativement plus élevée pour ces composants. La dispersion est partout dans le dénominateur, ce qui signifie que plus l'écart est grand, moins la contribution de l'erreur de composante est importante. Vous pouvez associer cela à un masquage d'une partie du vecteur d'entrée.
Pour cet exemple avec des visages en rotation, le masque est évident - la projection du visage dans un contexte spécifique.

Dans l'approche simplifiée de cet exemple, qui utilise uniquement le résiduel entre l'image d'entrée et la reconstruction, il vous suffit de multiplier le résiduel par le masque pour chacun des contextes.
Dans le cas général, il est nécessaire d'évaluer plus strictement les paramÚtres de distribution, donc sans entrer manuellement le masque.
Séparation de l'interprétation du contexte
En séparant l'interprétation du contexte, vous pouvez obtenir des concepts abstraits. Dans l'exemple entraßné, il est intéressant de démontrer 2 effets:
1) apprentissage ponctuel, c'est-Ă -dire formation avec un nombre d'exemples extrĂȘmement restreint (dans la limite d'un).
Si nous analysons seulement l'interprétation, en ignorant le contexte, alors il devient possible de reconnaßtre une nouvelle image dans différentes orientations de visage, lorsqu'une nouvelle image a été montrée dans une seule des orientations.
Il est important de noter qu'une nouvelle image doit ĂȘtre prĂ©sentĂ©e. Par souci d'exactitude, nous nous sommes Ă©galement fixĂ© pour objectif de ne pas nous souvenir d'une seule image, mais d'apprendre Ă partager 2 nouvelles images qui ne se trouvaient pas auparavant dans la base de formation du MNIST. Par exemple, tels que:

: (, 10), , , , , ( ).
, . , MNIST, , , , .
V â10 :

, , .
« 1» .
2) et avec le cube, il est intĂ©ressant de montrer ce qui se passera si vous ignorez le contenu du vecteur latent, et seul le degrĂ© de plausibilitĂ© de chaque encodeur automatique est transmis.Voyons Ă quoi ressemble la probabilitĂ© pour chacun des contextes pour deux cubes avec des textures complĂštement diffĂ©rentes (numĂ©ros 5 et 9) pour 100 contextes qui peuvent ĂȘtre affichĂ©s sous forme de carte:
on peut voir que les cartes sont assez similaires, malgré la texture différente sur les cÎtés du cube.C'est-à -dire , (), , 3- . , .
, . , , . , .
« â1»
L'ensemble d'auto-encodeurs formés par le MNIST s'applique à deux nouvelles images présentées dans le contexte # 10. Il s'avÚre 2 points dans l'espace latent correspondant aux signes de V et +. Nous définissons un plan équidistant des deux points, que nous utiliserons pour prendre une décision. Si le point est d'un cÎté de l'avion - le signe V, de l'autre - le signe plus.Maintenant, nous obtenons les codes des images converties et pour chacune d'entre elles, nous calculons la distance au plan, en préservant le signe.En conséquence, il est possible de distinguer quel type de signe a été présenté pour les 100 contextes.Distribution des distances sur le graphique:
Visualisation du résultat en utilisant des symboles individuels comme exemple:
C'est-Ă -dire V , V . 100 100 , , .
«one-shot learning», . , , «transfer learning», , ,
.
git (train_ae_shared.py, test_AB.py)
« â2»
. ( « »). , .
:
- : 0 90 . 5.
- , ( ), , ,
- : , «», , , , , .
5421 5 , :
0 90, , . 0 1 ( ) , :

1, 100 , «» . «» 3 , , , :
Ou le code du signe V, qui n'a pas été rencontré du tout dans l'ensemble de formation:
la qualitĂ© est pire, mais le signe est reconnaissable.Ainsi, au deuxiĂšme niveau de traitement d'image, nous avons obtenu un encodeur automatique qui modĂ©lise la variĂ©tĂ© du concept abstrait de «cube». En pratique, dans les problĂšmes de reconnaissance, le principe de rĂ©troprojection montrĂ© dans l'expĂ©rience est extrĂȘmement important, car permet d'Ă©liminer les ambiguĂŻtĂ©s d'interprĂ©tation dues Ă la formation de concepts abstraits d'un niveau supĂ©rieur.Lien vers git (second_level.py, second_level_test.py)Autres exemples oĂč la sĂ©paration de contexte fonctionne
. , , « ». , , , (, ).
: 3D ; .
, : â ( ) ( ); ( , ,«- -»).
, . , , , , , :
, , /.
, , . , . ( ), , . (, , .), .
De plus, bien que le Deep Learning soit utilisĂ© dans la formation des auto-encodeurs, les processus se produisant dans les auto-encodeurs sont facilement analysĂ©s Ă chaque niveau de traitement de l'information, car il est possible de dĂ©terminer dans quel modĂšle (ou dans quel contexte) la meilleure interprĂ©tation a Ă©tĂ© trouvĂ©e. Et la signification des rĂ©troactions entre les niveaux qui doivent ĂȘtre introduits dans les systĂšmes complexes est d'augmenter ou de diminuer la probabilitĂ© de choisir un contexte particulier.RĂ©sultat
, , , . . , â , , .. , â .
, MNIST.
: ( «one-shot learning») .
L'effet de la séparation du contexte de l'interprétation est montré: la possibilité de former des concepts abstraits du niveau suivant en utilisant le «cube» d'abstraction géométrique comme exemple.Les références
1)
Alain, G. and Bengio, Y. What regularized autoencoders learn from the data generating distribution. 2013.2)
Kamyshanska, H. 2013. On autoencoder scoring3)
Daniel Jiwoong Im, Mohamed Ishmael Belghazi, Roland Memisevic. 2016. Conservativeness of Untied Auto-Encoders4)
An Artificial Neural Network Architecture Based on Context Transformations in Cortical Minicolumns. Vasily Morzhakov, Alexey Redozubov5) Holographic Memory: A novel model of information processing by Neural Microcircuits. Alexey Redozubov, Springer
6)
. .7)
en.wikipedia.org/wiki/Gaussian_integral8)
Adversarial Examples: Attacks and Defenses for Deep Learning9)
One-Shot Imitation LearningPS: â , , . !