Louis-François Bouchard

View Original

Comment repérer un Deep Fake en 2021?

Bien qu’ils semblent avoir toujours été là, le tout premier deepfake réaliste n'est apparu qu'en 2017. Ils sont passés de ces toutes premières fausses images générées automatiquement ressemblant vaguement à quelqu’un à une copie identique de la personne voulue sur des vidéos, avec du son.

La réalité est que nous ne pouvons plus voir la différence entre une vraie vidéo ou une image et un deepfake. Comment pouvons-nous distinguer ce qui est réel de ce qui ne l'est pas ? Comment des fichiers audio ou des fichiers vidéo peuvent-ils être utilisés en justice comme preuve concrète si une IA peut entièrement les générer? Eh bien, ce nouveau papier de recherche peut apporter des réponses à ces questions. Et la réponse ici peut encore être l'utilisation de l'intelligence artificielle. Le dicton "Je le croirai quand je le verrai" pourrait bientôt changer pour "Je le croirai quand l'IA me dira de le croire". Je suppose que vous avez tous vu des deepfakes et que vous en savez un peu à leur sujet, ce qui sera suffisant pour cet article.

Pour plus d'informations sur la façon dont ils sont générés, je vous invite à lire l’article que j'ai écrit expliquant les deepfakes apparaissant en ce moment dans le coin supérieur droit, car cette vidéo se concentrera sur la façon de les repérer.

Plus précisément, je couvrirai un nouvel article du USA DEVCOM Army Research Laboratory intitulé "DEFAKEHOP: A LIGHT-WEIGHT HIGH-PERFORMANCE DEEPFAKE DETECTOR".

En effet, ils peuvent détecter les deepfakes avec plus de 90% dans tous les ensembles de données et même atteindre une précision de 100 % dans certains ensembles de données tests. Ce qui est encore plus incroyable, c'est la taille de leur modèle de détection. Comme vous pouvez le voir, ce modèle, “DeFakeHop”, n'a que 40 000 paramètres, alors que les autres techniques offrant une précision bien pire en avaient environ 20 millions! Cela signifie que leur modèle est 500 fois plus petit tout en surpassant les techniques de pointe précédentes. Cela permet au modèle de s'exécuter rapidement sur votre téléphone mobile et vous permet de détecter les deepfakes n'importe où.

Vous pensez peut-être que vous pouvez faire la différence entre une vraie photo et une fausse, mais si vous vous souvenez de l'étude que j'ai partagée il y a quelques semaines, elle a clairement montré qu'environ 50% des participants ont échoué. Les participants faisaient essentiellement une supposition aléatoire pour savoir si une image était fausse ou non.

Il existe un site Web du MIT où vous pouvez tester votre capacité à repérer les deefakes si vous le souhaitez. Pour l'avoir essayé moi-même, je peux dire que c'est assez amusant à faire. Il y a des fichiers audio, des vidéos, des images, etc. Le lien est dans les références ci-dessous. Si vous l'essayez, n'hésitez pas à me dire si vous vous en sortez bien! Et si vous connaissez d'autres applications similaires pour vous tester ou aider la recherche en faisant de notre mieux pour repérer les deepfakes, veuillez les partager avec moi dans les commentaires. J'aimerais bien les essayer !

Maintenant, si nous revenons au papier capable de les détecter beaucoup mieux que nous ne le pouvons, la question est : comment ce petit modèle d'apprentissage automatique est-il capable d'y parvenir alors que les humains ne le peuvent pas ?

DeepFakeHop

DeepFakeHop fonctionne en quatre étapes.

Première étape:

Au début, ils utilisent un autre modèle pour extraire 68 repères faciaux différents de chaque image vidéo. Ces 68 points sont extraits pour comprendre où se trouve le visage, le replacer et le redimensionner pour les rendre plus cohérents et ensuite y extraire des parties spécifiques du visage de l'image. Ce sont ces “patchs” du visage que nous enverrons à notre réseau, contenant les yeux, la bouche, le nez, etc..

Si vous êtes curieux de connaître comment cette étape initiale fonctionne, elle se fait à l'aide d'un autre modèle appelé OpenFace 2.0, le lien est dans les références. Il peut effectuer avec précision la détection des points de repère du visage, l'estimation de la pose de la tête, la reconnaissance faciale et l'estimation du regard en temps réel. Ce sont tous de minuscules parties de l’image de grosseur 32 par 32 qui seront tous envoyés dans le réseau réel un par un. Cela rend le modèle extrêmement efficace, car il ne traite qu'une poignée de petites parties d’images au lieu des images complètes.

Étape 2 à 4 (de gauche à droite, bleu, vert, orange) :

Plus précisément, les patchs sont envoyés à la première unité PixelhHop++, surnommée Hop-1, comme vous pouvez le voir. Il s'agit d'un algorithme appelé transformation Saab pour réduire la dimension. Il prendra l'image 32 par 32 et la réduira à une version réduite de l'image, mais avec plusieurs canaux représentant sa réponse à partir de différents filtres appris par la transformation Saab.

Vous pouvez voir la transformation Saab comme un processus de convolution, où les filtres sont trouvés à l'aide de l'algorithme de réduction de dimension PCA au lieu de la rétropropagation. Ces noyaux sont optimisés pour représenter les différentes fréquences de l'image, s'activant essentiellement par divers degrés de détails. Il a été démontré que la transformation Saab fonctionne bien contre les attaques adverses par rapport aux convolutions de base entraînées avec la rétropropagation. Vous pouvez également trouver plus d’informations sur la transformation Saab dans les références. Quand aux attaques adverses, elles se produisent lorsque nous « attaquons » une image en modifiant quelques pixels ou en ajoutant du bruit que les humains ne peuvent pas voir pour modifier les résultats d'un modèle d'apprentissage automatique.

Donc, pour simplifier, nous pouvons essentiellement voir cette unité PixelHop ++ comme une convolution typique utilisant des filtres 3 par 3 ici puisque nous ne regardons pas le processus d'entraînement. Bien sûr, cela fonctionne un peu différemment, mais cela rendra l'explication beaucoup plus simple, car le processus est comparable. Ensuite, l'étape "Hop" est répétée 3 fois pour obtenir des versions de plus en plus petites de l'image avec des informations générales concentrées et de plus en plus de canaux. Ces canaux sont simplement les sorties, ou réponses, de l’image d’entrée par des filtres réagissant différemment selon le niveau de détail de l’image, comme je l’ai dit précédemment. Un nouveau canal par filtre utilisé. Ainsi, on obtient des résultats variés nous donnant de l’information précise sur ce dont l’image contient, mais ce résultat est de plus en plus petit contenant moins de détails spatiaux uniques à cette image précise qu’à l’étape précédente, et donc plus générale envers ce que contient l’image. Les premières images sont encore relativement grandes, commençant à 32 par 32, étant la taille initiale du patch et contiennent donc tous les détails. Ensuite, il tombe à 15 par 15, et enfin à 7 par 7 images, ce qui signifie que nous avons au final une information spatiale proche de zéro. L'image 15 par 15 ressemblera simplement à une version floue de l'image initiale, mais contiendra toujours des informations spatiales, tandis que l'image 5 par 5 sera fondamentalement une version très générale et large de l'image avec presque aucune information spatiale restante. Plus nous sommes profonds dans les étapes de Hop, plus nous augmentons le nombre de canaux, notés K ici, pour conserver les informations pertinentes qui ont seraient perdues pendant le processus de compression, nous permettant d'avoir une vue plus large à bien des égards, en gardant beaucoup d'informations précieuses uniques, même avec des versions plus petites de l'image. Ainsi, tout comme un réseau de neurones convolutifs, plus nous sommes profonds, plus nous avons de canaux (réponses de filtres réagissant à des stimulus différents), mais plus ils sont petits, se terminant par des images de taille 5x5.

Les images deviennent encore plus petites, car chacune des unités PixelHop est suivie d'une étape de “max-pooling”. Ils prennent simplement la valeur maximale de chaque carré de deux par deux pixels, réduisant la taille de l'image par un facteur de quatre à chaque étape.

Comme je l’ai mentionné, les dernières images minuscules ont moins d'informations spatiales. Pourtant, comme je l'ai dit, ils contiennent une vision plus large de l'image. De plus, la plus grande quantité de canaux nous aide à identifier différents types d'informations générales sur ce que contient l'image.

Ensuite, comme vous pouvez le voir, les sorties de chaque couche de “max-pooling” sont envoyées pour une réduction supplémentaire des dimensions à l'aide de l'algorithme PCA. L’algorithme PCA prend principalement les dimensions actuelles, par exemple 15 par 15, et réduit ça au maximum tout en conservant au moins 90% de l'intensité de l'image d'entrée.

Voici un exemple très simple de la façon dont PCA peut réduire la dimension, où les points bidimensionnels des chats et des chiens sont réduits à une dimension sur une ligne, ce qui nous permet d'ajouter un seuil et de construire facilement un classificateur.

Chaque saut nous donne 45, 30 et 5 paramètres par canal au lieu d'avoir des images de taille 15 par 15, 7 par 7 et 3 par 3, ce qui nous donnerait dans le même ordre 225, 49 et 9 paramètres. Il s'agit d'une représentation beaucoup plus compacte tout en maximisant la qualité des informations qu'elle contient. Toutes ces étapes ont été utilisées pour compresser l’information dans l’image et rendre le réseau super rapide.

Vous pouvez voir cela comme une compression de tout le jus utile à différents niveaux de détails de l'image recadrée pour finalement décider si elle est fausse ou non, en utilisant à la fois des informations sur les petits détails, et l’information sur ce que contient l’image en général dans le processus de décision.

Je suis heureux de voir que la recherche pour contrer ces deepfakes progresse également, et je suis impatient de voir ce qui se passera à l'avenir avec tout cela. Faites-moi savoir dans les commentaires quelles sont, selon vous, les principales conséquences et préoccupations concernant les deepfakes. Est-ce que cela va affecter la loi, la politique, les entreprises, les célébrités, les gens ordinaires ? Eh bien, à peu près tout le monde.

Ayons une discussion pour faire passer le mot d’être prudent et que nous ne pouvons plus croire ce que nous voyons, malheureusement. Il s'agit d'une nouvelle technologie à la fois incroyable et dangereuse. S'il vous plaît, n'abusez pas de cette technologie et restez éthiquement correct. Le but ici est d'aider à améliorer cette technologie et non de l'utiliser pour de mauvaises raisons.

Merci d’avoir lu cet article!

Venez discuter avec nous dans notre communauté Discord: ‘Learn AI Together’ et partagez vos projets, vos articles, vos meilleurs cours, trouvez des coéquipiers pour des compétitions Kaggle et plus encore!

Si vous aimez mon travail et que vous souhaitez rester à jour avec l'IA, vous devez absolument me suivre sur mes autres médias sociaux (LinkedIn, Twitter) et vous abonner à ma newsletter hebdomadaire sur l'IA!

Pour supporter mon travail:

  • La meilleure façon de me soutenir est de souscrire à ma newsletter tel que mentionné précédemment ou de vous abonner à ma chaîne sur YouTube si vous aimez le format vidéo en anglais.

  • Soutenez mon travail financièrement sur Patreon

Références

  • Testez votre capacité à détecter des deepfakes: https://detectfakes.media.mit.edu/

  • DeepFakeHop: Chen, Hong-Shuo et al., (2021), “DefakeHop: A Light-Weight High-Performance Deepfake Detector.” ArXiv abs/2103.06929

  • Saab Transforms: Kuo, C.-C. Jay et al., (2019), “Interpretable Convolutional Neural Networks via Feedforward Design.” J. Vis. Commun. Image Represent.