Home DLIM: Deepfake
Post
Cancel

DLIM: Deepfake

Lien de la note Hackmd

Deepfake

Les GAN permettent de creer de faux surprenat avec des reseaux profonds (d’ou Deepfakes)

Autoencoders

Les resultats sont moyens

U-net

Autoencodeur variationel (VAE)

On decoupe l’espace latent en sa moyenne et son ecart-type

Pour construire ce reseau on definit 2 fonctions d’erreur:

  • Distance image d’arrivee/image de depart (cf autoencodeur)
  • Divergence de Kullback-Leibler entre le vecteur de l’espace latent et une gaussienne type: $KL(N(\mu, \sigma), N(0,I))$
\[E=\alpha E_{reconstruction} + \beta[\text{mean}^2 + \text{std_deriv}^2 - \log (\text{std_deriv}^2)-1]\]

VAE - generation

Avec les chiffres manuscrits et un espace latent a 2 dimensions $[\mu, \sigma]$ on a:

Exemple de Keras

Vector Quantised-Variational AutoEncoder (VQ-VAE)

On fabrique une collection de valeurs de vecteurs latents (embedding space). Une valeur est un vecteur lorsque le vecteur latent est en 3D

Si la sortie de l’encodeur est de $32\times 32\times 50$ alors la collection a des vecteurs de dimension $50$.

On traduit la sortie de l’encodeur en prenant pour chaque valeur, la plus proche dans la collection

VQ-VAE Compression

Un facteur de compression de $42$:

  • L’image d’origine a $128\times128\times 3\times 8$ bits
  • L’image est encodee avec $32\times32\times9$ bits ($521$ valeurs possibles)
  • (il faut aussi stocker la collection de valeurs soit $512\times D$)

On peut entrainer un classifieur sur les images $32\times 32\times 1$, ca marche

VQ-VAE-2 - Multi-echelle

GAN

L’erreur du discriminateur permet qu’il se corrige (minimise l’erreur) et que le generateur se corrige (maximise l’erreur du discriminateur)

Conditional GAN

Pix2Pix

C’est un GAN conditionel

Le generateur est un reseau en U et le discriminateur un classifieur CNN adapte.

On peut ainsi generer des images a partir de dessins.

Cycle GAN

Peut-on faire de l’auto-apprentissage (sans verite terrain) avec un GAN ?

Si le but est de passer d’un type d’image a un autre, c’est possible. Pour cela on utilise 2 generateurs, $G$ et $F$, et 2 discriminateurs, $DX$ et $DY$

  • $G$ fabrique une image de type $Y$ a partir d’une image de type $X$
  • $F$ fabrique une image de type $X$ a partir d’une image de type $Y$
  • $DX$ indique si l’image donnee est vraie ou a ete generee par $F$
  • $DY$ indique si l’image donnee est vraie ou a ete generee par $G$

Applications

StyleGAN

Melange de style

Avec 2 vecteurs de l’espace latent on peut melanger $2$ visage en injectant le 1er jusqu’a une couche dans la synthese, puis le second

Plus on injecte tard le 2e, moins l’impact est important (seulement les hautes frequences)

Vers le visage moyen

Lorsqu’on est dans l’espace $\mathcal W$ avec une valeur latente $w$ on peut interpler le visage moyen $\bar w$

\[w=\bar w+\psi(w-\bar w)\]

This post is licensed under CC BY 4.0 by the author.