1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Développement d’un prototype de laboratoire sur le marquage de documents textuels et texturés en vue d’empêche la fraude des diplômes de l’université de la rochelle

63 75 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 1,7 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Dans le cadre du projet SeAD, nous aimerions donc appliquer le modèle génératif profond pour construire le prototype des diplơmes de l’Université de La Rochelle.. Dans le cadre de ce sta

Trang 1

UNIVERSITE NATIONALE DU VIETNAM, HANOI INSTITUT FRANCOPHONIE INTERNATIONAL

LÊ THỊ THÙY TRANG

DÉVELOPPEMENT D’UN PROTOTYPE DE

LABORATOIRE SUR LE MARQUAGE DE

DOCUMENTS TEXTUELS ET TEXTURÉS EN VUE D’EMPÊCHE LA FRAUDE DES DIPLÔMES DE

L’UNIVERSITÉ DE LA ROCHELLE

PHÁT TRIỂN MỘT SẢN PHẨM THỬ NGHIỆM NHẰM ĐÁNH DẤU CÁC VĂN BẢN ĐỂ NGĂN CHẶN SỰ GIAN LẬN CÁC VĂN BẰNG CỦA ĐH LA ROCHELLE

MEMOIRE DE FIN D’ETUDES DU MASTER INFORMATIQUE

HANOI – 2018

Trang 2

INSTITUT FRANCOPHONIE INTERNATIONAL

LÊ THỊ THÙY TRANG

DÉVELOPPEMENT D’UN PROTOTYPE DE

LABORATOIRE SUR LE MARQUAGE DE

DOCUMENTS TEXTUELS ET TEXTURÉS EN VUE D’EMPÊCHE LA FRAUDE DES DIPLƠMES DE

L’UNIVERSITÉ DE LA ROCHELLE

PHÁT TRIỂN MỘT SẢN PHẨM THỬ NGHIỆM NHẰM ĐÁNH DẤU CÁC VĂN BẢN ĐỂ NGĂN CHẶN SỰ GIAN LẬN CÁC VĂN BẰNG CỦA ĐH LA ROCHELLE

Spécialité: Systèmes intelligents et Multimédia Code: Programme pilote

MEMOIRE DE FIN D’ETUDES DU MASTER INFORMATIQUE

Sous la direction de:

Dr Mickặl COUSTATY

HANOI – 2018

Trang 3

J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les données et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés ailleurs La source des informations citées dans ce mémoire a été bien précisée

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được

ai công bố trong bất kỳ công trình nào khác Các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc

Signature de l’étudiant

Lê Thị Thùy Trang

Trang 4

Table de matière

REMERCIEMENTS 3

Table des figures et tableaux 4

Tableau des acronymes 5

INTRODUCTION 6

Chapitre 1 : PRÉSENTATION GENÉRALE 8

1.1 Présentation de l’établissement d’accueil 8

1.1.1 Présentation de l’Université de La Rochelle – organisme d’accueil 8

1.1.2 Présentation du laboratoire L3i – lieu de travail 9

1.1.3 Présentation du projet SeAD 10

1.2 Contexte du sujet 10

Chapitre 2 – DESCRIPTION DES MODELES GENERATIFS 13

2.1 Les variations de l’auto-encodeur (AE) 13

2.1.1 Auto-encodeur vanille et Auto-encodeur multicouches 14

2.1.1.1 L’architecture de l’auto-encodeur 14

2.1.1.2 La fonction de perte 16

2.1.2 Auto-encodeur sparse (SPAE) 17

2.1.3 Auto-encodeur contractif (CAE) 18

2.1.4 Auto-encodeur convolution (convolutional auto-encodeur -convAE) 19 2.1.5 Dé-bruitage auto-encodeur (noising auto-encodeur – de-noisingAE) 20

2.1.6 Auto-encodeur variationnel (VAE) 22

2.1.7 Auto-encodeur variationnel conditionnel (CVAE) 23

2.2 Les variations de générative réseau contradictoire (GAN) 24

2.2.1 Générative réseau contradictoire (Generative adversarial network - GAN) 24

2.2.1.1 L’architecture de GAN 24

2.2.1.2 Le processus d’apprentissage 25

2.2.1.3 La fonction de perte 25

2.2.2 Générative réseau contradictoire conditionnel (Conditional Generative Adversarial Networks – CGAN) 26

2.2.3 Profond convolutif générative réseau contradictoire (Deep Convolutional Generative Adversarial Networks – DCGAN) 27

Trang 5

2.2.4 Wasserstein générative réseau contradictoire (Wasserstein generative

adversarial networks – WGAN) 28

2.2.5 Auto-encodeur contradictoire (Adversarial auto-encoder – AAE) 29

Chapitre 3 – PROTOCOLE EXPRÉRIMENTAL 32

3.1 Les base de données 32

3.1.1 La base MNIST 32

3.1.2 La base BALI 33

3.2 Le protocole expérimental 36

3.3 Brève description de la technique de reconnaissance 49

3.3.1 Le système de reconnaissance pour la base MNIST 49

3.3.2 Le système de reconnaissance pour la base BALI 49

Chapitre 4 – RÉSULTATS ET DISCUSSIONS 50

4.1 Les résultats obtenus 50

4.2 Discussions sur les résultats obtenus 50

Chapitre 5 – CONCLUSION ET PERSPECTIVE 57

5.1 Conclusion 57

5.2 Perspective 58

BIBLIOGRAPHIE 59

Trang 6

REMERCIEMENTS

Je tiens tout d’abord à remercier tous les professeurs de l’Institut Francophone International (IFI) Je souhaite exprimer ma sincère gratitude à vous qui avez pris le temps de m’aider au cours de ces trois années et de m’avoir accompagné dans la maỵtrise de mes connaissances

Je tiens à exprimer toute ma reconnaissance à mon responsable du stage Mickặl COUSTATY Je voudrais le remercier pour son encadrement scientifique, mais également pour sa gentillesse, son talent et sa création Il était toujours disponible pour me soutenir normalement, scientifiquement ainsi qu’administrativement

Je voudrais également remercier chaleureusement Tanmoy MONDAL pour ses conseils et ses discussions, ses explications, et sa gentillesse Cela faisait vraiment un grand plaisir de travailler avec lui pendant ces cinq mois

Je remercie également toute l’équipe Image et Contenus ainsi que le laboratoire L3i pour leur accueil et leur aide pendant mon stage, notamment pour m’avoir fait profiter d’un bureau et d’un ordinateur ainsi que de toutes les infrastructures associées du L3i

Je tiens en outre à remercier Région Nouvelle Aquitaine & Européen Union qui, au travers du projet SeAD (contrat No ANR-13-BS02-0004), dans le programme opérationnel FEDER/FSE 2014-2020 a financé ce stage et sans qui rien n’aurait été matériellement possible

Je désire remercier Made Windu Antara Kesiman pour m’avoir fourni le jeu de données BALI et pour son aide concernant les techniques de reconnaissance de caractères

Je voudrais exprimer mes sincères remerciements aux Vietnamiens dans

le laboratoire L3i qui m’a beaucoup aidé pendant mon séjour à La Rochelle

Je tiens à remercier tous les employés ainsi que les secrétaires de l’IFI, pour leur aide à plusieurs reprises

Finalement, j’adresse un grand merci à toute ma famille et mes amis pour leur soutien et leur énorme encouragement au long de la réalisation de ce mémoire

A tous ces intervenants, je présente mes remerciements, mon respect et

ma gratitude

Trang 7

Table des figures et tableaux

Figure 2-1: Structure générale d’un auto-encodeur 14

Figure 2-2: Auto-encodeur vanille 15

Figure 2-3: La couche de un-pooling 20

Figure 2-4: Le graphique de calcul de la fonction de cỏt pour un dé-bruitage auto-encodeur 21

Figure 2-5: L’architecture de GAN 24

Figure 2-6 : Le générateur à DCGAN 27

Figure 2-7 : L’architecture de l’auto-encodeur contradictoire 31

Figure 3-1: Extrait de la base d'images MNIST 33

Figure 3-2: Extrait de la base d'images BALI 34

Figure 3-3: Extrait de la base d'images BALI après la chaỵne de traitement 35

Figure 3-4: Les images générées par divers modèles 39

Figure 3-5 : Les classes de la base BALI qui donnent des bons résultats générés par l’auto-encodeur 40

Figure 3-6 : Les classes de la base BALI qui donnent des bons résultats générés par le CAE 41

Figure 3-7 : Les classes de la base BALI qui donent des bons résultats générés par le SPAE 42

Figure 3-8 : Les classes de la base BALI qui donent des mauvais résultats générés par l’auto-encodeur 43

Figure 3-9 : Les classes de la base BALI qui donent des mauvais résultats générés par le CAE 44

Figure 3-10 : Les classes de la base BALI qui donent des mauvais résultats générés par le SPAE 45

Figure 3-11: Le cas de deux classes : DI et I qui contiennts des images de caractères presque identiques 46

Figure 3-12 : Le cas de deux classes : KA et KATEDONG qui contiennts des images de caractères presque identiques 47

Figure 3-13 : Le cas de deux classes : TU et U qui contiennts des images de caractères presque identiques 48

Tableau 4-1: Précision sur les images générées / originales 50

Trang 8

Tableau des acronymes

AAE Adversarial auto-encoder

CAE Contractive auto-encoder

CGAN Conditional generative adversarial network

CNN Convolutional neural network

convAE Convolutional auto-encoder

CVAE Conditional variational auto-encoder

DCGAN Deep convolutional generative adversarial network DGM Deep generative network

GAN Generative adversarial network

PCA Principal Component Analysis

SPAE Sparse auto-encoder

VAE Variational auto-encoder

WGAN Wassertein generative adversarial network

Trang 9

INTRODUCTION

À nos jours, le problème de la sécurisation de diplơmes a pris beaucoup d’ampleur En particulier, des besoins ont émergé dans le domaine de la sécurisation des diplơmes auquel s’intéressent aujourd’hui un certain nombre d’acteurs car l’enjeu est de taille Il s’agit de protéger la réputation des établissements ainsi que d’améliorer l’insertion professionnelle de leurs étudiants Il devient de plus en plus difficile pour les établissements d’assurer la protection de leurs diplơmes, particulièrement à une époque ó de plus en plus

de modes de transfert d'informations sont disponibles

De nombreux mécanismes de sécurités des contenus (stéganographie) ont été proposés : QR code apposé sur les contenus, marquage des documents à base

de nanoparticules, coffre-fort numérique, watermarking Bien que ces mécanismes aient pu répondre à un ensemble d’exigences de sécurité, ils demeurent uniquement efficaces dans un contexte spécifique lié aux hypothèses

et aux exigences restrictives qui ont été émises lors de la conception Parmi les méthodes pour sécuriser des contenus, il existe des méthodes visible et invisible

Pour les méthodes invisibles, l'idée est de cacher de l'information dans celle présente dans les documents comme celle proposée par le L3i et la société SOOD

En outre, l’explosion de l'apprentissage en profondeur, en particulier les modèles génératifs profonds (qui connais en anglais avec le nom : Deep Generative Modeles - DGM) qui offrent un nouveau potentiel pour les techniques de dissimulation de l'information

Dans le cadre du projet SeAD, nous aimerions donc appliquer le modèle génératif profond pour construire le prototype des diplơmes de l’Université de

La Rochelle Plus spécifiquement, après avoir identifié la zone importante, le modèle génératif est utilisé pour encoder des messages en fonction de cette zone détectée C’est pourquoi, dans le cadre du projet SeAD, le travail de stage consiste à étudier les nouvelles méthodes de génération de caractères qui permettent d'encoder de l'information (via des caractères déformés) via des réseaux de neurones profonds Dans le cadre de ce stage, une évaluation de la performance des douze modèles génératifs profonds différents des deux catégories des modèles : Auto-encodeur (AE) et Générative réseau

contradictoire (qui connait en anglais : Generative Adversarial Network - GAN)

sur deux ensembles de données manuscrites (MNIST et BALI) est proposée

Cette évaluation nous permet non seulement à trouver le modèle génératif parmi les douze modèles qui correspond le mieux aux caractères d’écritures,

Trang 10

mais encore à mettre en évidence les avantages et les inconvénients de chaque modèle À partir de ces remarques sur ces modèles, nous pourrons proposer à l’avenir un modèle génératif qui fonctionnera efficacement avec des caractères manuscrits sur des diplômes de l’Université de La Rochelle

Le mémoire est structuré en cinq grandes parties suivantes :

Chapitre 1 – Présentation générale Ce chapitre présente brièvement l’environnement du stage, le contexte du sujet et la description générale de l’objectif du stage, le domaine de recherche et le cadre du sujet

Chapitre 2 – Description des modèles génératifs Dans ce chapitre, nous représentons les idées principales douze modèles génératifs de deux types de

modèles : Auto-encoder (AE) et Generative Adversarial Network (GAN)

Chapitre 3 – Protocole expérimental Dans le cadre de ce chapitre, on parlera des ensembles des données pour évaluer les modèles génératifs Ensuite,

le protocole expérimental sera présenté Enfin, nous montrerons la technique de reconnaissance des images

Chapitre 4 – Résultats et discussions Ce chapitre consacre à présenter des résultats obtenus et des discussions sur ces résultats

Chapitre 5 – Conclusion et Perspective Il s’agira de faire la conclusion et

de présenter les perspectives du sujet

Trang 11

Chapitre 1 : PRÉSENTATION GENÉRALE

1.1 Présentation de l’établissement d’accueil

1.1.1 Présentation de l’Université de La Rochelle – organisme d’accueil

L’université de La Rochelle (ULR) est une université française

pluridisciplinaire, située à La Rochelle Fondée en 1993 dans le cadre des universités nouvelles, son campus est situé dans le quartier des Minimes à La Rochelle, en Charente – Maritime Second pôle universitaire de l’académie de Poitiers, elle est membre de la Communauté d’université et établissements d’Aquitaine et a accédé aux “compétences élargies” en janvier 2009 L’université est spécialisée dans les problématiques de l’environnement littoral

et du développement durable

L’université est structurée en trois unités de formation et de recherche et

un institut universitaire de technologie :

- La Faculté de Droit, Science Politique et Gestion de l’Université quiest divisée en deux départements : le département de Droit, de Science Politique et de Gestion et l’Institut de Gestion

- La Faculté des Lettres, Langues, Arts et Sciences Humaines (FLASH) est composée de trois départements : Sciences Humaines et Sociales,

professionnalisantes, un Centre Universitaire de Français Langue Étrangère, un Institut Universitaire Asie Pacifique et deux unités de recherches

- La Faculté des Sciences et Technologies

Depuis les années 2000, l’université de La Rochelle porte essentiellement ses recherches sur les problématiques de l’environnement littoral Les activités

de recherche de l’université sont particulièrement et du développement durable, ainsi que dans celui de l’informatique et des mathématiques Elle intègre dix laboratoires de recherche et six écoles doctorales, ainsi qu’une filiale consacrée

à valoriser ses activités de recherche Trois fédérations de recherche travaillent

Trang 12

L'université de La Rochelle, et en particulier le Laboratoire L3i, est également une référence dans le domaine de l'analyse de documents Ce laboratoire est à l'initiative de nombreux projets (ANR, FEDER, Européens) autour de la thématique document, et est également créateur d'une structure rassemblant des institutions publiques et des entreprises pour proposer des solutions innovantes.

1.1.2 Présentation du laboratoire L3i – lieu de travail

Le laboratoire Informatique, Image, Interaction (L3i) a été créé avec l’Université de La Rochelle en 1993 Il est équipe d’accueil (EA 2118) du Ministère de la Recherche depuis 1997 et dispose par ailleurs du label d’Equipe

de Recherche Technologique (ERT) avec ses partenaires, label attribué par le Ministère de la Recherche Le L3i est le laboratoire de recherche du domaine STIC (sciences et technologie de l’information et de la communication) de l’Université de la Rochelle associant très efficacement les chercheurs de l’IUT et

du Pôle Sciences en informatique puisque la grande majorité des chercheurs en Informatique et en Génie informatique de l’université de la Rochelle se retrouvent au sein du l3i

enseignants-Les domaines d’activités concernent principalement l’informatique, l’image et l’interaction Ces compétences sont unifiées autour d’un projet commun : la gestion interactive et intelligente des contenus numériques Le laboratoire est structuré en 3 équipes : équipe Images et Contenus (IC) avec les sous thèmes “capteurs, images et séquences d'images” et “documents et contenus numériques” ; équipe Dynamique des Systèmes et Adaptativité (eAdapt) ; équipe Modèles et Connaissances (MC) avec les thèmes “Modèles formels” et “Connaissances” Quatre domaines d’applications stratégiques sont privilégiés : environnement et développement durable ; e-éducation ; e-culture ; valorisation de contenus numériques

Les relatisons partenariales du L3i sont excellentes, en qualité, quantité et variété Elles traduisent une réelle culture de la relation avec l’entreprise Le L3i

a été leader dans sa création du Centre Européen de Valorisation Numérique Valconum Les dépôts de brevets sont en retrait au regard de cette forte activité partenariale

Le L3i développe d’importantes plateformes matérielles et logicielles dont

il faut rationaliser le nombre pour cibler les thématiques fortes, en adéquation avec les moyens humains

Trang 13

1.1.3 Présentation du projet SeAD

Le projet SeAD, sélectionné dans le cadre des fonds FEDER de la région Poitou-Charentes, rassemble trois services de l’Université de La Rochelle (le laboratoire L3i, la Direction du Système d’Information et le Service des Etudes

et de la Vie Etudiante) et l’entreprise SOOD, spécialisée dans la sécurisation de documents Ce projet vise à développer un prototype logiciel complexe et innovant pour pouvoir sécuriser les diplômes de l’Université de La Rochelle sans que cette sécurisation soit perceptible visuellement En particulier il s’agit

de réaliser un prototype de laboratoire sur le marquage de documents textuels et texturés en vue d’empêcher la fraude de document numérique (les diplômes)

1.2 Contexte du sujet

À nos jours, la fraude documentaire ne cesse d'augmenter Face à cette menace croissante, les établissements peuvent mettre en place des solutions logicielles et matérielles ainsi qu'une politique plus stricte de contrôle de leurs diplômes

De nombreux mécanismes de sécurités des contenus (stéganographie) ont été proposés : QR code apposé sur les contenus, marquage des documents à base

de nanoparticules, coffre-fort numérique, wartemarking Parmi les méthodes pour sécuriser des contenus, il existe des méthodes visibles et invisibles Pour les méthodes invisibles, l'idée est de cacher de l'information dans celle présente dans les documents comme celle proposée par le L3i et la société SOOD La stéganographie consiste à cacher un type de données dans d'autres données Un exemple serait de cacher une image dans une autre image La différence principale entre la cryptographie et la stéganographie est que, dans la stéganographie, l’image semble inchangée et ne sera donc pas examinée ni analysée par des intermédiaires Les méthodes actuelles qui masquent les images dans d'autres images existent déjà, mais elles posent quelques problèmes : Ils sont très faciles à décoder, car la manière dont les informations sont codées est corrigée ; La quantité d'informations qui peut être caché est généralement moins ; Cacher une image de la même taille perdra probablement pas mal d’informations ; Dans le cas des images, les algorithmes n'exploitent pas la structure des images ; Ils n'utilisent pas les motifs trouvés dans les images naturelles

En outre, l’explosion de l'apprentissage en profondeur, en particulier les modèles génératifs profonds (qui est connu en anglais sous le nom de Deep Generative Modeles - DGM) qui offrent un nouveau potentiel pour les techniques de dissimulation de l'information Les fonctionnalités appris de ces

Trang 14

modèles augmentent leur niveau d’abstraction si les réseaux sont plus profonds L’utilisation d’un modèle génératif profond résoudra tous les problèmes mentionnés ci-dessus Premièrement, ce réseau sera en mesure de décider quelles zones sont redondantes et d’y masquer davantage de pixels En économisant de l'espace sur les zones redondantes, le système peut augmenter la quantité d'informations cachées Enfin, car l'architecture et les poids peuvent être randomisés, la manière exacte par laquelle le réseau cachera les informations ne peut pas être connue de ceux qui n'ont pas les poids

Dans le cadre de ce projet, nous essayons de cacher un code secret dans une image de signature Les réseaux de neurones sont simultanément formés pour créer les processus de dissimulation et de révélation et sont conçus pour fonctionner spécifiquement en paire Le système est formé sur des images de la base de données caractères manuscrits Contrairement à de nombreuses méthodes stéganographiques populaires qui codent le message secret dans les bits les moins significatifs de l’image porteuse, cette approche compresse et distribue la représentation de l’image secrète dans tous les bits disponibles L’ensemble de l’architecture réseau est étonnamment similaire à celle des modèles génératifs profonds En général, les modèles génératifs profonds sont conçus pour reconstruire l’entrée après une série de transformations Ce faisant, ils découvrent les fonctionnalités de la distribution d’entrée Dans ce cas, l'architecture est légèrement différente Au lieu de se contenter de reproduire des images, l’architecture doit masquer une image et reproduire une autre image

Le cadre complet du système se composera de 3 parties : le réseau Préparer, le réseau Masqué et le réseau Reveal Le réseau Préparer saisit l’image secrète et la prépare Le réseau Masqué prend en sortie le réseau de préparation ainsi que l'image de couverture Ces deux entrées sont d'abord concaténées dans l'axe des canaux Le réseau Masqué génère une image, qui est l’image cachée Ceci est l'image qui contient le secret, mais ressemble à la couverture Afin de récupérer l'image secrète, elle doit être transmise à un réseau Reveal Le réseau

de révélation produira une image, qui ressemble au secret

Par conséquent, dans le cadre du projet SeAD, nous aimerions appliquer

un modèle génératif profond pour construire le prototype des diplômes de l’Université de La Rochelle Plus spécifiquement, après avoir identifié la zone importante, nous obtenons les images de signatures Nous appliquons ensuite le modèle génératif profond à ces images

C’est pourquoi, le travail de stage consiste à étudier les nouvelles méthodes de génération de caractères qui permettent d'encoder de l'information

Trang 15

(via des caractères déformés) via des réseaux de neurones profonds Plus précise, le stage a pour objectif d’effectuer une évaluation de certains des DGM populaires et tester leur performance sur 2 jeux de données Ces modèles peuvent être principalement divisés en deux catégories La première catégorie est AE et le second est GAN Dans ce mémoire, nous avons évalué différents types des AE ainsi que des GAN et avons comparé leurs performances sur un ensemble de données de chiffres manuscrits (MNIST) ainsi que sur un ensemble

de données historiques de caractères manuscrits du langage BALI indonésien Nous avons choisi ces deux ensembles de données car ces sont des bases connues et qui se prêtent bien au processus de validation de notre méthode de génération de caractères La base de données MNIST (base de données modifiée

de l'Institut national des normes et de la technologie) est une vaste base de données de chiffres manuscrits couramment utilisée pour la formation de divers systèmes de traitement d'images de l'apprentissage automatique et de l’apprentissage en profondeur La base BALI est le jeu de données d'images de manuscrit de BALInese de paume vient de BALI, Indonésie Cet ensemble de données a des mêmes spécifications techniques que les signatures manuscrites

De plus, ces caractères générés sont reconnus en utilisant un outil de reconnaissance de caractères pour calculer les performances statistiques de ces caractères générés par rapport aux images de caractères originales

Cette évaluation nous permet non seulement à trouver le modèle génératif parmi les douze modèles qui correspond le mieux aux caractères d’écritures, mais encore à mettre en évidence les avantages et les inconvénients de chaque modèle À partir de ces remarques sur ces modèles, nous pourrons proposer à l’avenir un modèle génératif qui fonctionnera efficacement avec des caractères manuscrits sur des diplômes de l’Université de La Rochelle

Trang 16

Chapitre 2 – DESCRIPTION DES MODELES GENERATIFS

Selon la théorie des probabilités et des statistiques, il existe deux types de modèles probabilistes appelés modèle génératif et modèle discriminatif Le modèle génératif modélise la distribution conjointe, tandis que le modèle discriminatif se concentre sur la distribution conditionnelle

Dans le cadre de ce chapitre, nous considérons les idées principales présentées par la variation du AE et du GAN

2.1 Les variations de l’auto-encodeur (AE)

Un auto-encodeur [15] est un réseau de neurones formé pour tenter de recréer son entrée dans sa sortie Les auto-encodeurs sont conçus pour être capable d’apprendre à copier des propriétés précieuses des données parce que les modèles sont forcés de définir la priorité aux aspects de l’entrée à copiés

Traditionnellement, les auto-encodeur étaient utilisés pour la réduction de

la dimensionnalité ou l’apprentissage des fonctionnalités La réduction de la dimensionnalité dépend de méthodes linéaires telles que l'analyse en composantes principales (PCA), qui trouve les directions de la variance maximale dans les grandes données En ne sélectionnant que les axes ayant la plus grande variance, PCA vise à capturer les directions qui contiennent le plus d'informations sur les entrées afin que nous puissions exprimer autant que possible avec un nombre minimal de dimensions Cependant, la linéarité de la PCA impose des limitations significatives aux types de dimensions des caractéristiques pouvant être extraites L’auto-encodeur surmonte ces limitations

en exploitant la non-linéarité inhérente des réseaux de neurones

Récemment, des liens théoriques entre les auto-encodeurs et les modèles à variable latente ont amené les auto-encodeurs au premier plan de la modélisation générative

Un auto-encodeur est composé de trois éléments : le modèle de codage, le code et le modèle de décodage Le but de la fonction de codeur est de créer une (des) couche(s) cachée (s) qui contient un code pour décrire l'entrée Il a un rôle important lors de la formation, pour forcer l'auto-encodeur à sélectionner les fonctionnalités les plus importantes dans la représentation compressée La fonction décodeur reconstruit ensuite l'entrée en utilisant uniquement ce code

La procédure de formation AE est illustrée à la figure 2-1: mappant une entrée

Trang 17

x sur une sortie (appelée reconstruction) ˆx par l’intermédiaire d’une représentation ou d’un code interne h

Figure 2-1: Structure générale d’un auto-encodeur

Dans le cadre de cette section, nous allons présenter le contenu principal des auto-encodeurs Certains modèles y apprennent à reconstruire des données

en limitant la taille de la couche sous-jacente et la profondeur du réseau D'autres modèles utilisent une fonction de perte qui encourage les modèles à avoir d’autres propriétés que la possibilité de copier son entrée dans sa sortie plutôt que de limiter la taille du code Ces autres propriétés incluent la faible densité de la représentation, la petite taille de la dérivée de la représentation et la robustesse du bruit ou des entrées manquantes Un auto-encodeur régularisé peut être non linéaire et excessivement complet, mais permet néanmoins d'apprendre quelque chose d'utile sur la distribution des données, même si la capacité du modèle est suffisante pour apprendre une fonction d'identité triviale

2.1.1 Auto-encodeur vanille et Auto-encodeur multicouches

Pour construire un auto-encodeur, nous avons besoin de trois choses : une méthode de codage, une méthode de décodage et une fonction de perte pour comparer la sortie avec la cible Nous les explorerons dans la partie suivante

2.1.1.1 L’architecture de l’auto-encodeur

Normalement, nous espérons que la formation de l’auto-encodeur à la tâche de copie des entrées permettra aux couches latentes d’acquérir des propriétés utiles Une façon d'obtenir des fonctionnalités utiles de l'auto-codeur consiste à contraindre la couche latente à une dimension inférieure à celle de l’entrée Cela permet à l’auto-encodeur d’apprendre une représentation incomplète de l’entrée Cette représentation force l’auto-encodeur à capturer des principales caractéristiques des données d’apprentissage Alors que se passe-t-il lorsque nous définissons la couche latente dont sa taille est plus grande que celle

Trang 18

de l’entrée ? Dans ce cas, même un codeur linéaire et un décodeur linéaire peuvent apprendre à copier l'entrée sur la sortie sans rien apprendre d'utile sur la distribution des données

Les auto-encodeurs peuvent être considérés comme un cas particulier des

réseaux à feed-forward entièrement connectés et formé avec la descente de

gradient de mini-batch à la suite de gradient calculés par rétro-propagation (back-propagation en anglais)

L'encodeur est une fonction f qui mappe une entrée x à la représentation cachée h Il a la forme : h = f (x) = s f (W x + b h), ó s f est une fonction

d'activation non linéaire, typiquement un sigmọde logistique h = f (x) = 1

1+ e - h

L'encodeur est paramétré par une matrice de poids W et un vecteur de biais b h

Le décodeur est une fonction g mappe la représentation cachée h retour à

une reconstruction ˆx : ˆx = g(h) = s g(W h¢+ b ˆx) ó s g est une fonction d'activation Les paramètres du décodeur sont la matrice de poids W¢ et un vecteur de biaisb ˆx

Figure 2-2: Auto-encodeur vanille

Trang 19

Dans sa forme la plus simple, l'auto-encodeur est un réseau à deux couches, c'est-à-dire un réseau neuronal entièrement connecté avec une ou des couches cachées L'architecture de l'auto-encodeur vanille est représentée sur la

figure 2-2, dont la couche d'entrée et de sortie ont le même nombre de neurones,

la couche cachée est plus petite que la taille de la couche d'entrée et de sortie La couche cachée est une représentation compressée, et nous apprenons deux ensembles de poids et de biais qui codent nos données d'entrée dans la représentation comprimée et décodent notre représentation compressée dans l'espace d'entrée

Une pensée naturelle qui pourrait surgir est d'étendre l'auto-codeur au-delà

de la couche unique Ce qui peut être facilement réalisé simplement en gardant

la dimensionnalité de l'entrée et la sortie soit la même, ó en augmentant le nombre de couches cachées Le choix d’un modèle profond correspond à une croyance très générale selon laquelle la fonction que nous souhaitons apprendre devrait comprendre la composition de plusieurs fonctions plus simples Les modèles plus profonds ont tendance à mieux fonctionner En utilisant un modèle profond, nous pensons que la fonction doit être composée de nombreuses fonctions plus simples composées ensemble Cela peut aboutir à l’apprentissage d’une représentation composée à son tour de représentations plus simples (par exemple, des angles définis en arêtes) ou à l’apprentissage d’un programme comportant des étapes séquentiellement dépendantes (par exemple, définir un ensemble d’objets, puis les segmenter les uns les autres, puis les reconnaỵtre)

2.1.1.2 La fonction de perte

Un auto-encodeur essaye d'apprendre une approximation de la fonction d’identité, de manière à produire la reconstruction ˆx qui est similaire à l'entrée

x La fonction de perte est calculée soit en utilisant l'erreur quadratique moyenne

MSE, soit par l'entropie croisée binaire Si les valeurs d'entrée sont dans la plage [0, 1], alors nous utilisons typiquement la fonction de perte d'entropie croisée

L(x,g( f (x))) = - x i

i=1

å log( ˆx) + (1- x i )log(1- ˆx) (1) Sinon, nous avons une simple perte quadratique moyenne :

L(x,g( f (x))) = 1

2 (x i - ˆx i)2

i=1

Le processus d’apprentissage est décrit comme minimisant une fonction

de perte Cette fonction de perte représente à quel point la reconstruction est proche des vraies données d'entrée Nous n'attendons pas de reconstruction parfaite car le nombre de neurones cachés est inférieur au nombre de neurones

Trang 20

d'entrée, mais nous voulons que les paramètres nous donnent la meilleure reconstruction possible

2.1.2 Auto-encodeur sparse (SPAE)

Dans l'auto-encodeur vanille, nous supposons que le nombre d'unité cachée est petit Mais, même lorsque le nombre d'unités cachées est supérieur au nombre d’unité d’entrée, nous pouvons toujours découvrir une représentation intéressante des données d’entrée Pour atteindre ceci pour une entrée donnée, la plupart des neurones cachés ne devraient produire qu’une activation faible [15] Autrement dit, sa valeur d'activation moyenne doit être une petite valeur (la

fonction d'activation sigmoide donne une valeur d’activation proche de 0, la

fonction d'activation tanh donne une valeur d'activation qui est proche de -1) Dans ce type de structure spécifique, l’auto-encodeur découvrira une structure intéressante dans les données, même si le nombre d'unités cachées est important Cela signifie par nature que, pour une instance donnée, seul un ensemble informatif d'unités est activé afin qu’une représentation plus discriminante puisse être capturée

indique l'activation de cette unité cachée La contrainte est imposée par ,

ó r est "paramètre de parcimonie" Pour y parvenir, nous devons ajouter un terme de pénalité supplémentaire à notre objectif d'optimisation qui pénalise

S2 est le nombre d'unités dans le couche cachée;

• j est l'indice de l'unité cachée dans le réseau;

• la divergence KL est une fonction standard pour mesurer la différence entre deux distributions différentes:

Trang 21

ó :

• b contrơle le poids du terme "paramètre de parcimonie"

2.1.3 Auto-encodeur contractif (CAE)

L'auto-encodeur contractif, ou CAE [18] vise simplement à apprendre des représentations invariantes à des transformations sans importance pour les données fournies Il n'apprend que les transformations qui sont exactement dans l'ensemble de données donné Plus précis, l’ auto-encodeur contractif permet à la fonction d'extraction de caractéristiques de résister aux perturbations infinitésimales de l'entrée Comme pour la plupart des autres variantes d'auto-encodeur, ceci est fait en ajoutant un terme de pénalité à la fonction de cỏt que nous essayons de minimiser Du point de vue mathématique, il donne l'effet de

la contraction en ajoutant un terme supplémentaire au cỏt de reconstruction qui

encourage les dérivées de f et g à être aussi petites que possible

L'auto-encodeur contractif est une forme particulière d'auto-codeur régularisé qui est entraỵné pour minimiser l'erreur de reconstruction régularisée suivante :

dx i est la norme de Frobenius au carré (somme des

éléments au carré) de la matrice Jacobian de dérivées partielles associées à la fonction du encodeur ;

• D représente l'ensemble de données d'entraỵnement complet ;

• F est la norme de Frobenius ;

• λ est le paramètre positif qui contrơle la régularisation

Notons que le succès de la minimisation du critère CAE dépend fortement

des paramètres de f et g et en particulier de la contrainte de poids liée utilisée,

avec f (x) = s f (W x + b h) et g(h) = s g(W h¢+ b ˆx) Le terme de régularisation

ci-dessus force f (ainsi que g, en raison des poids associés) à être contractif,

c'est-à-dire à avoir des valeurs singulières inférieures à 1 Cependant, lorsque nous utilisons la pénalité contractive basée sur le jacobien pour pré-entraỵner les caractéristiques f (x), la meilleure précision résulte généralement de l'application de la pénalité contractive à f (x)plutơt qu'à g( f (x)) Spécifiquement, étant donné que le CAE est formé pour résister aux

Trang 22

perturbations de son entrée, il est encouragé de mapper un voisinage de points d’entrée sur un voisinage plus petit de points de sortie Nous pouvons penser que cela revient à faire passer le voisinage d’entrée à un plus petit voisinage de sortie

La valeur élevée de λ donne plus de contraction (valeurs singulières plus petites) mais dans les directions locales lorsqu'il y a peu ou pas de variations de données, le degré de contraction des données est moindre

2.1.4 Autoencodeur convolution (convolutional autoencodeur convAE)

-Jusqu'à présent, nous avons vu que les entrées de l'auto-encodeur sont des images Il est donc logique de se demander si une architecture convolutionnel [13] peut fonctionner mieux que les architectures auto-encodeur classiques discutées précédemment Nous rappelons que l'auto-encodeur se compose de deux parties : le codage et le décodage

Pour le codage, nous utilisons un réseau de neurones convolutionnel traditionnel dont le mécanisme principal pour réduire les informations dans ce

réseau convolutif est la couche de max-pooling Au lieu d'utiliser des couches entièrement connectées, nous utilisons des couches de convolution et de max-

pooling pour réduire notre contribution à une représentation codée Comme une

image circule vers le haut à travers le réseau, les informations sont supprimés en tant que représentation de l'image devient plus invariant aux transformations nuisances

Dans le décodage, l’inverse est vrai Il faut ajouter de nombreux détails car la représentation de l'image à générer se propage à travers le réseau, aboutissant à la représentation finale de l'image, qui est bien sûr l'image elle-même, dans toute sa splendeur détaillée, avec les positions d’objets, les poses, les textures et l'éclairage Le principal mécanisme permettant de supprimer des informations dans un réseau de reconnaissance convolutionnelle est la couche de pooling Le réseau du générateur semble avoir besoin d’ajouter des informations Nous ne pouvons pas mettre l'inverse d'une couche de pooling dans le réseau du générateur car la plupart des fonctions de pooling ne sont pas inversibles Pour redimensionner notre représentation codée sous la même forme que le codage, une opération plus simple est donc utilisée pour augmenter la taille spatiale de la représentation Une approche qui semble fonctionner de

manière acceptable consiste à utiliser un “un-pooling” introduit par Dosovitskiy

et autres [1] Cette couche correspond à l'inverse de l'opération de max-pooling dans certaines conditions simplificatrices La couche de un-pooling est effectuée

Trang 23

en remplaçant simplement chaque entrée d'une carte de caractéristiques par un bloc s ´ s, avec la valeur d'entrée dans le coin supérieur gauche et les zéros

ailleurs, comme illustré dans la figure 2-3 Ce sont des hypothèses très fortes et irréalistes, mais elles permettent l'inversion de l'opérateur de pooling Même si les hypothèses qui motivent la définition de l'opérateur de un-pooling sont

irréalistes, les couches suivantes sont capables d'apprendre à compenser ses sorties inhabituelles, de sorte que les échantillons générés par le modèle dans son ensemble sont visuellement agréables

Figure 2-3: La couche de un-pooling

2.1.5 Dé-bruitage auto-encodeur (noising auto-encodeur – noisingAE)

de-Plutơt que d'ajouter une pénalité à la fonction de cỏt, nous pouvons obtenir un auto-encodeur qui apprend quelque chose d'utile en modifiant le terme d'erreur de reconstruction de la fonction de cỏt Traditionnellement, les auto-encodeurs minimisent une fonction :

x ' est une copie de x qui a été corrompue par une forme de bruit

Le dé-bruitage auto-encodeur doit donc annuler cette corruption plutơt que de simplement copier leur entrée Le dé-bruitage auto-encodeur fournit donc

un autre exemple de la façon dont des propriétés utiles peuvent émerger pour minimiser les erreurs de reconstruction Ils constituent également un exemple de

la façon dont les modèles à capacité élevée et très complets peuvent être utilisés

en tant qu'auto-encodeurs, à condition de veiller à les empêcher d'apprendre la fonction d'identité La procédure de formation dé-bruitage auto-encodeur est

Trang 24

illustrée dans la figure 2-4, qui est formé pour reconstruire le point de donnée propres x à partir de sa version corrompue x ' Nous introduisons un processus

de corruption , qui représente une distribution conditionnelle sur des échantillons corrompus x ', à partir d'un échantillon de données x L'auto-

partir des paires d'apprentissage (x, x ') comme suit :

1) Échantillon d’un exemple d’apprentissage x à partir des données d’apprentissage

3) Utilisez (x, x ') comme un exemple d’apprentissage pour estimer la

est l’entrée du codeur f (x') et pdecoder généralement définis par un décodeur g(h)

f g

C(x' | x)

Figure 2-4: Le graphique de calcul de la fonction de cỏt pour un

dé-bruitage auto-encodeur

x ' est une version corrompue de l'exemple de données x, obtenue par un processus de corruption donné En règle générale, la distribution

pdecoder est une distribution factorielle dont les paramètres moyens sont émis par

un réseau prédictif g Typiquement, nous pouvons simplement effectuer une minimisation approximative basée sur le gradient (telle qu'une descente de

Trang 25

condition que le codeur est déterministe, dé-bruitage auto-encodeur est un réseau à feed-forward et peut être utilisé avec les mêmes techniques que tout autre réseau à feed-forward

2.1.6 Auto-encodeur variationnel (VAE)

Un auto-encodeur variationnel représente un modèle graphique à probabilité dirigé, dans lequel une inférence approximative est effectuée par le codeur et optimisée avec un décodeur génératif facile à échantillonner

Dans le langage des réseaux de neurones, un auto-encoder variationnel [4], [5] consiste : Un codeur probabilité , et un décodeur génératif

et une fonction de perte Où h représente une représentation cachée / codée obtenue à partir d'une entrée donnée x et représente la sortie générée

obtenue à partir de h Les poids et les biais pour le codeur sont mentionnés par 

et θ pour le décodeur

Dans le processus de décodage, l'information est perdue parce qu'elle passe d'une dimension plus petite à une plus grande La quantité d'informations

perdues doit donc être mesurée en utilisant le log-likelihood de reconstruction

Cette mesure indique avec quelle efficacité le décodeur a appris à reconstruire

une image d'entrée x étant donné sa représentation latente h

De plus, nous considérons qu’un codeur probabiliste consacre à l’approximation de la distribution à posteriori vraie Il est nécessaire de mesurer

la quantité d’informations perdue lorsqu’on utilise pour représenter

Dans ce cas là, la KL divergence est utilisée pour mesurer la proximité

de Q par rapport à P

Alors, la fonction de perte de l'auto-encodeur variationnel consiste : le

log-likelihood négatif avec une régularisation La fonction de perte définie

suivante est décomposée en seulement termes qui dépend d'un seul point de

donnée l i La perte totale devient alors l i

i=1

N

å pour N points de données totaux La

fonction de perte l i pour le point de données x i est :

(8)

Le premier terme de cette équation est la perte de reconstruction ou

log-likelihood négative attendue du i_ème point de données et le deuxième terme est

la divergence de Kullback-Leibler entre la distribution du codeur et

Trang 26

Pmodel(h) , qui mesure la perte d'information (en unités de nats) en utilisant Q

pour représenter Pmodel

Pour tous les point de la base de données, la fonction de perte est :

(9) Dans le cadre du modèle de probabilité, un auto-encodeur variationnel contient un modèle de probabilité spécifique des données x et des variables latentes h Pour générer un échantillon à partir du modèle, le VAE commence par tirer un échantillon h de la distribution de code Pmodel(h) L'échantillon est ensuite acheminé à travers un réseau de générateurs différentiables g(h) Enfin,

Cependant, au cours de formation, le réseau d’inférence approximatif (codeur)

un décodeur L'idée clé derrière les auto-encodeurs variationnels est qu'ils peuvent être formés en maximisant la borne inférieure variationnelle

associée au point de données x:

(10) Cette borne inférieure est le négatif de la fonction de perte pour l’auto-encodeur variationnel que nous avons discutés du point de vue du réseau neuronal Cependant, nous en sommes arrivés à un raisonnement fondé sur des principes concernant les modèles de probabilité et l’inférence postérieure approximative Nous pouvons toujours interpréter le terme de divergence de

Kullback-Leibler comme un régularisateur, et le terme de likelihood attendue

comme une ‘perte’ de reconstruction

2.1.7 Auto-encodeur variationnel conditionnel (CVAE)

L'auto-encodeur variationnel conditionnel [16] est une extension de encodeur variationnel Le VAE vise à formuler le problème de la génération des données comme un modèle bayésien Ce modèle est appris en optimisant sa limite inférieure Cependant, nous n'avons aucun contrôle sur le processus de génération de données sur VAE Cela pourrait être problématique si nous voulons générer des données spécifiques C'est pourquoi, le CVAE a été développer Alors que la VAE modélise essentiellement des variables latentes et des données directement, le CVAE [6] modélise des variables et des données latentes, toutes deux conditionnées à quelques variables aléatoires

Trang 27

l'auto-Pour CVAE, le modèle est maintenant conditionné à deux variables x et c

nous prenons est de :

(11) Nous avons juste conditionné toutes les distributions avec une variable c Maintenant, la variable latente est distribuée sous

2.2 Les variations de générative réseau contradictoire (GAN)

2.2.1 Générative réseau contradictoire (Generative adversarial network - GAN)

2.2.1.1 L’architecture de GAN

L'architecture de GAN est montrée dans la figure 2-5 ci-dessous

Figure 2-5: L’architecture de GAN

Le GAN [9] estime un modèle génératif via un processus contradictoire en formant simultanément deux modèles : Le générateur - G crée des échantillons destinés à provenir de la même distribution que les données d'apprentissage ; Le

Trang 28

discriminateur - D apprend en utilisant des techniques traditionnelles d'apprentissage supervisé, divisant les entrées en deux classes (réel ou faux)

2.2.1.2 Le processus d’apprentissage

Pour le générateur, nous commençons par échantillonner le vecteur z de la distribution à priori Donc z est essentiellement un vecteur de bruit non structuré Nous appliquons ensuite la fonction de générateur au vecteur d'entrée z Après que G est appliqué à z, nous obtenons un échantillon du modèle La fonction de

générateur est une fonction différentielle qui a des paramètres que nous pouvons apprendre avec la descente de gradient Nous le représentons donc généralement comme un réseau de neurones profonds mais en principe, il pourrait s'agir d'autres types de modèles

Le discriminant qui sera l'opposant du générateur est alimenté à la fois par des images générées ainsi que par des images d'apprentissage en même temps

Le discriminant est n'importe quel type de fonction différentielle qui a des paramètres Ces paramètres peuvent être appris par la descente de gradient similaire à la fonction générative Lorsque le discriminant est appliqué à des images provenant de l'ensemble d'apprentissage, son but est de produire une valeur proche de 1 Représentant une probabilité élevée que l'entrée soit réelle plutôt que fausse

Nous considérons que, idéalement, l'échantillon généré ressemblera à des échantillons réels de l'ensemble de données Une fois l'échantillon obtenu, la fonction discriminante - D est à nouveau appliquée Le discriminant aimerait rejeter ces échantillons qui sont faux, alors que le générateur voudrait tromper le discriminant en lui faisant croire qu'ils sont réels

Après avoir atteint un certain point, le discriminant sera incapable de dire

si l'image générée est une image réelle ou fausse, et c'est quand nous pouvons voir les images d'une certaine classe (classe avec laquelle le discriminant est entraîné) générée par le générateur qui n'a jamais existé auparavant

2.2.1.3 La fonction de perte

D prend x comme entrée et utilise q( D )

comme paramètres G prend z

comme entrée et utilise q(G )

comme paramètres Les deux joueurs ont des fonctions de perte qui sont définies en fonction de ces paramètres Le discriminateur souhaite minimiser J D

Trang 29

de l'autre joueur, mais que chaque joueur ne peut pas contrơler les paramètres de l'autre joueur, ce scénario est plus facile à décrire comme un jeu que comme un problème d'optimisation La version la plus simple du jeu est un jeu à somme de zéro, dans lequel la somme des cỏts de tous les joueurs est toujours nulle Dans cette version du jeu :

J (G ) = -J ( D )

(12) Tous les différents jeux conçus pour GAN utilisent jusqu'à présent le même cỏt pour le discriminateur, J ( D )

Ils ne diffèrent que par le cỏt utilisé pour le générateur, J ( G )

Nous allons donc étudier la fonction de perte pour le discriminateur qui est représenté ci-dessous :

( q( D )q(G ) = Ex~ p

data ( x )[logD(x)] + Ez~ p

z ( z )[log(1- D(G(z))] (13) Cela est juste le cỏt standard de l'entropie croisée qui est minimisé lors

de la formation d'un classificateur binaire standard avec une sortie sigmọde

Car J ( G )

est lié directement à J ( D )

, nous pouvons résumer l'ensemble du jeu avec une fonction de valeur spécifiant le gain du discriminant :

(16) Les CGANs sont intéressants pour deux raisons : Premièrement, le CGANs apprend à l'exploiter les informations supplémentaires et par conséquent, ils sont capables de générer de meilleurs échantillons Deuxièmement, avec CGANS, nous avons la façon de contrơler les représentations des images Par exemple, dans le cas de la génération d'un

visage, avec GANs, toutes les informations sont encodées par z Tandis que,

Trang 30

avec CGANs, lorsque nous ajoutons les informations conditionnelles y, ces deux

z et y encodent maintenant des informations différentes (y pourrait décrire des

attributs tels que la couleur des cheveux, la couleur de la peau ou le genre)

2.2.3 Profond convolutif générative réseau contradictoire (Deep Convolutional Generative Adversarial Networks – DCGAN)

A.Radford [17] présente une variante topo-logiquement contrainte du GAN conditionnel Pour construire un DCGAN, nous créons deux réseaux neuronaux convolutionnels profonds

Pour construire un DCGAN, deux réseaux de neurones convolutionnels profonds sont utilisés Le premier réseau consiste en une architecture profonde qui est utilisée pour regarder une image et la traiter à travers plusieurs couches pour reconnaître des entités de plus en plus complexes dans l'image Considérant que, le deuxième réseau de neurones apprend à créer de fausses images Les DCGAN proposent des modifications aux GAN en remplaçant toutes les

couches de pooling par des convolutions de foulées (stride en anglais) (pour les

discriminants) et des convolutions de foulées fractionnaires (pour les générateurs) Batch normalization est utilisée dans le générateur (toutes les couches à l'exception de la couche de sortie) et dans le discriminateur (toutes les couches à l'exception de la couche d'entrée) Leaky ReLU est utilisé dans toutes les couches du discriminateur et l'activation de ReLU est utilisée dans toutes les couches du générateur (à l'exception de la couche de sortie qui utilise la fonction

d'activation Tanh)

Figure 2-6 : Le générateur à DCGAN

Trang 31

2.2.4 Wasserstein générative réseau contradictoire (Wasserstein generative adversarial networks – WGAN)

En effet, dans la procédure de formation basée sur les GAN, deux modèles génératif et discriminatif (chaque modèle actualise son cỏt de manière indépendante) sont entraỵnés simultanément pour trouver un équilibre entre deux joueurs non coopératifs Cependant, chaque modèle met à jour son cỏt indépendamment sans aucun respect pour un autre joueur dans le jeu La mise à jour simultanée du gradient des deux modèles ne peut pas garantir une convergence Par conséquent, on ne sait pas vraiment quand arrêter l'entraỵnement (pas de convergence) Les GAN classiques minimisent la divergence de Jensen-Shanon qui est égal à zéro si la distribution réelle et fausse

ne se chevauche pas (ce qui est le cas habituel) Essentiellement, le but de tout modèle génératif est de minimiser la différence (divergence) entre les données réelles et les distributions modèles (apprises) Cependant, dans le GAN traditionnel, le discriminant ne fournit pas suffisamment d'informations pour estimer cette distance lorsque les distributions réelles, ce qui conduit à un signal faible pour le générateur et une instabilité générale Ainsi, au lieu de minimiser

la divergence de Jensen-Shanon, nous pouvons utiliser la distance de Wasserstein (W) WGAN [2] ajoute quelques astuces pour permettre au discriminant d'approcher la distance de Wasserstein entre les distributions

réelles et les modèles Les auteurs proposent d'approcher W avec un ensemble de

fonctions K-Lipschitz en résolvant les problèmes suivants :

maxw ỴW Ex »P

r - Ez »p( z )[ fw(Gq(z))] (17)

La distance à partir de Wasserstein est également appelée distance Earth

Mover’s distance- EMD, qui est définie par l'équation suivante :

W (P r , Pq) = inf

l Ỵ Õ( P r ,Pq E ( x ,y )infg[| x - y |] (18)

Où Õ(P r , Pq) désigne l'ensemble des distributions conjointes l(x, y)

dont les marginaux sont respectivement P r et P g

L'intuition de la distance Wasserstein vient d'une idée simple : comment déplacer les choses à la forme et l'emplacement souhaités avec une consommation d'énergie minimale En termes de distributions de probabilité, si nous considérons chaque distribution comme un tas de terre et que nous voulons les transformer en un autre tas avec qui suivent une distribution de probabilité à

un cỏt minimum pour suivre l'autre distribution Cette distance est souvent

Ngày đăng: 16/02/2020, 14:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w