J'ai compris le fonctionnement du GAN alors que deux réseaux (génératif et discriminant) se font concurrence. J'ai construit un DCGAN (GAN avec discriminateur convolutif et générateur déconvolutionnel) qui génère maintenant avec succès des chiffres manuscrits similaires à ceux du jeu de données MNIST.
J'ai beaucoup lu sur les applications du GAN pour extraire des fonctionnalités d'images. Comment puis-je utiliser mon modèle GAN formé (sur un ensemble de données MNIST) pour extraire une fonctionnalité à partir d'images de digiste manuscrites MNIST?
Réponses:
Généralement, pour extraire des fonctionnalités, vous pouvez utiliser la couche supérieure du réseau avant la sortie. L'intuition est que ces caractéristiques sont linéairement séparables car la couche supérieure n'est qu'une régression logistique.
Pour les GAN, vous pouvez utiliser les fonctionnalités du discriminateur. Ces caractéristiques sont censées donner une probabilité si l'entrée provenait du jeu de données d'apprentissage, «images réelles». Dans l' article DCGAN de Radford , ils utilisent toutes les couches convolutives du discriminateur et exécutent un maximum d'extensions de couche de mise en commun pour CIFAR-10.
la source
La réponse de Kenny est correcte - si vous utilisez un D convolutif , la sortie de couches avant dense peut servir de caractéristiques. Mon intuition est que cela fonctionnera mieux pour les AC-GAN (ou les architectures similaires, qui font que D classe les entrées en plus de déterminer si elles sont fausses ou réelles).
Il existe une approche appelée BiGAN qui ajoute un composant Encoder capable de mapper les échantillons générés et d'apprentissage à la distribution latente z utilisée pour "initialiser" le générateur. Les auteurs montrent qu'il peut effectivement être utilisé comme un ensemble de fonctionnalités pour le transfert d'apprentissage et d'autres tâches.
la source
comme le GAN se compose de deux parties - le générateur et le discriminateur, il existe deux façons d'utiliser le GAN comme extracteur de fonctionnalités:
La deuxième voie est plus controversée. Certaines études [1] ont pensé que, intuitivement, comme la cible du discriminateur est de distinguer les échantillons générés des échantillons réels, il se concentrera uniquement sur la différence entre ces deux types d'échantillons. Mais ce qui est logique, c'est la différence entre les échantillons réels, qui sont les échantillons utilisés par les tâches en aval.
J'ai essayé d'étudier cela, et j'ai trouvé que la caractéristique extraite peut être factorisée en deux sous-espaces orthogonaux . Le premier espace contribue à la tâche discriminante, tandis que le second en est exempt. Comme dans la plupart des cas, les caractéristiques utilisées pour distinguer les échantillons réels des échantillons générés sont du bruit, le deuxième espace de caractéristiques sera exempt de bruit. De ce point de vue, bien que la tâche de discriminateur ne se concentrera pas sur la différence entre des échantillons réels, qui sont utiles pour les tâches en aval, les fonctionnalités sans bruit contenues dans le deuxième sous-espace fonctionneront.
[1] Jost Tobias Springenberg. Apprentissage non supervisé et semi-supervisé avec des réseaux contradictoires génératifs catégoriques. arXiv: 1511.06390 [cs, stat], avril 2016. préimpression arXiv. arXiv: 1511.06390 [stat.ML]. Ithaca, NY: Bibliothèque de l'Université Cornell.
la source