Lien de la note Hackmd

Deepfake

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

Autoencoders

Avant les GAN il y a eu les autoencodeurs qui ne demandent pas de verite terrain

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Les resultats sont moyens

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

U-net

U-net est une sorte d'autoencodeur avec une verite terrain et des ponts

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Autoencodeur variationel (VAE)

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

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(ฮผ,ฯƒ),N(0,I))

E=ฮฑEreconstruction+ฮฒ[mean2+std_deriv2โˆ’logโก(std_deriv2)โˆ’1]

VAE - generation

On peut crรฉer de nouvelles images en gardant la moyenne et en modulant lโ€™รฉcart type

z=ฮผ+ฮตฯƒ

Avec les chiffres manuscrits et un espace latent a 2 dimensions

[ฮผ,ฯƒ] on a:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

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ร—32ร—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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

VQ-VAE Compression

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Un facteur de compression de

42:

  • L'image d'origine a
    128ร—128ร—3ร—8
    bits
  • L'image est encodee avec
    32ร—32ร—9
    bits (
    521
    valeurs possibles)
  • (il faut aussi stocker la collection de valeurs soit
    512ร—D
    )

On peut entrainer un classifieur sur les images

32ร—32ร—1, ca marche

VQ-VAE-2 - Multi-echelle

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

GAN

Un Generative Adversarial Network (GAN) est un autoencodeur avec un discriminateur qui indique si le resultat est un vrai ou faux

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

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

Le principe est d'enrichier un GAN en ajoutant des informations supplementaires (la classe de l'image par ex.) en entree du generateur et du discriminateur

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

On a ainsi des images plus realistes en sortie

Pix2Pix

C'est un GAN conditionel

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Applications

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

StyleGAN

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

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

W avec une valeur latente
w
on peut interpler le visage moyen
wยฏ

w=wยฏ+ฯˆ(wโˆ’wยฏ)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’