VT2020-Deepfake Algorithms-Fiche

From air
Jump to navigation Jump to search

Deepfake

Un exemple de deepfake. Dans cette scène de Man of Steel, le visage d’Amy Adams (à gauche) est remplacé par celui de Nicolas Cage (à droite).

Les deepfakes, apparus fin 2017 sur Reddit, sont des vidéos d’une personne dont le visage ou le corps a été altéré, à l’aide d’intelligences artificielles et de deep learning, pour les faire passer pour quelqu’un d’autre. On peut aussi trouver des deepfakes qui synthétisent la voix d’un individu à l'aide d'autres algorithmes.

Les deepfakes sont utilisées le plus fréquemment dans un but malicieux ou pour diffuser des fausses informations (fake news).

Histoire

À l’origine, le terme deepfake provient d’un utilisateur de Reddit nommé Deepfakes. Celui-ci a créé, en décembre 2017, un subreddit sur lequel il partageait des vidéos pornographiques qui contenaient des célébrités. À l’aide de bibliothèques open source comme TensorFlow de Google ainsi que Keras, cet utilisateur a mis au point un algorithme pour générer ces fausses vidéos. Le subreddit grandit vite en popularité, mais il est rapidement fermé par Reddit, et la pornographie truquée a depuis été interdite sur ce site ainsi que de nombreux autres.

Toutefois, cela n'a pas empêché le monde de l'internet de s'intéresser à ce nouveau genre de média. Bien au contraire, on peut trouver à ce jour plusieurs programmes qui permettent de créer ses propres deepfakes. On trouve notamment :

  • FakeApp, un logiciel propriétaire publié en janvier 2018, qui permet de créer ses propres deepfakes et les partager avec d'autres utilisateurs. Cependant, depuis 2019, on lui préfère les alternatives open-source ci-dessous.
  • FaceSwap, qui, à l'origine, contenait le code de l'utilisateur Deepfakes. Ce programme est open source, et basé sur les technologies TensorFlow de Google et Keras.
  • DeepFaceLab, un programme open source, avec une interface en ligne de commande, dont le développement a débuté en 2018.

Fonctionnement

Auto-encodeur

Les programmes comme FaceSwap et DeepFaceLab utilisent, pour générer des deepfakes, un réseau de neurones nommé auto-encodeur. Le principe d'un auto-encodeur est, à partir de données sources, d'encoder ces données et de les décoder. Pendant la phase de décodage, le programme apprend comment générer ce type de données, afin que les données en sortie ressemblent le plus possible à la source.

Dans le cas d'un logiciel de deepfake, nos données sources sont les images de la personne dont on souhaite copier le visage, et le programme va donc apprendre à le générer pendant la phase de décodage. FaceSwap et DeepFaceLab améliorent cette phase en ajoutant un réseau antagoniste génératif dans leur architecture.

Réseau antagoniste génératif

Image générée par un réseau antagoniste génératif StyleGAN2, sur le site https://thispersondoesnotexist.com/.

Un réseau antagoniste génératif (en anglais generative adversarial network ou GAN) oppose un générateur à un discriminateur. Celui-ci compare les données en sortie du générateur à des vraies données qu'il a à sa disposition. Si les données en sortie du générateur sont trop différentes des vraies données, le discriminateur va informer le générateur afin que celui-ci génère de nouvelles données de plus en plus proches de ce qu'on souhaite, jusqu'à ce que le discriminateur n'arrive plus à faire la différence entre de vraies données et des données générées.

Dans le cas de FaceSwap et DeepFaceLab, la phase de décodage de l'auto-encodeur est le générateur du réseau antagoniste génératif. Ce générateur va produire en sortie des visages qui ressemblent à la personne en entrée, et le discriminateur va l'informer s'il arrive à distinguer entre les images générées et les vraies images de cette personne.

D'autres types d'utilisation

Combattre l'utilisation malicieuse

Sources

  1. Exploring Deepfakes
  2. Deepfakes - IONOS
  3. GitHub - deepfakes/faceswap: Deepfakes Software For All
  4. GitHub - iperov/DeepFaceLab: DeepFaceLab is the leading software for creating deepfakes.
  5. Deepfake - Wikipedia
  6. Deepfake - Wikipédia
  7. Generative adversarial network - Wikipedia
  8. Réseaux antagonistes génératifs - Wikipédia
  9. Autoencoder - Wikipedia
  10. Auto-encodeur - Wikipédia
  11. Don't Trust ANYTHING You See - Deepfakes Explained - YouTube
  12. DEEPFAKE Tutorial: A Beginners Guide (using DeepFace Lab) - YouTube

VT2020

  • Année : VT2020
  • Sujet : Deepfake Algorithms
  • Slides : [slides]
  • Auteurs : Louis De Gaudenzi