Comment utiliser GAN pour l'extraction de fonctionnalités non supervisée à partir d'images?


10

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?


Pour l'extraction de fonctionnalités, j'obtiens la taille de fonctionnalité de 128 * 120 (soit 64 + 32 + 16 + 8) = 15360. Je suis sûr que je manque quelque chose. J'ai une autre question concernant le choix du vecteur d'entités. Dois-je prendre en compte (conv2d + batchnorm + activation) des poids ou uniquement des poids conv2d lors de l'extraction des fonctionnalités?
Tanmoy Dam

Réponses:


4

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.

Pour évaluer la qualité des représentations apprises par les DCGAN pour les tâches supervisées, nous nous entraînons sur Imagenet-1k puis utilisons les caractéristiques convolutives du discriminateur de toutes les couches, maximisant la représentation de chaque couche pour produire une grille spatiale 4 × 4. Ces caractéristiques sont ensuite aplaties et concaténées pour former un vecteur dimensionnel 28672 et un classificateur L2-SVM linéaire régularisé est formé au-dessus d'eux.


1

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.


0

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:

  1. Moyen basé sur le générateur tel que présenté par Mikhail Yurasov.
  2. Discriminator based way présenté par Kenny.

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.