0% ont trouvé ce document utile (0 vote)
12 vues98 pages

Classification Profonde et Réseaux de Neurones

Transféré par

Harouna Zoungrana
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues98 pages

Classification Profonde et Réseaux de Neurones

Transféré par

Harouna Zoungrana
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITÉ DU QUÉBEC

MÉMOIRE PRÉSENTÉ À

L’UNIVERSITÉ DU QUÉBEC À TROIS-RIVIÈRES

COMME EXIGENCE PARTIELLE

DE LA MAÎTRISE EN MATHÉMATIQUES ET INFORMATIQUE

APPLIQUÉES

PRÉSENTÉ PAR

YOUSSEF BARKAOUI

CLASSIFICATION PROFONDE ET RÉSEAUX DE NEURONES :

APPLICATION EN SCIENCE DES DONNÉES

MARS 2022


UniversitéduQuébecàTroisͲRivières

Servicedelabibliothèque

Avertissement

L’auteurdecemémoireoudecettethèseaautorisél’UniversitéduQuébec
à TroisͲRivières à diffuser, à des fins non lucratives, une copie de son
mémoireoudesathèse.

Cettediffusionn’entraînepasunerenonciationdelapartdel’auteuràses
droitsdepropriétéintellectuelle,incluantledroitd’auteur,surcemémoire
oucettethèse.Notamment,lareproductionoulapublicationdelatotalité
oud’unepartieimportantedecemémoireoudecettethèserequiertson
autorisation. 

Table des matières

Liste des acronymes et d’abréviations 6

Résumé 7

Abstract 8

Avant-propos 9

Introduction 10

1 Intérêt et mise en contexte 11

1.1 Réseaux de neurones artificiels . . . . . . . . . . . . . . . . . 11

1.2 Aspects mathématiques . . . . . . . . . . . . . . . . . . . . . 13

1.2.1 Un problème d’approximation . . . . . . . . . . . . . 13

1.2.2 Fondements théoriques . . . . . . . . . . . . . . . . . 15

1.2.3 Un système dynamique . . . . . . . . . . . . . . . . 21

1.3 Explication et interprétation des réseaux de neurones profonds 23

1.3.1 Méthodes d’attribution de caractéristiques additives . 26

1.3.2 SHAP (SHapley Additive exPlanation) . . . . . . . . 30

2 Optimisation 32

2.1 Fonction de perte . . . . . . . . . . . . . . . . . . . . . . . . 32

2.2 Algorithmes du gradient . . . . . . . . . . . . . . . . . . . . 33

2.3 Barème des taux d’apprentissage . . . . . . . . . . . . . . . 37

2.4 Décroissance des poids . . . . . . . . . . . . . . . . . . . . . 38

1
2.5 Batch Normalisation . . . . . . . . . . . . . . . . . . . . . . 38

2.6 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.7 Rétropropagation . . . . . . . . . . . . . . . . . . . . . . . . 40

2.8 Perceptron Multi-couches . . . . . . . . . . . . . . . . . . . . 41

2.9 Réseau de neurones à convolution . . . . . . . . . . . . . . . 42

2.9.1 Couche de convolution . . . . . . . . . . . . . . . . . 43

2.9.2 Couche d’activation . . . . . . . . . . . . . . . . . . . 45

2.9.3 Couche Pooling . . . . . . . . . . . . . . . . . . . . . 46

2.9.4 Réseaux de convolution remarquables . . . . . . . . . 47

3 État de l’art 49

3.1 EfficientNet . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.2 ViT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.3 Autoencodeur . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.3.1 Autoencodeur variationnel . . . . . . . . . . . . . . . 57

3.3.2 Autoencodeur contractif . . . . . . . . . . . . . . . . 58

3.3.3 Autoencodeur épars . . . . . . . . . . . . . . . . . . . 59

4 Deep Clustering 60

4.1 Principes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.2 Architecture DCEC . . . . . . . . . . . . . . . . . . . . . . . 65

4.3 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.4 Mesures d’évaluation . . . . . . . . . . . . . . . . . . . . . . 67

4.4.1 Précision (ACC) . . . . . . . . . . . . . . . . . . . . 67

2
4.4.2 Information mutuelle normalisée (NMI) . . . . . . . . 68

4.5 Expérimentations et résultats . . . . . . . . . . . . . . . . . 68

5 Adaptive Self-Paced Deep Clustering with Data Augmen-


tation 71

5.1 Augmentation des données . . . . . . . . . . . . . . . . . . . 72

5.2 Apprentissage Self-paced classique . . . . . . . . . . . . . . 74

5.3 Apprentissage self-paced adaptatif . . . . . . . . . . . . . . . 76

5.4 Expérimentations et résultats . . . . . . . . . . . . . . . . . 80

6 Conclusion et Perspectives 82

Bibliographie 84

3
Table des figures

1 Visualisation (a) des neurones biologiques et artificiels et (b)


un exemple d’un réseau neuronal . . . . . . . . . . . . . . . 12

2 Schéma explicatif de l’attribution des valeurs SHAP à chaque


caractéristique [69] . . . . . . . . . . . . . . . . . . . . . . . 32

3 Représentation de l’opération de la convolution [62] . . . . . 44

4 Max-pooling avec une zone de pooling de 2 × 2 pixels et un


stride de 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5 Différentes méthodes de scaling en comparaison avec Com-


pound Scaling [102] . . . . . . . . . . . . . . . . . . . . . . 51

6 Schéma explicatif des différentes composantes des AE [25] . 56

7 schéma explicatif des autoencodeurs variationnels [78] . . . . 58

8 Visualisation des résultats du clustering sur un sous-ensemble


de MNIST pendant la 50eme époque . . . . . . . . . . . . . 71

9 Graphique de perte de l’entraînement en fonction des itérations 80

10 Graphique de perte du cluserting en fonction des itérations . 80

Liste des tableaux

2 Comparaison des résultats obtenus sur l’architecture DCEC


[38] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Liste des Algorithmes

1 Descente de gradient . . . . . . . . . . . . . . . . . . . . . . 34

4
2 Descente de gradient stochastique . . . . . . . . . . . . . . . . 34

3 Algorithme Adam [52] . . . . . . . . . . . . . . . . . . . . . . 36

4 Back-propagation . . . . . . . . . . . . . . . . . . . . . . . . . 41

5 l’algorithme DeepCluster . . . . . . . . . . . . . . . . . . . . 63

6 l’algorithme Improved DeepCluster . . . . . . . . . . . . . . . 64

7 l’algorithme t-SNE . . . . . . . . . . . . . . . . . . . . . . . . 70

8 Algorithme d’apprentissage self-paced . . . . . . . . . . . . . 77

9 Algorithme d’apprentissage self-paced adaptatif avec l’augu-


mentation des données . . . . . . . . . . . . . . . . . . . . . . 79

5
Liste des acronymes et d’abréviations

ADAM Adaptive Moment Estimation


ANN Artificial Neural Networks
ASPC Clustering avec apprentissage en rythme libre
ASPCDA Clustering avec apprentissage en rythme libre
avec l’augumentation des données
CAE Clustering Autoencoder
CNN Reseau de neurones convolutionnel
Datatest La base MNIST de test à 10000 enregistre-
ments
Datatrain La base MNIST d’entrainement à 60000 en-
registrements
DCAE Deep Clustering Autoencoder
DCEC Deep Clustering Embedded Clustering
DEC Deep Embedded Clustering
DNN Deep Neural Networks ou réseaux profonds
FA La fonction d’activation
FD La fonction de décision de la SVM
MLP Multi Layer Perceptron
RBF Le noyau gaussien
RELU Unité Linéaire Rectifiée
SGD Decente de gradient stochastique
SPL Self paced Learning ou apprentissage en
rythme libre
SVM Support Vector Machine

6
Résumé

Les réseaux de neurones artificiels ont montré des résultats pro-


metteurs sur les problèmes de classification et d’autres tâches com-
plexes. En particulier, la méthode neuronale basée sur la classifica-
tion profonde a pu contourner plusieurs limitations des méthodes de
classification classiques, principalement dans l’analyse des bases de
données complexes. Néanmoins, plusieurs méthodes neuronales ne
sont pas assez robustes pour analyser les classes qui se chevauchent
et donc qui ne sont pas linéairement séparables.
Ce mémoire propose d’utiliser la classification profonde pour ré-
pondre à la problématique des classes non linéairement séparables.
En particulier, on a amélioré les résultats obtenus, aussi bien au ni-
veau de la classification que de la prédiction, sur la base de données
MNIST relative aux chiffres manuscrits. Pour ce faire, nous avons
utilisé la classification profonde basée sur les autoencodeurs. Ces
derniers ont été optimisés par l’ajout de l’apprentissage adapté et la
modification de leur architecture et de certains hyperparamètres.
Malgré de nombreuses années de recherche sur les réseaux de neu-
rones profonds, ils sont souvent considérés comme une boîte noire,
avec peu d’informations sur la dynamique des couches cachées. La
raison en est que ces réseaux sont souvent de grande dimension,
qu’ils contiennent de nombreuses couches et que leur architecture
est généralement conçue de manière ad hoc.

7
Abstract

Artificial neural networks have shown promising results on clas-


sification problems and other complex tasks. In particular, the neu-
ral method based on deep classification has been able to overcome
several limitations of classical classification methods mainly in the
analysis of complex databases. Nevertheless, many neural methods
are not robust enough to analyze overlapping classes that are not
linearly separable.
This thesis proposes to use deep classification to address the problem
of non-linearly separable classes. In particular, we have improved the
results obtained, both in terms of classification and prediction, on
the MNIST database of handwritten digits. To do so, we used deep
classification based on autoencoders. The latter have been opti-
mized by adding adaptive learning and modifying their architecture
and some hyperparameters.
Despite many years of research on deep neural networks, they are
often considered as a black box, with little information on the dy-
namics of the hidden layers. This is because neural networks are
often very dimensional, contain many layers, and their architecture
is usually designed in an ad hoc manner.

8
Avant-propos

Au terme de la rédaction de ce mémoire, je souhaiterais adresser mes vifs


remerciements à mon directeur de recherche M. Usef Faghihi et à ma codi-
rectrice Mme Nadia Ghazzali, pour leur appui pédagogique tout au long
de la maitrise et dans la lecture et la formulation des corrections de fond
et de forme. Je les remercie également du soutien financier qu’ils m’ont
accordé. Mes remerciements vont également aux professeurs Alfred Michel
Grundland et Ismaïl Biskri pour avoir accepté d’évaluer mon mémoire de
maîtrise. Je tiens à exprimer ma reconnaissance au personnel administratif
et au corps professoral du département de mathématiques et d’informatique
de l’Université du Québec à Trois-Rivières.
Finalement, je remercie ma famille, pour leur soutien moral et leurs en-
couragements, mes amis et tous ceux et celles qui ont contribué de près ou
de loin à la rédaction de ce mémoire.

9
Introduction

Le présent mémoire s’intéresse principalement aux réseaux de neurones pro-


fonds qui chapeautent les méthodes de classifications classiques au niveau
de la couche latente. On s’intéresse également à les rendre robustes incor-
porant l’apprentissage adapté en rythme libre. Ce mémoire se décompose
de cinq parties principales. Le premier chapitre présente le contexte de
développement des réseaux de neurones ainsi que les aspects mathéma-
tiques qui prouvent rigoureusement leur existence, efficacité et Interpréta-
bilité, puis les deux chapitres suivants sur les techniques et algorithmes de
bases utilisées ainsi que l’état de l’art des réseaux de neurones. Nous dis-
cuterons ensuite le cadre général de l’intégration des algorithmes classiques
de classification dans les réseaux de neurones, plus précisément dans les
autoencodeurs, ainsi qu’on améliorera les résultats présentés dans [25].
Le dernier chapitre entamera l’incorporation de l’apprentissage en rythme
libre et l’augmentation des données. La dernière partie présentera la con-
clusion du travail et propose d’autres perspectives afin d’améliorer les méth-
odes traitées dans des futurs travaux.

10
1 Intérêt et mise en contexte

Cette partie s’intéresse au contexte général d’apparition et de développe-


ment des réseaux de neurones. On introduira également des perspectives
mathématiques pour bien comprendre leur fonctionnement, ainsi que les
fondements mathématiques qui prouvent l’existence et l’efficacité de ces
réseaux.
Une dernière section sera consacrée à l’explication du paradigme d’apprentissage
des réseaux et leur raisonnement interne.

1.1 Réseaux de neurones artificiels

De nombreux travaux pionniers et majeurs dans le domaine de l’apprentissage


automatique ont été produits et publiés à la fin des années 1980 [60]. Les
premiers résultats remarquables ont été tirés suite à l’application d’algorithmes
d’apprentissage profond à des chiffres manuscrits. Ce qui fait que les do-
maines de reconnaissance des manuscrits à être les premiers à bénéficier de
ces résultats. LeCun [62] et Cores & Vapnik [21] sont les pionniers qui ont
introduit des méthodes innovantes en apprentissage automatique tout en
profitant du développement de la puissance de calcul des machines. Leurs
travaux dans le domaine ont déclenché une cascade d’axes de recherche,
par la suite, visant à améliorer, réévaluer et étendre le champ d’application
des méthodes présentées, y compris pour les chiffres manuscrits.

Le réseau neuronal artificiel (ANN) est la pièce d’un système informa-


tique conçu pour simuler la façon dont le cerveau humain analyse et traite
l’information. L’unité de base du calcul dans un réseau neuronal est le
neuron, souvent appelé nœud ou unité. Il reçoit des données en provenance
d’autres nœuds ou d’une source externe et calcule une sortie. La figure 1[a]
montre un neurone biologique et un neurone artificiel. Un type courant

11
et simple de réseau neuronal est le réseau neuronal à action directe. Il
contient plusieurs neurones, disposés en couches. Les nœuds des couches
adjacentes sont reliés entre eux par des connexions ou des arêtes. Toutes
ces connexions sont associées à des poids. Un exemple est illustré à la figure
1[b].

[a] [b]

Figure 1 – Visualisation (a) des neurones biologiques et artificiels et (b) un


exemple d’un réseau neuronal

Au cours de la dernière décennie, les approches ANN ont permis de réaliser


des progrès remarquables et d’améliorer l’état de l’art dans de nombreux
domaines pratiques [34, 115, 42, 41] et ont impliqué des avancées et des
développements dans de nombreux domaines de recherche, notamment la
classification, la reconnaissance des objets [24, 100], la vision par ordinateur
[110, 44], la traduction des langues [26], les voitures autonomes [10, 86], les
soins de santé [28, 73], etc.

Il existe une multitude d’architectures de réseaux de neurones, bien que la


structure fondamentale de ces modèles soit la même, chaque architecture
présente des mécanismes de raisonnement internes différents qui méritent

12
d’être explorés et sont souvent utilisés dans une application spécifique. Les
modèles de réseaux de neurones les plus connus sont les suivants : Le per-
ceptron multicouche (MLP) [29] qui est le modèle le plus basique et qui n’a
pas connu de succès pendant longtemps, car il reste généralement bloqué
dans un optimum local lors de la formation, le réseau neuronal convolutif
(CNN) [2] est surtout utilisé pour la reconnaissance faciale - la recherche et
l’édition d’images, le réseau neuronal récurrent (RNN) [72] est appliqué à
la traduction automatique, à la reconnaissance vocale et à la prédiction de
séries temporelles. L’autocodeur (AE) [78] est un célèbre modèle de réduc-
tion de la dimensionnalité et les réseaux adversariaux génératifs (GAN) [32]
sont utilisés pour générer de nouvelles instances synthétiques de données
qui peuvent passer pour des données réelles[31].

1.2 Aspects mathématiques

1.2.1 Un problème d’approximation

Une perspective mathématique simple pour comprendre les réseaux de neu-


rones est de les considérer comme un problème d’optimisation ou d’approxi-
mation [85].
Étant donné un ensemble de données S = {(xi , yi = f ∗ (xi ) , i ∈ {1, 2, ..., n}} ,
le but est d’approximer f ∗ aussi précisément que possible. Si f ∗ prend des
valeurs continues, on appelle cela un problème de régression. Si f ∗ prend
des valeurs discrètes, cela s’appelle un problème de classification.
Pour simplifier, nous négligerons ce que l’on appelle le « bruit de mesure »,
car il ne change pas grand-chose à l’image globale que nous allons décrire,
même s’il est important pour un certain nombre de questions spécifiques.
Nous supposerons que xi ∈ X = [0, 1]d , et nous désignons par P la distri-
bution de {xi } .
Nous supposons également pour simplifier que supx∈X |f ∗ (x)| ≤ 1.

13
Il s’agit manifestement d’un problème d’approximation de fonction. En
tant que tel, il peut être considéré soit comme un problème d’analyse
numérique, soit comme un problème de statistique.
La procédure standard d’apprentissage supervisé est la suivante :
1. Choisir un espace d’hypothèses, l’ensemble des fonctions d’essai, qui sera
noté Hm . En analyse numérique classique, on utilise souvent des polynômes
ou des polynômes par morceaux. En apprentissage automatique moderne,
il est beaucoup plus courant d’utiliser des modèles de réseaux de neurones.
L’indice m caractérise la taille du modèle. Il peut s’agir du nombre de
paramètres ou de neurones, et sera précisé ultérieurement pour chaque
modèle.
2. Choisissez une fonction de perte. Notre objectif principal est d’ajuster
les données. Par conséquent, le choix le plus populaire est le « risque em-
pirique »[85] :

1 1
R̂n (f ) = (f (xi ) − yi )2 = (f (xi ) − f ∗ (xi ))2
n i n i

Parfois, on ajoute des termes de régularisation.


3. Choisir un algorithme d’optimisation et les hyperparamètres. Les choix
les plus populaires sont la descente de gradient (GD), la descente de gra-
dient stochastique (SGD) et les optimiseurs avancés tels que Adam[52].

L’objectif global est de minimiser le « risque de population », également


connu sous le nom d’« erreur de généralisation » [85] :

R(f ) = Ex (f (x) − f ∗ (x))2

14
1.2.2 Fondements théoriques

La réponse à la question "Pourquoi les réseaux neuronaux fonctionnent-ils


si bien dans la pratique ?" est certainement basée sur le fait que les réseaux
neuronaux peuvent bien approximer une grande famille de fonctions réelles
qui dépendent de variables d’entrée. L’objectif de ce chapitre est de fournir
les preuves mathématiques de ce comportement pour différentes variantes
de cibles. Le fait que les réseaux neuronaux se comportent comme des
approximateurs universels se traduit par le fait que leur sortie est une
approximation précise à tout degré de précision souhaité de fonctions. Le
processus d’obtention d’une approximation précise est interprété comme un
processus d’apprentissage d’une fonction cible donnée. Le chapitre traite
l’existence du processus d’apprentissage, mais il ne fournit pas de con-
struction explicite du réseau. L’idée suivie ici est qu’il est logique de savoir
d’abord qu’une solution existe avant de commencer à la chercher.

Dans la théorie mathématique des réseaux de neurones artificiels, les théorèmes


d’approximation universels sont des résultats qui établissent la densité
d’une classe de fonctions générées algorithmiquement dans un espace de
fonctions d’intérêt donné. Typiquement, ces résultats concernent les capac-
ités d’approximation de l’architecture feedforward sur l’espace des fonctions
continues entre deux espaces euclidiens et l’approximation se fait par rap-
port à la topologie de convergence compacte.
Pour ceci on introduira les théorèmes fondamentaux de l’existence des
réseaux neuronaux, à savoir « les théorèmes d’approximation universels
», en fournissant des démonstrations dans le cas simple des fonctions con-
tinues. Le lecteur pourrait découvrir plus en profondeur les démonstra-
tions des autres théorèmes qu’on énoncera dans le septième chapitre de la
deuxième partie du livre « Deep Learning Architectures, A Mathematical
Approach »[13].

15
On commencera par annoncer le lemme 1 qui prouve l’existence des ap-
proximations des fonctions lipschitziennes dans le cas d’une seule dimen-
sion, puis on étendra ce résultat dans le lemme 2 pour les dimensions
supérieures.

Lemme 1. Supposons que g : R → R est ρ-Lipschitzienne i.e.


∀(x, y) ∈ R2 , |f (x) − f (y)| ≤ ρ |x − y|. Pour toute erreur  > 0, il existe un
ρ
réseau à 2 couches f avec nœuds(ou x représente la partie entière

de x) z → 1[z ≥ 0] tels que supx∈[0,1] |f (x) − g(x)| ≤ 
ρ
Démonstration. On pose: m = , et bi = i/ρ pour i ∈ {0, . . . , m − 1},

et
a0 = g(0), ai = g (bi ) − g (bi−1 )
m−1
et soit f (x) = i=0 ai 1 [xi ≥ bi ]. Alors pour tout x ∈ [0, 1], et k le plus
grand indice tel que bk ≤ x, alors f est constant sur [bk , x], et rappelons que
k
i=1 (g (bi ) − g (bi−1 )) une somme télescopique qui vaut |g (bk ) − g (b0 ) | :

|g(x) − f (x)| ≤ |g(x) − g (bk )| + |g (bk ) − f (bk )| + |f (bk ) − f (x)|


 
0

k
≤ ρ |x − bk | + g (bk ) − ai
i=0

k
≤ ρ(/ρ) + g (bk ) − g (b0 ) − (g (bi ) − g (bi−1 ))
i=1

=

Lemme 2. Soit une fonction continue g : Rd → R et  > 0 , il existe


δ > 0 tel que x − x ∞ ≤ δ implique |g(x) − g (x )| ≤  et soit l’ensemble
U ⊂ Rd , avec une partition P de U en rectangles (produits d’intervalles
) P = (R1 , . . . , RN ) avec une longueur inférieure à δ. Alors, il existe des

16
scalaires (α1 , . . . , αN ) tel que


N
sup |g(x) − h(x)| ≤ , avec h= α i 1 Ri
x∈U
i=1

Démonstration. Soit une partition P = (R1 , . . . , RN ), et pour tout Ri , on


choisit xi ∈ Ri et un ensemble αi := g (xi ) . On a bien la longueur Ri
inférieure à δ

sup |g(x) − h(x)| = sup sup |g(x) − h(x)|


x∈U i∈{1,...,N } x∈Ri

≤ sup sup (|g(x) − g (xi )| + |g (xi ) − h(x)|)


i∈{1,...,N } x∈Ri

≤ sup sup ( + |g (xi ) − αi |) = 


i∈{1,...,N } x∈Ri

Théorème 1. Soit une fonction continue g : Rd → R et  > 0 , il existe


δ > 0 tel que x − x ∞ ≤ δ implique |g(x) − g (x )| ≤  comme défini
dans le lemme 2, Alors, il existe un réseau à 3 couches ReLU f avec

[0,1]d
|f (x) − g(x)|dx ≤ 2

Le théorème dans le cas multivarié est intéressant vu qu’il assure l’existence


des réseaux peu profonds. Toutefois, il se concentre sur les fonctions lips-
chitziennes et ne considère pas la largeur du réseau. Par la suite, on étendra
ces théorèmes pour les fonctions mesurables et intégrables.

Démonstration. Pour procéder, on considère de même une partition de



U , en utilisant le lemme 2, on est sûr de l’existence de h = Ni=1 αi 1Ri

qui satisfait g − h 1 ≤ . Intuitivement, on sait que f est de forme :



f (x) := N i=1 αi gi (x) avec les gi des réseaux neuronaux à 1 couche cachée.

le but à démontrer est : f −g 1≤ 2 s’obtient avec l’inégalité triangulaire.

17
Après avoir démontré l’existence d’un réseau de neurone approximant toute
fonction lipschitzienne et intégrable d’une profondeur fini, mais ne précisant
pas la largeur.
Le théorème d’approximation universelle stipule que toute fonction con-
tinue f : [0, 1]n → [0, 1] peut être approximée arbitrairement bien par un
réseau neuronal comportant au moins une couche cachée avec un nombre
fini de poids, ce que nous allons illustrer dans les prochaines sous-sections.
Mathématiquement, la forme classique du théorème d’approximation uni-
verselle pour une largeur arbitraire et une profondeur bornée est la suiv-
ante.

Théorème 2. Universal Approximation Theorem:


Soit une fonction continue σ : R → R (fonction d’activation) et des entiers
positifs d, D.
La fonction σ n’est pas un polynôme si et seulement si, pour toute fonction
continue f : Rd → RD (fonction cible), tout sous-ensemble compact K de
Rd , et tout  > 0 il existe une fonction continue f : Rd → RD (la sortie de
la couche) avec représentation

f  = W2 ◦ σ ◦ W1 ,

où W2 , W1 sont des fonctions affines composables et ◦ désigne la composi-


tion , telle que la borne supérieure d’approximation.

supx∈K f (x) − f (x) < ε

tient pour tout  arbitrairement petit (la distance de f à f peut-être in-


finiment petite).

Le théorème stipule que le résultat de la première couche f peut approcher


toute fonction bien conformée f . Une telle fonction bien conduite peut

18
également être approximée par un réseau de plus grande profondeur en
utilisant la même construction pour la première couche et en approximant
la fonction d’identité avec les couches ultérieures. Donc ce théorème dé-
montre la capacité d’un réseau neuronal peu profond (de 2 couches cachées
au maximum) à approximer n’importe quelle fonction continue. Cepen-
dant, le théorème ne tient pas en considération la largeur, car un tel réseau
neuronal pourrait avoir un très grand nombre d’unités cachées
Le théorème de représentation de Kolmogorov-Arnold (ou théorème de su-
perposition) stipule que toute fonction continue multivariable peut être
représentée comme une superposition de fonctions continues d’une variable[46].

Théorème 3. Kolmogorov-Arnold:
Toute fonction continue f : [0, 1]n → R peut s’écrire comme suit


Zm 
m
f (x) = f (x1 , . . . , .., xn ) = φq Ψq (xq )
q=1 q=1

avec φq , Ψq sont des fonctions continues d’une variable.

Cela implique, entre autres, que si nous pouvons choisir la non-linéarité de


chaque unité, nous pouvons représenter n’importe quelle fonction continue
exactement avec un NN à 1 couche cachée.

Dans les sections précédentes, nous nous sommes concentrés sur le cadre
des réseaux de neurones limités en profondeur. Ensuite, nous verrons des
résultats intéressants pour les réseaux neuronaux limités en largeur.

Théorème 4. Théorème d’approximation universel pour les réseaux


activés par ReLU limités en largeur [46] Pour toute fonction de
Lebesgue-intégrable f : Rn → R et tout  > 0, il existe un réseau ReLU
entièrement connecté A avec une largeur dm ≤ n + 4, tel que la fonction
FA représentée par ce réseau satisfait:

19
Rn
|f (x) − FA (x)| dx < 

Théorème 5. Universal Approximation Theorem (contrainte en largeur


arbitraire).
Soit X un sous-ensemble compact de Rd . Soit σ : R → R tout non-affine
fonction continue qui est différentiable en au moins un point, avec une
dérivée non nulle en ce point.
Soit Nd,D:d+D+2
σ
désigne l’espace des réseaux neuronaux à action directe
avec d neurones d’entrée, D neurones de sortie, et un nombre arbitraire de
couches cachées comportant chacune d + D + 2 neurones, tels que chaque
neurone caché a une fonction d’activation σ et chaque neurone de sortie a la
fonction identité comme fonction d’activation, avec la couche d’entrée φ, et
la couche de sortie ρ. Alors, étant donné toute ε > 0 et toute f ∈ C(X , RD ),
il existe fˆ ∈ Nd,D:d+D+2
σ
telle que
 
 
supx∈X fˆ(x) − f (x) < ε.

i.e, N est dense in C(X ; RD ) par rapport à la topologie uniforme.

Les résultats prouvés dans ce chapitre montrent qu’un réseau neuronal à


une couche cachée et une activation linéaire dans la couche de sortie peut
apprendre des fonctions continues, des fonctions intégrables, ainsi que des
fonctions mesurables. La qualité des réseaux neuronaux pour être des ap-
proximateurs universels potentiels n’est pas le choix spécifique de la fonc-
tion d’activation, mais plutôt le choix de la fonction d’activation, mais
plutôt l’architecture du réseau feedforward elle-même. Le prix à payer
est que le nombre de neurones dans la couche cachée n’a pas de lim-
ite a priori. Cependant, il existe un résultat indiquant que pour chaque
chiffre supplémentaire de gain de précision de l’approximation de la cible,
le nombre de neurones cachés doit être multiplié par 100. Les résultats
de l’approximation fonctionnent également si la fonction d’activation est

20
une ReLU ou sigmoid [46]. Cependant, la preuve n’est pas une modifica-
tion simple des preuves fournies ci-dessus, mais plutôt des méthodes bien
spécifiques au choix de la fonction d’activation. Le compromis entre la
profondeur, la largeur et l’erreur d’approximation est toujours un sujet
de recherche actif. Par exemple, en 2017, Lu et al. [68] ont prouvé un
théorème d’approximation universel pour les réseaux de neurones profonds
limités en largeur avec ReLU qui peuvent approximer toute fonction inté-
grable de Lebesgue sur un espace d’entrée à n dimensions. Peu de temps
après, Hanin [40] a amélioré ce résultat en utilisant des réseaux ReLU pour
approximer toute fonction convexe continue de variables d’entrée à n di-
mensions.

1.2.3 Un système dynamique

Les réseaux neuronaux peuvent également être considérés comme des sys-
tèmes dynamiques. La manière la plus directe de relier pratiquement
n’importe quel réseau neuronal aux systèmes dynamiques consiste à con-
sidérer les poids apprenables comme l’état d’un système discret, provenant
d’un espace de paramètres euclidien. La carte est définie par la mise à jour
des poids pour chaque étape de la descente de gradient. Cela ouvre la voie
à une compréhension plus approfondie du fonctionnement de l’opération
de rétropropagation, qui à son tour éclaire la compréhension des réseaux
neuronaux en général.

Nous pouvons également considérer les réseaux de neurones comme un


graphe orienté dont les nœuds sont les neurones et les arêtes les poids
synaptiques. Chaque nœud est caractérisé par une équation d’évolution où
l’état du neurone dépend de ses voisins. En suivant les notations de [14]
nous pouvons caractériser chaque neurone i par son état, Xi , qui appartient
à un ensemble compact I ⊂ RM , où M est le nombre de variables carac-

21
térisant l’état d’un neurone. D’après [14], on peut modéliser l’évolution de
N neurones, donnée par un système dynamique déterministe,

dX
= Fγ (X, t), temps continue, (1)
dt

où,
X(t + 1) = Fγ [X(t), t], temps discret . (2)

La variable X = {Xi }N
i=1 représente l’état dynamique d’un réseau de N

neurones au temps t. Typiquement, X ∈ M = I N où M est l’espace d’état


de Eq.(2), et la carte Fγ : M → M dépend d’un ensemble de paramètres
γ ∈ Rp . De manière générale, en regardant l’Eq.(5), on peut dire qu’elle
obéit à la forme d’un système dynamique discret où le temps correspond à
la profondeur du réseau.

Ceci s’accorde particulièrement bien avec les RNN, où les activations cachées
suivent une formule de récursion dans chaque couche du réseau. Dans [101],
ces réseaux étaient considérés comme continus dans le temps, où les auteurs
considéraient un RNN respectant les équations suivantes :

dx  N  I
ẋi = = −xi + Jik rk + Bik uk (3)
dt k k

N ri = h(xi ) (4)

où x est un état à N dimensions appelé les activations et r = h(x) sont


les taux de tir, définis comme l’application par élément de la fonction non
linéaire h à x. Dans cette optique, les auteurs de [101] ont pu révéler des
aspects cruciaux de la manière dont les RNN mettent en œuvre leurs calculs
en étudiant les points fixes de ce système dynamique.

Cependant, l’examen des réseaux neuronaux à action directe, comme dans


la figure 1, révèle un défi dans le cadre de [14]. Chaque couche est de

22
largeur N est définie par l’équation

x = φ(h ), h = W  x−1 + b , (5)

avec W  RN−1 ×N une matrice de poids, b le vecteur de biais, h la pré-


activation, x la post-activation, et enfin φ : R → R la fonction d’activation.

1.3 Explication et interprétation des réseaux de neu-


rones profonds

Bien que les réseaux de neurones artificiels figurent parmi les outils de
prédiction les plus puissants aujourd’hui, leur raisonnement interne est très
complexe et encore peu compris. Jusqu’à présent, il n’existe pas dans
la littérature d’outil complet basé sur une théorie solide qui explique ou
interprète leur structure interne ou leur paradigme d’apprentissage. Les
réseaux d’apprentissage profond sont souvent qualifiés de "boîtes noires"
[1, 94]. La raison en est que ces modèles sont généralement extrêmement
grands et compliqués, contenant un très grand nombre de paramètres à
optimiser. Leur manque d’interprétabilité est également considéré comme
leur malédiction. Le mystère de la dynamique interne des ANN crée un défi
pour la communauté de l’IA [66] car ces modèles sont utilisés pour des prises
de décision à fort enjeu et pénètrent des domaines critiques tels que les soins
de santé, le système de justice pénale, les voitures à conduite autonome
et les marchés financiers. L’incapacité d’interpréter et de comprendre les
ANNs semble problématique [90, 66].

Récemment, de plus en plus de scientifiques se sont penchés sur le prob-


lème de l’interprétabilité des réseaux neuronaux et ce domaine de recherche
connaît une croissance rapide. La littérature académique a offert une myr-

23
iade de techniques qui tentent d’expliquer le phénomène d’apprentissage
des ANNs, mais ces techniques sont généralement erronées et trompeuses,
et elles fournissent peu d’indications pour "opening the black box prob-
lem". En d’autres termes, ces méthodes explicatives ne peuvent en général
pas corriger les idées fausses intégrées dans les modèles ANN pendant la
formation.

Selon [74] l’interprétabilité est définie comme la mise en correspondance


d’un concept abstrait dans un domaine qui a du sens pour les humains,
tandis que l’explication est définie comme la collection de caractéristiques
du domaine interprétable, qui ont contribué pour un exemple donné à pro-
duire une décision. Dans le même article, les auteurs présentent diverses
techniques issues de la littérature pour interpréter et expliquer les mod-
èles DNN, ces techniques sont soit basées sur des méthodes statistiques
et probabilistes, soit sur l’analyse et les expansions de Taylor, soit sur la
compréhension théorique des couches internes des DNN.

Un résultat intéressant a été proposé dans [88], où le fonctionnement des


réseaux ReLU profonds est étudié, et une relation entre les sorties du réseau
et ses poids est établie. Le cadre [14] discuté ci-dessus, a motivé des applica-
tions spécifiques, par exemple [82], qui étudie la nature de la propagation
du signal dans les réseaux de neurones profonds. Les auteurs montrent
que même les réseaux neuronaux profonds aléatoires peuvent construire
des représentations internes cachées dont la courbure extrinsèque globale
croît exponentiellement avec la profondeur mais pas avec la largeur et peu-
vent apprendre des fonctions d’une classe générale de non-linéarités. Dans
[92], les auteurs ont étudié la dynamique de l’apprentissage (par exemple,
les poids, les activations pendant la formation) en trouvant des solutions
exactes de ces dynamiques non linéaires en termes de statistiques d’entrée-
sortie. Cela pourrait aider, par exemple, à comprendre comment la forma-

24
tion s’accélère ou se ralentit en fonction de la profondeur du réseau.

Un autre travail intéressant dans [1] propose de surveiller les caractéris-


tiques à chaque couche d’un modèle DNN en branchant et en entraînant
un classificateur linéaire appelé “probe”. Ce réseau de sonde peut mesurer
l’aptitude du modèle à la classification, il peut également être utilisé comme
un outil d’explication/interprétation de la dynamique interne. Dans l’article
[94], les auteurs proposent d’analyser les réseaux neuronaux profonds dans
le Plan d’Information, qui est le plan de l’information mutuelle entre les
couches internes du réseau, cette analyse peut également être utile pour
comprendre le paradigme de formation, le comportement de décentrement
stochastique du gradient pendant la formation et la convergence des couches
pendant l’optimisation de la perte.

Une autre direction de recherche sur la problématique de l’ouverture de


la boîte noire dans l’apprentissage profond est de trouver des représen-
tations significatives dans leurs couches internes. Dans l’article [47], les
auteurs abordent la question de l’apprentissage de la relation sémantique
entre les objets dans les modèles DNN, ils ont prouvé que pour certains
types de modèles (CNN), les couches internes intègrent des représentations
de catégories d’objets qui sont organisées de manière hiérarchique. Un
résultat similaire appliqué à différents ensembles de données a été trouvé
dans les articles [80, 91]. Ces résultats nous indiquent que si les modèles
d’apprentissage profond apprennent à réaliser des tâches complexes aussi
parfaitement que les humains, ils sont également capables d’apprendre sur
leur propre relation sémantique au sein des objets d’entrée.

Des travaux récents s’attaquent à la problématique de la saisie des représen-


tations internes des réseaux neuronaux profonds en comparant les représen-
tations entre les couches et entre différents modèles formés sur une tâche
identique ou similaire. Dans [84] une nouvelle technique appelée "Singu-

25
lar Vector Canonical Correlation Analysis for Deep Learning Dynamics
and Interpretability " (SVCCA) a été proposée, cette technique est basée
sur la décomposition en valeurs singulières et la corrélation canonique.
Cet outil permet de comparer les représentations internes et peut égale-
ment suggérer de nouveaux régimes de formation pour éviter l’overfitting
et réduire l’énorme coût de calcul. Une question importante lors de la
comparaison des représentations est la suivante : "Des réseaux neuronaux
différents apprennent-ils les mêmes représentations ?", c’est-à-dire que si
nous formons différents réseaux neuronaux (par exemple, une architecture
ou une initialisation différente) sur la même tâche, convergeront-ils vers la
même représentation ? Bien que la technique SVCCA dans [84] soit simple,
l’article montre qu’il est possible d’aligner l’espace d’activation neuronale
de différents réseaux neuronaux dans certains cas. La même idée a été
discutée dans [53] où les auteurs proposent l’utilisation de l’alignement du
noyau centré (CKA) [22, 20] comme mesure de similarité entre représenta-
tions. Les auteurs ont montré empiriquement que pour les modèles CNN
les plus courants formés sur des ensembles de données d’images, différents
modèles apprennent des représentations similaires.
Avant de procéder à formaliser les théories d’apprentissage profond, on
présentera les approches d’interprétabilité de ces systèmes qui semblent
être les plus acceptées dans la communauté scientifique au cours des cinq
dernières années.

1.3.1 Méthodes d’attribution de caractéristiques additives

La meilleure explication d’un modèle simple est le modèle lui-même ; il


se représente parfaitement et est facile à comprendre. Pour les modèles
complexes, tels que les méthodes d’ensemble ou les réseaux profonds, nous
ne pouvons pas utiliser le modèle original comme sa propre meilleure ex-

26
plication, car il n’est pas facile à comprendre. Au lieu de cela, nous devons
utiliser un modèle d’explication plus simple, que nous définissons comme
toute approximation interprétable du modèle original. Nous montrons ci-
dessous que six méthodes d’explication actuelles de la littérature utilisent
toutes le même modèle d’explication. Cette unité jusqu’alors non appré-
ciée à des implications intéressantes, que nous décrivons dans les sections
suivantes.

Soit f le modèle de prédiction original à expliquer et g le modèle d’explication.


Ici, nous nous concentrons sur les méthodes locales conçues pour expliquer
une prédiction f (x) basée sur une seule entrée x, comme proposé dans
LIME [87]. Les modèles d’explication utilisent souvent des entrées simpli-
fiées x qui correspondent aux entrées originales par le biais d’une fonction
de correspondance x = hx (x ). Les méthodes locales essaient de garantir
que g (z  ) ≈ f (hx (z  )) chaque fois que z  ≈ x . (Notez que hx (x ) = x
même si x peut contenir moins d’informations que x car hx est spécifique
à l’entrée actuelle x).

Définition 1.1. Les méthodes d’attribution de caractéristiques additives


ont un modèle d’explication qui est une fonction linéaire de variables bi-
naires :

M
g (z  ) = φ0 + φi zi
i=1

où z  ∈ {0, 1}M , M est le nombre de caractéristiques d’entrée simplifiées,


et φi ∈ R.

Les méthodes dont les modèles d’explication correspondent à la définition


1 attribuent un effet φi à chaque caractéristique, et la somme des effets
de toutes les attributions de caractéristiques se rapproche de la sortie f (x)
du modèle original. De nombreuses méthodes actuelles correspondent à la
définition 1, dont plusieurs sont présentées ci-dessous.

27
La méthode LIME interprète les prédictions des modèles individuels en
se basant sur une approximation locale du modèle autour d’une prédic-
tion donnée. Le modèle d’explication linéaire local que LIME utilise ad-
hère exactement à l’équation 1 et est donc une méthode d’attribution de
caractéristiques additives. LIME désigne les entrées simplifiées x comme
des "entrées interprétables", et la correspondance x = hx (x ) convertit un
vecteur binaire d’entrées interprétables dans l’espace d’entrée original. Dif-
férents types de mappings hx sont utilisés pour différents espaces d’entrée.
Pour les caractéristiques de texte de type sac de mots, hx convertit un
vecteur de 1 ou 0 (présent ou non) en nombre de mots d’origine si l’entrée
simplifiée est égale à un, ou à zéro si l’entrée simplifiée est égale à zéro.
Pour les images, hx traite l’image comme un ensemble de super-pixels ; il
associe ensuite 1 au fait de laisser le super-pixel à sa valeur d’origine et
0 au fait de remplacer le super-pixel par une moyenne des pixels voisins
(ceci est censé représenter l’absence). Pour trouver φ, LIME minimise la
fonction objective suivante :

ξ = arg minL (f, g, πx ) + Ω(g)


g∈G

La fidélité du modèle d’explication g (z  ) au modèle original f (hx (z  )) est


assurée par la perte L sur un ensemble d’échantillons dans l’espace d’entrée
simplifié pondéré par le noyau local πx . · Ω pénalise la complexité de g.
Puisque dans LIME g suit l’équation 1 et que L est une perte au carré,
l’équation 2 peut être résolue en utilisant la régression linéaire pénalisée.
DeepLIFT [93] a été proposé en 2017 comme méthode d’explication de
prédiction récursive pour l’apprentissage profond. Elle attribue à chaque
entrée xi une valeur CΔxi .Δy qui représente l’effet de cette entrée définie
à une valeur de référence par rapport à sa valeur d’origine. Cela signifie
que pour DeepLIFT, le mappage x = hx (x ) convertit les valeurs binaires

28
en entrées originales, où 1 indique qu’une entrée prend sa valeur originale,
et 0 indique qu’elle prend la valeur de référence. La valeur de référence,
bien que choisie par l’utilisateur, représente une valeur de fond typique
non informative pour la caractéristique du réseau. DeepLIFT utilise une
propriété de "sommation à delta" qui stipule :


n
CΔxi Δo = Δo
i=1

où o = f (x) est la sortie du modèle, Δo = f (x) − f (r), Δxi = xi − ri , et


r est l’entrée de référence. Si on laisse φi = CΔxi Δo et φ0 = f (r), alors
le modèle d’explication de DeepLIFT correspond à l’équation ci-dessous et
donc une autre méthode d’attribution de caractéristiques additives.
La méthode de propagation de la pertinence par couche interprète les pré-
dictions des réseaux profonds. Cette méthode est équivalente à DeepLIFT
avec les activations de référence de tous les neurones fixées à zéro. Ainsi,
x = hx (x ) convertit des valeurs binaires dans l’espace d’entrée original,
où 1 signifie qu’une entrée prend sa valeur originale, et 0 signifie qu’une
entrée prend la valeur 0. Le modèle d’explication de la propagation de la
pertinence par couche, comme celui de DeepLIFT, correspond à l’équation
des caractéristiques additives.
Soit j et k les neurones de deux couches consécutives du réseau neuronal.
La propagation des scores de pertinence (Rk )k d’une couche donnée sur les
neurones de la couche inférieure s’effectue en appliquant la règle :

 z
Rj =  jk Rk
k j zjk

La quantité zjk modélise la mesure dans laquelle le neurone j a contribué


à rendre le neurone k pertinent. Le dénominateur sert à faire respecter la
propriété de conservation. La procédure de propagation se termine lorsque
les caractéristiques d’entrée ont été atteintes. Si l’on utilise la règle ci-

29
dessus pour tous les neurones du réseau, il est facile de vérifier la propriété
 
de conservation par couche j Rj = k Rk , et par extension la propriété

de conservation globale i Ri = f (x).

1.3.2 SHAP (SHapley Additive exPlanation)

Théorème 6. Un seul modèle d’explication possible g suit la définition


des modèles additives localement précis et consistent:

 |z  |! (M − |z  | − 1)!
φi (f, x) = [fx (z  ) − fx (z  \i)]
z  ⊆x
M!

où |z  | est le nombre d’entrées non nulles dans z  , z  \i désigne zi = 0 et


z  ⊆ x représente tous les vecteurs z  dont les entrées non nulles sont un
sous-ensemble des entrées non nulles dans x [69].

Lundberg et al. [69] proposent les valeurs SHAP comme une mesure unifiée
de l’importance des caractéristiques. Il s’agit des valeurs de Shapley d’une
fonction d’espérance conditionnelle du modèle original ; elles sont donc
la solution de l’équation du théorème SHAP, où fx (z  ) = f (hx (z  )) =
E [f (z) | zS ], et S est l’ensemble des indices non nuls dans z  (figure 1
). Cette définition des valeurs SHAP comporte implicitement un mappage
d’entrée simplifié, hx (z  ) = zS , où zS a des valeurs manquantes pour les car-
actéristiques ne faisant pas partie de l’ensemble S. Comme la plupart des
modèles ne peuvent pas gérer des modèles arbitraires de valeurs d’entrée
manquantes, nous approximons f (zS ) par E [f (z) | zS ]. Cette définition
des valeurs SHAP est conçue pour s’aligner étroitement sur la régression
de Shapley, l’échantillonnage de Shapley et les attributions quantitatives de
caractéristiques d’influence d’entrée, tout en permettant également des con-
nexions avec LIME, DeepLIFT et la propagation de pertinence en couches.

Le calcul exact des valeurs SHAP est difficile. Cependant, en combi-

30
nant les idées des méthodes actuelles d’attribution additive des caractéris-
tiques, nous pouvons les approximer. Les auteurs décrivent deux méth-
odes d’approximation indépendantes du modèle, l’une déjà connue (valeurs
d’échantillonnage de Shapley) et l’autre nouvelle (Kernel SHAP). Ils décrivent
également quatre méthodes d’approximation spécifiques au type de modèle,
dont deux sont nouvelles (Max SHAP, Deep SHAP). Lors de l’utilisation de
ces méthodes, l’indépendance des caractéristiques et la linéarité du mod-
èle sont deux hypothèses facultatives qui simplifient le calcul des valeurs
attendues (notez que S̄ est l’ensemble des caractéristiques qui ne sont pas
dans S ) :
f (hx (z  )) = E [f (z) | zS ]
= EzS̄|zS [f (z)]
≈ EzbarS [f (z)]
≈ f ([zS , E [zS̄ ]]) .

Les valeurs Shap attribuent à chaque caractéristique la modification de la


prédiction attendue du modèle lors du conditionnement sur cette carac-
téristique. Comme décrit dans la figure 2, elles expliquent comment passer
de la valeur de base E[f (z)] qui serait prédite si nous ne connaissions au-
cune caractéristique à la sortie actuelle f(x). Ce diagramme montre un
seul ordonnancement. Cependant, lorsque le modèle n’est pas linéaire ou
que les caractéristiques d’entrée ne sont pas indépendantes, l’ordre dans le
diagramme est différent. Les valeurs SHAP résultent de la moyenne des
valeurs φ(x) sur tous les ordres possibles.

31
Figure 2 – Schéma explicatif de l’attribution des valeurs SHAP à chaque
caractéristique [69]

2 Optimisation

2.1 Fonction de perte

Dans la classification, l’entropie croisée et le logarithme négatif de la vraisem-


blance (NLL) sont souvent utilisés comme perte[61]. On peut également
utiliser la divergence de Kullback-Leibler (divergence KL)[62] comme fonc-
tion de perte. Formellement, l’entropie croisée est définie comme suit :

⎨ −log(ŷ ) if yi = 1
i
(yi , ŷi ) =
⎩−log(1 − ŷ ) if y = 0.
i i

Nous pouvons traiter la perte NLL comme une extension de la perte d’entropie
croisée de la classification binaire à la classification multi-classes. Si nous
supposons que y est un vecteur à un coup qui indique à quelle classe ap-
partient un exemple, yi = 1i∈Cj où i est l’étiquette. la perte NLL est donc:

N
(y, ŷ) = − i=1 yi log(ŷi )

avec N le nombre total de classes.


La divergence KL DKL (P Q) est une mesure de l’information perdue

32
lorsque Q est utilisé pour approximer P . Formellement, il est décrit comme
suit :

(y, ŷ) = DKL (P Q) (6)


  
Q(y x)
= log P (y x) (7)
P (y x)

i
 
yi
= log yi (8)
i
ŷ i )

Le gradient de la divergence KL :

∂KL (y, ŷ) ∂


= yi (log(yi )log(ŷi )) (9)
∂ ŷi ∂ ŷi

= (yi log(ŷi ) (10)
∂ ŷi
∂N LL (y, ŷ)
= (11)
∂ ŷi

d’où on conclut que minimiser la perte de vraisemblance logarithmique


négative est exactement la même chose que la minimisation de la divergence
KL.

2.2 Algorithmes du gradient

La descente de gradient est un algorithme d’optimisation du premier ordre


utilisé pour trouver un minimum local d’une fonction objective.
L’algorithme de descente de gradient et sa version stochastique sont don-

33
nées par :

FindALocalMinima {x ∈ X : x = arg miny∈U ◦ , U ⊂X (y)}


inputs : fonction de perte , taux d’apprentissage η,
N exemples (X,y), model F (θ, x)
output: θ optimal minimizant le 
while non convergé do
ŷ ← F (θ, x);
 ∂(y,ŷ)
θ ← θ − η. N1 N i=1 ∂θ
;
end
return θ;
Algorithme 1: Descente de gradient

SGD {x ∈ X : x = arg miny∈U ◦ , U ⊂X (y)}


inputs : fonction de perte , taux d’apprentissage η, exemples
(X,y), model F (θ, x)
output: θ optimal minimizant le 
while non convergé do
melangerX, y ;
foreach xi , yi ∈ X, y do
ŷi ← F (θ, xi ) ;
 ∂(yi ,yˆi )
θ ← θ − η. N1 N i=1 ∂θ
;
end
end
return θ
Algorithme 2: Descente de gradient stochastique
Il existe également une forme populaire de descente de gradient appelée
descente de gradient « mini-batch » qui divise les données d’apprentissage
en plusieurs petits lots de taille 64, 128 ou plus, puis exécute la descente
de gradient stochastique sur chaque mini-batch (en calculant la somme
des gradients dans chaque mini-batch) pour optimiser le modèle. Le choix
de la taille correcte des mini-lots est également un facteur de réussite de

34
l’optimisation par descente de gradient.
Le problème avec tels hyperparamètres est qu’ils doivent être choisis manuelle-
ment pour chaque session d’apprentissage donnée et qui peuvent varier
considérablement en fonction du problème à traiter ou du modèle utilisé.
Pour lutter contre ce problème, il existe de nombreux types d’algorithmes
de descente de gradient adaptatifs tels que Adagrad, Adadelta, RMSprop
et Adam [52].
Une des premiers majeurs contributions qui ont amélioré la descente du
gradient fut l’ajout du momentum. En effet, le momentum ou le moment
permet de continuer dans la même direction qu’à l’itération précédente,
ce qui permet d’accélérer l’optimisation. En particulier, cette méthode est
très efficace lorsque que la direction du gradient reste relativement la même.

L’idée est d’utiliser une moyenne mobile du gradient du paramètre au lieu


de simplement utiliser le gradient réel actuel :

vt = β.vt−1 − η.∇F (θt−1 )


θt = θt−1 + vt

où θ désigne les paramètres du modèle, v est le momentum du gradient,


est un facteur de momentum, et η est le taux d’apprentissage pour le teme

35
cycle d’apprentissage.
Adam gt2 indique le carré par éléments carré ou le produit
Hadamrd (gt ◦ gt )ij = (gt  gt )ij = (gt )ij (gt )ij . Les bons paramètres
par défaut pour les problèmes d’apprentissage automatique testés
par les auteurs sont α= 0,001, β1 = 0.9, β2 = 0.999 et  = 10−8 .
inputs : α : Stepsize
β1 , β2 ∈ [0, 1): Taux de décroissance exponentielle pour
les estimations du moment.
f (θ) : Fonction objectif stochastique avec des
paramètres θ
θ0 : Vecteur initial des paramètres
output: θ minimize F
m0 ← 0 (Initialisation du vecteur de moment 1);
v0 ← 0 (Initialiser le vecteur du 2ème moment);
t ← 0(Initialiser le pas de temps);
while θt non convergé do
t←t+1 ;
gt ← ∇θ ft (t−1 ) (Obtenir les gradients par rapport à l’objectif
stochastique au pas de temps t)
mt ← β1 .mt−1 + (1 − β1 ) − gt (Mise à jour de l’estimation
du premier moment biaisé)
vt ← β2 − vt−1 + (1 − β2 ) − gt2 (Mise à jour de l’estimation
biaisée du second moment brut)
m̂t ← mt /(1 − β1t )(Calculer la première estimation du
moment corrigée du biais)
v̂t ← vt /(1 − β2t ) (Calcul de la deuxième estimation brute du
moment corrigée du biais)

θt ← θt−1 − α.m̂t /( v̂t + ) (Mise à jour des paramètres)
end
return θt ;
Algorithme 3: Algorithme Adam [52]
36
2.3 Barème des taux d’apprentissage

En général, si nous utilisons un grand taux d’apprentissage η, nous pouvons


faire converger l’apprentissage plus rapidement, mais ce choix conduira à
une divergence. Les petites valeurs de η sont plus susceptibles de d’être
piégées dans des minima locaux. Pour s’assurer que la formation(training)
converge, nous devons réduire le taux d’apprentissage pendant la forma-
tion.
Il existe trois méthodes couramment utilisées pour programmer la décré-
mentation du taux d’apprentissage [99] : constant, factorisé, et décroissance
exponentielle. Le taux d’apprentissage est programmé pour changer après ζ
étapes. La planification constante réduit le taux d’apprentissage selon une
fonction de pas définie manuellement avec un ζ arbitraire. Le programme
exponentiel calcule le taux d’apprentissage comme suit :

ηt = η0 .γ t/ (12)

avec γ le taux de décroissance.


Le programme factorisé est similaire au programme exponentiel,mais dans
un format de fonction pas à pas :

ηt = η0 .γ t/ (13)

En utilisant les programmes constants ou pondérés, nous pouvons facile-


ment juger de l’effet de décroissance du taux d’apprentissage en visualisant
la courbe d’apprentissage. En général, on utilise γ = 0.1 pour réduire le
taux d’apprentissage 10 fois à chaque étape.

37
2.4 Décroissance des poids

La décroissance des poids est également couramment utilisée dans la com-


munauté des réseaux neuronaux pour effectuer une régularisation L2 pen-
dant la formation. pour effectuer une régularisation L2 pendant la forma-
tion. La régularisation est essentielle pour éviter le overfitting et améliorer
la généralisation du modèle. Formellement, le régularisateur L2 pour une
fonction F (θ, x) est donné par la formule suivante :

2
Ω(θ) = θ

1
ˆ(F (θ, x), y) = (F (θ, x), y) + λΩ(θ)
2
La décroissance des poids est la méthode de régularisation par défaut
utilisée pour la formation des réseaux de neurones. réseaux neuronaux.
Habituellement, nous fixons λ à 0,0004. En cas de normalisation supplé-
mentaire, telle que Dropout et la normalisation par lots , un λ plus petit
accélérera la formation.

2.5 Batch Normalisation

Comme son nom l’indique, cette technique vise à normaliser chaque exem-
ple du lot selon les paramètres de distribution de ce dernier. C’est-à-dire,
enlever la moyenne et diviser par l’écart-type. Plus formellement :

xi = √ xi E[X]
V ar[X]+

Cette technique a plusieurs avantages. Notamment, elle accélère l’entraînement,


et tend aussi à entraîner des réseaux plus performants.

38
2.6 Dropout

Le Dropout est une méthode de régularisation proposée pour la première


fois dans Srivastava et al. [98] qui réduit considérablement le sur-ajustement
des réseaux neuronaux et améliore les performances de généralisation. Le
Dropout est rapidement devenu un composant par défaut des méthodes de
formation de réseaux neuronaux. Formellement, la formation avec Dropout
pour la couche l s’exprime comme suit par :

(l)
rj = Bernoulli(p)

(l)
ĥ(l) = rj ∗ h(l)

où h(l) est la sortie originale de la couche l, et ĥ(l) est la nouvelle sortie de


la couche l avec Dropout et ∗ définit dans ce cas comme étant le produit
matriciel d’Hadamard tel que (A ∗ B)i,j = (A)i,j × (B)i,j . Pour obtenir un
résultat déterministe au moment du test, nous utilisons l’espérance comme
sortie:
(l) (l) (l)
E[ĥj ] = p ∗ 0 + (1 − p) ∗ hj = (1 − p) ∗ hj

L’espérance est une moyenne approximative d’un nombre exponentiel de


modèles abandonnés de modèles abandonnés. Cela explique également
pourquoi l’utilisation de Dropout améliorera la performance de la générali-
sation, puisqu’elle peut être interprétée comme une moyenne sur un grand
ensemble.

39
2.7 Rétropropagation

La rétropropagation (Back-propagation) est la méthode fondamentale util-


isée pour la formation des modèles de réseaux neuronaux. En utilisant la
rétropropagation, on peut facilement calculer le gradient des paramètres de
la couche supérieure à la couche inférieure. La capacité à calculer efficace-
ment le gradient permet d’utiliser la descente de gradient pour optimiser
les paramètres dans l’ensemble du réseau. Dans le cas d’une perception
multicouche, si la structure du réseau est un graphe acyclique dirigé, nous
pouvons simplement utiliser la règle de la chaîne pour calculer efficacement
le gradient des couches supérieures aux couches inférieures, comme le mon-
tre l’algorithme ci-dessous.
Supposons que nous disposions d’un ensemble d’apprentissage fixe
 (1) (1)   
x ,y , . . . , x(m) , y (m) de m exemples d’apprentissage. Nous pou-
vons entraîner notre réseau de neurones en utilisant la descente de gradient
par lots. En détail, pour un seul exemple d’apprentissage (x, y), nous
définissons la fonction de coût par rapport à cet exemple unique comme
suit:

1 2
J(W, b; x, y) = hW,b (x) − y
2
donc la fonction de perte general:
  sl+1 
1  
m
 λ
nl −1 
sl  2
(i) (i) (l)
J(W, b) = J W, b; x , y + Wji
m i=1 2 l=1 i=1 j=1
 m   sl+1 
1  1  (i)   2 λ
nl −1 
sl  2
=  hW,b x −y (i) 
+
(l)
Wji
m i=1 2 2 l=1 i=1 j=1

40
BackProp
inputs : Un réseau de l couches, la fonction d’activation de
chaque couche l et de sortie hn = σ(WnT hn−1 + bn )
output: Calculer le gradient g de la couche de sortie
g ← ∂(y,ŷ
∂ ŷ
for i ← l do
Calculer le gradient pour la couche actuelle
∂ε(y,ŷ)
∂Wl
= ∂ε(y,ŷ)
∂hl ∂Wl
∂hl ∂hl
= g ∂W l
;
∂ε(y,ŷ)
∂bl
= ∂ε(y,y) ∂hl
∂hl ∂bl
= g ∂h
∂bl
l
;
Calculer le gradient
∂ε(y,ŷ)
∂Wl
and ∂ε(y,ŷ)
∂bl
;
Propager le gradient dans la couche inferieure ;
g ← ∂ε(y,ŷ) ∂hl
∂hl ∂hl−1
= g ∂h∂hl−1
l

end
Algorithme 4: Back-propagation

2.8 Perceptron Multi-couches

La régression logistique et le softmax sont des algorithmes de classification


linéaire qui échoueront lorsque les données ne sont pas linéairement sépara-
bles. Pour résoudre de tels problèmes, on peut utiliser des caractéristiques
élaborées manuellement, des noyaux, le boosting ou des perceptions multi-
couches. En général, un modèle de perception multicouche empile plusieurs
transformations non linéaires. Chaque couche se présente sous la forme de
l’équation:
hn = σ(WnT hn−1 + bn )

où hn est la sortie de la nme couche, σ(x) est une fonction d’activation non
linéaire, et Wn , bn sont les paramètres de cette couche. Pour h0 , hn−1 est
la donnée d’entrée X. Au sommet d’un perceptron multicouche se trouve
une couche de transformation logistique ou une couche de transformation
softmax pour transformer la sortie dans la plage [0, 1]. Le gradient de la
fonction de perte peut ensuite être propagé vers le bas du modèle pour
mettre à jour les paramètres.

41
Si nous fixons toutes les transformations à la fonction sigmoïde σ(x) =
1
1+e−x
, nous pouvons traiter le perceptron multicouche comme plusieurs
couches de modèles de régression logistique.

2.9 Réseau de neurones à convolution

Les réseaux de neurones convolutifs (CNN)[62] sont des estimateurs de


fonctions non linéaires, qui fonctionnent selon le principe de l’apprentissage
d’une fonction f qui fait correspondre les entrées x à des sorties y définies.
Alors qu’un perceptron multicouche entièrement connecté est un approxi-
mateur de fonction universel qui peut approximer toute fonction continue
sur des sous-ensembles topologiques compacts de Rn l’utilisation d’une ar-
chitecture peu profonde pose trois problèmes :
Premièrement, pour les images haute résolution du monde réel, l’utilisation
d’une couche entièrement connectée fera exploser le nombre de paramètres
dans le modèle. Par exemple, pour une image couleur avec 224x224 pix-
els et 3 canaux de couleur, si nous voulons la mapper 256 dimensions en
utilisant un réseau entièrement connecté à une seule couche, la matrice de
poids aura 38 millions de paramètres. Il faudrait trop de mémoire et de
puissance de mémoire et de puissance de calcul pour effectuer une multi-
plication matricielle aussi importante.
Deuxièmement, un réseau entièrement connecté est enclin à l’ajustement
excessif[61]. Bien qu’il soit capable d’approximer n’importe quelle fonction,
il est également capable d’apprendre une fonction qui s’adapte exactement
à n’importe quel bruit dans les données d’apprentissage. qui s’adapte ex-
actement à n’importe quel bruit dans les données d’apprentissage, ce qui
conduira à une mauvaise adaptation des données de test.
Troisièmement, un réseau entièrement connecté n’est qu’un approximateur
de fonction générale qui n’exploite aucune connaissance du domaine. Il

42
serait plus efficace si nous concevoir un réseau qui intègre une certaine con-
naissance du domaine. Un réseau convolutif est capable de résoudre ces
trois problèmes.
Yann LeCun [61] et d’autres chercheurs ont initialement proposé des réseaux
convolutifs dans le cadre d’une structure de réseau célèbre, LeNet-5 [62]
contenant 7 couches, qui a été utilisée pour résoudre avec succès le problème
de la classification numérique manuscrite. Formellement, pour une image
bidimensionnelle I et d’un noyau de convolution bidimensionnel K m,n , la
sortie S est :

 
s[i, j] = (I ∗ K)[i, j] = m n I[m, n]K[i − m, j − n]
 
= m n I[i − m, j − n]K[m, n]

En général dans le cas continue, la convolution * se fait comme suit :

+∞
s(t) = (f ∗ g)(t) = −∞
f (τ )g(t − τ )dτ .

De plus, un paramètre stride peut être utilisé pour spécifier la distance de


déplacement du noyau entre les mesures successives de l’image d’entrée.
est déplacé entre les mesures successives de l’image d’entrée.

2.9.1 Couche de convolution

L’essence de l’idée des CNN est la couche convolutive. Les couches con-
volutives sont constituées d’un groupe de noyaux (kernels ou filtres) dont
les poids (ou paramètres) peuvent être appris. L’opération de convolution
est un produit scalaire sur des vecteurs, qui est présenté dans l’Équation
ci-dessus. Lorsque la convolution est étendue aux images couleur, chaque
canal couleur est convolué séparément par le noyau correspondant. ce qui
signifie qu’une image couleur à trois canaux nécessite trois noyaux distincts
ou un noyau tridimensionnel.

43
Un exemple d’une opération de convolution bidimensionnelle est illustré
dans la figure 3. Les dimensions de la carte de caractéristiques (sortie
de la convolution) dans l’exemple sont de 3x2 parce que la convolution
est additionnée sur tous les canaux de taille 2x2, c’est-à-dire que le filtre
2x2 sélectionné sélectionné a 24 valeurs et le produit scalaire est pris par
ces valeurs et la zone correspondante zone correspondante de taille 3x2
de l’image. Comme l’image est plus grande dans les dimensions x et y,
le filtre est glissé sur l’image, de sorte que l’image entière est convoluée
séquentiellement.

Figure 3 – Représentation de l’opération de la convolution [62]

44
La taille du noyau peut varier en fonction de l’implémentation, mais elle
est généralement inférieure que la taille de l’entrée. Lorsque la taille du
noyau est plus petite que l’entrée, on dit que la convolution a des inter-
actions ou des poids épars. Cette propriété est importante pour les CNN
car les images peuvent avoir des millions de pixels, mais même de petits
morceaux de l’image peuvent être utilisés pour extraire des caractéristiques
importantes de l’image, comme les bords. Grâce à cette propriété, les filtres
peuvent extraire des caractéristiques significatives de l’image, avec moins
de paramètres qu’en ayant à d’enregistrer les paramètres pour chaque pixel.

2.9.2 Couche d’activation

Le rôle principal de la couche d’activation est d’ajouter de la non-linéarité


au réseau. La non-linéarité est nécessaire pour approximer des problèmes
non linéaires. Il existe différentes fonctions d’activation non linéaires qui
peuvent être utilisées comme la sigmoïde, la tanh, la ReLU et leurs vari-
antes. variantes. ReLu est probablement la fonction d’activation la plus
couramment utilisée dans les CNN. ReLU fait correspondre les valeurs de
sortie de la convolution à des valeurs allant de zéro à plus élevé via la
fonction de transfert comme indiqué dans l’équation.

σ(x) = max(0, x)

De cette façon, les valeurs négatives sont supprimées de la sortie de la


convolution et les valeurs positives ont une correspondance linéaire. valeurs
positives ont une correspondance linéaire, ce qui rend la ReLU non linéaire
avec la transformation.

45
2.9.3 Couche Pooling

Les couches Pooling agissent comme des résumés statistiques de l’entrée


en calculant une valeur unique à partir des valeurs voisines de l’entrée.
Les avantages du Pooling sont de rendre l’entrée spatialement invariante
aux petites translations, ce qui permet une meilleure généralisation des
caractéristiques. et de réduire l’échantillonnage de l’entrée, ce qui rend
les calculs suivants plus efficaces. Par exemple, dans la figure 4 on a le
cas du max-pooling, c’est-a-dire la valeur maximale de la zone d’entrée
sélectionnée est transmise à la couche suivante. Si la position de cette
valeur maximale change un peu, mais dans la zone de l’opération de mise
en commun, la même valeur maximale est sélectionnée.
Les paramètres de la couche de mise en commun sont l’opération de mise en
commun, la taille de l’opération de mise en commun et le pas. l’opération de
mise en commun et le pas. Deux opérations de mise en commun courantes
sont le max-pooling, qui sélectionne la valeur maximale dans la zone de
pooling , et le pooling moyenne, qui moyenne des valeurs de la zone de
pooling et transmet cette valeur. Le max-pooling est illustré ci-dessous.

Figure 4 – Max-pooling avec une zone de pooling de 2 × 2 pixels et un


stride de 2

46
2.9.4 Réseaux de convolution remarquables

• AlexNet[54] : est le nom d’un réseau de neurones convolutifs qui a eu


un impact important sur le domaine de l’apprentissage automatique,
en particulier dans l’application de l’apprentissage profond à la vision
artificielle. Il a remporté le concours ImageNet 2012 par une large
marge . Le réseau avait une architecture très similaire à celle de
LeNet, mais était plus profond, avec plus de filtres par couche, et
avec des couches convolutives empilées. Il était composé de 11×11,
5×5, 3×3, convolutions, max pooling, dropout, augmentation des
données, activations ReLU, SGD avec momentum. Il a attaché des
activations ReLU après chaque couche convolutionnelle .

• ResNet[41] : Cette architecture a remporté le concours ImageNet


en 2015. L’écart de performance montre une véritable rupture ar-
chitecturale, par rapport aux autres réseaux. Des expériences ont
montré que les CNN de type AlexNet augmentent de performance
proportionnellement au nombre de couches. Cependant, on a con-
staté qu’au-delà d’une certaine profondeur, les performances se dé-
gradent. L’explication la plus convaincante est que lorsque le réseau
devient trop profond, le gradient ne se propage efficacement vers les
couches inférieures, ce qui diminue les performances. Pour surmon-
ter ceci, les auteurs de Resnet ont inventé ce qu’ils ont appelé une
connexion par saut. Les auteurs ont trouvé aussi qu’il est possible
d’optimiser la performance en considérant la sortie comme résidu.

• VGG16[95]: est un modèle de réseau neuronal convolutif qui a at-


teint une précision de 92,7 % dans le test top-5 d’ImageNet. C’est l’un
des célèbres modèles soumis à l’ILSVRC-2014. Il améliore AlexNet
en remplaçant les grands filtres à noyau (11 et 5 dans la première
et la deuxième couche convolutive, respectivement) par de multiples

47
filtres à noyau 3×3, l’un après l’autre. L’entrée de la couche cov1
est une image RVB de taille fixe 224 x 224. L’image passe par une
pile de couches convolutionnelles, où les filtres ont été utilisés avec
un champ réceptif très petit : 3×3 (qui est la plus petite taille pour
capturer la notion de gauche/droite, haut/bas, centre). Dans l’une
des configurations, il utilise également des filtres de convolution 1×1,
qui peuvent être vus comme une transformation linéaire des canaux
d’entrée (suivie d’une non-linéarité). Le pas de convolution est fixé à
1 pixel ; le remplissage spatial de la couche de convolution d’entrée est
tel que la résolution spatiale est préservée après convolution, c’est-à-
dire que le remplissage est de 1 pixel pour les couches de convolution
3×3. La mise en commun spatiale est effectuée par cinq couches de
max-pooling, qui suivent certaines des couches de convolution (toutes
les couches de convolution ne sont pas suivies de max-pooling). Le
max-pooling est effectué sur une fenêtre de 2×2 pixels, avec un pas
de 2.

• Xception[17] : est une architecture CNN dont la nouveauté est


l’adaptation de couches de convolution séparables en profondeur mod-
ifiées. Xception a été développé chez Google, et il est basé sur
les architectures Inception [33] publiées précédemment, également
développées par Google. Dans l’architecture Xception, les modules
d’Inception ont été modifiés en convolutions séparables en profondeur
modifiées, d’où le nom de "Extreme Inception". Xception a atteint
une précision Top-1 de 0,790 sur ImageNet en 2016. En 2020, les
réseaux avec un nombre de paramètres similaire atteignent une pré-
cision de 0,826 précision Top-1 [43]. Xception a été choisi pour
être l’architecture CNN de l’étude, en raison de ses bonnes perfor-
mances sur le terrain. étude, en raison de ses bonnes performances
sur le jeu de données ImageNet, et de la disponibilité des modèles

48
pré-entraînés avec l’ImageNet. De plus, les implémentations facile-
ment disponibles de l’architecture ont permis des exécutions simples à
travers les différentes couches de l’architecture. L’architecture Xcep-
tion, où les couches de convolution séparable sont les couches de con-
volution séparable en profondeur modifiées. L’architecture Xception
comprend également les couches résiduelles et la normalisation par
lots. L’architecture Xception est divisée en 14 blocs différents qui
sont séparés par les couches résiduelles. par les couches résiduelles.
Les couches de l’implémentation suivent également la séparation en 14
blocs dans leur dénomination. dans leur dénomination, en regroupant
les couches par le bloc correspondant auquel elles appartiennent.

3 État de l’art

3.1 EfficientNet

Pour adapter un réseau neuronal à une tâche plus robuste, la façon la plus
naturelle de procéder est d’ajouter des couches. Cependant, nous avons
également le contrôle sur la largeur des couches et la résolution de notre
entrée. En pratique, cependant, il n’est pas évident de mettre à l’échelle
ces trois composants ; l’article d’EfficientNet[102] présente une méthode de
principe Compound Scaling du modèle qui permet d’obtenir un meilleur
compromis précision-FLOP.
Un réseau neuronal convolutif peut être considéré comme un empilement ou
une composition de différentes couches convolutives. De plus, ces couches
peuvent être divisées en différentes é[Link] a été précédemment
décrit ResNet a cinq étapes, et toutes les couches de chaque étape ont le
même type de convolution. Par conséquent, un CNN peut être représenté
mathématiquement comme suit :

49
  
N = FiLi X Hi ,Wi ,Ci
i=1...s

avec i=1...s désigne la composition ou l’empilement des couches, FiLi
représente la couche Fi répétée Li fois à l’étape i, (Hi , Wi , Ci ) représente
la dimension de l’entrée à la couche X.
L’augmentation de la profondeur, en empilant davantage de couches convo-
lutionnelles, permet au réseau d’apprendre des caractéristiques plus com-
plexes. Cependant, les réseaux plus profonds ont tendance à souffrir de
gradients évanescents(Vanishing gradient) et deviennent difficiles à former.
Bien que de nouvelles techniques telles que la normalisation des lots et les
connexions sautées(ResNet) soient efficaces pour résoudre ce problème, les
études empiriques suggèrent que les gains de précision réels obtenus en aug-
mentant uniquement la profondeur du réseau se saturent rapidement. Par
exemple, ResNet-1000 fournit la même précision que ResNet-100 malgré
toutes les couches supplémentaires.
L’augmentation de la largeur des réseaux permet aux couches d’apprendre
des caractéristiques plus fines. Ce concept a été largement utilisé dans
de nombreux travaux tels que Wide ResNet et Mobile Net. Cependant,
comme dans le cas de l’augmentation de la profondeur, l’augmentation de
la largeur empêche le réseau d’apprendre des caractéristiques complexes,
ce qui entraîne une diminution des gains de précision.
Une résolution d’entrée plus élevée fournit un plus grand nombre de détails
sur l’image et améliore donc la capacité du modèle à raisonner sur des ob-
jets plus petits et à extraire des motifs plus fins. Mais comme les autres
dimensions de mise à l’échelle, elle ne permet qu’un gain de précision limité.
La figure 5 donne (a) un exemple de réseau de base ; (b)-(d) sont des mises
à l’échelle conventionnelles qui n’augmentent qu’une seule dimension du
réseau : la largeur, la profondeur ou la résolution. largeur, la profondeur
ou la résolution. (e) est la méthode Compound composée que l’article

50
propose et qui met uniformément à l’échelle les trois dimensions avec un
rapport fixe.

Figure 5 – Différentes méthodes de scaling en comparaison avec Compound


Scaling [102]

Comme on peut le déduire ci-dessus, Li contrôle la profondeur du réseau,


Ci est responsable de la largeur du réseau tandis que Hi et Wi affectent la
résolution d’entrée. Trouver un ensemble de bons coefficients pour mettre
à l’échelle ces dimensions pour chaque couche est impossible, car l’espace
de recherche est énorme. Ainsi, afin de restreindre l’espace de recherche,
les auteurs établissent un ensemble de règles de base.
Toutes les couches étapes du modèle mis utiliseront les mêmes opérations
de convolution que le réseau de base.
Toutes les couches doivent être mises à l’échelle de manière uniforme avec
un ratio constant.
Donc ceci vient à optimiser le problème avec des contraintes à respecter :

max Accuracy(N (d, w, r))


d,w,r

i.e.
  
N (d, w, r) = F̂id·L̂i Xr·Ĥi ,r·Ŵi ,w·Ĉi )
i=1...s

51
Dans cet article, les auteurs proposent le Compound Scaling, qui utilise un
coefficient composé φ pour mettre à l’échelle de manière uniforme la largeur,
la profondeur et la résolution du réseau de manière raisonnée : Profondeur
: d = αφ Largeur : w = β φ Résolution : r = γ φ s.t. α · β 2 · γ 2 ≈ 2

α ≥ 1, β ≥ 1, γ ≥ 1

où α, β, γ sont des constantes qui peuvent être déterminées par une recherche
sur une petite grille. Intuitivement, φ est un coefficient spécifié par l’utilisateur
qui contrôle combien de ressources supplémentaires sont disponibles pour
la mise à l’échelle du modèle, tandis que α, β, γ spécifient comment affecter
ces ressources supplémentaires à la largeur, la profondeur et la résolution
du réseau respectivement.

3.2 ViT

Les modèles Transformers ont bel et bien révolutionné le traitement du


langage naturel. Lorsqu’ils ont été introduits pour la première fois, ils ont
battu de nombreux records en matière de traitement du langage naturel et
ont repoussé l’état de l’art de l’époque. Aujourd’hui, ils sont devenus un
standard de facto pour les tâches modernes du NLP et ils apportent des
gains de performance spectaculaires par rapport à la génération précédente
de modèles comme les LSTM et les GRU.

L’article de loin le plus important qui a transformé le paysage de la NLP est


l’article "Attention is all you need"[108]. L’architecture du transformateur
a été introduite dans cet article.

Ainsi, l’inspiration principale derrière le transformateur était de se débar-


rasser de cette récurrence tout en capturant presque toutes les dépendances,

52
pour être précis les dépendances globales, car la fenêtre de référence des
transformateurs est une gamme complète. Ceci a été réalisé en utilisant
une variante du mécanisme d’attention appelé auto-attention (à têtes mul-
tiples) qui est très important pour leur succès. Un autre avantage des
modèles Tranformer est qu’ils sont hautement parallélisables.
Une fonction d’attention peut être décrite comme la mise en correspon-
dance d’une requête et d’un ensemble de paires clé-valeur avec une sortie,
où la requête, les clés, les valeurs et la sortie sont toutes des vecteurs. La
sortie est calculée comme une somme pondérée des valeurs, où le poids
attribué à chaque valeur est calculé par une fonction de compatibilité de
la requête avec la clé correspondante. Le nom attention provient de la
fonction Scaled Dot-Product Attention. L’entrée consiste en des requêtes
et des clés de dimension dk et de valeurs de dimension dv . Nous calculons
les produits scalaires de la requête avec toutes les clés, divisons chacun

par dk et appliquons une fonction softmax pour obtenir les poids sur les
valeurs.
QK T
Attention(Q, K, V ) = softmax( √ )V
dk
avec Q, K et V sont respectivement les matrices requêtes, clés et valeurs.
Les principales contributions de cet article de Google [27] ne concernent pas
une nouvelle architecture, mais plutôt l’application de cette architecture au
domaine de la vision par ordinateur. C’est la méthode d’entraînement et
le jeu de données utilisé pour pré-entraîner le réseau qui ont permis à ViT
d’obtenir d’excellents résultats par rapport a l’état d’art sur ImageNet.

Pour traiter les images 2D, nous remodelons l’image x ∈ RH×W ×C en une
2
séquence de patchs aplatis de 2D xp ∈ RN ×(P ·C ) , où (H, W ) est la résolu-
tion de l’image originale, C est le nombre de canaux, (P, P ) est la résolution
de chaque patch d’image, et N = HW/P 2 est le nombre de patchs résul-

53
tant, qui sert également de longueur de séquence d’entrée effective pour le
Transformateur. Le transformateur utilise une taille constante de vecteur
latent D à travers toutes ses couches, nous aplatissons donc les patchs et
les cartographions en dimensions D avec une projection linéaire entraîn-
able comme précise ci dessous Nous désignons la sortie de cette projection
comme étant l’intégration des patchs.

  (P 2 ·C )×D , E ∈ R(N +1)×D


z0 = xclass ; x1p E; x2p E; · · · ; xN
p E + Epos , E ∈ R pos

Ensuite nous ajoutons un encastrement apprenable à la séquence de patchs


encastrés (z00 = xclass ), dont l’état à la sortie de l’encodeur Transformer
(z0L ) sert de représentation d’image y.

y = LN (z0L )

Pendant le pré-entraînement et le réglage fin, une tête de classification est


attachée à z0L . La tête de classification est implémentée par un MLP avec
une couche cachée lors du pré-entraînement et par une seule couche linéaire
lors du réglage fin.

Les incorporations de position sont ajoutées aux incorporations de patchs


pour conserver l’information de position. Nous utilisons des incorpora-
tions de position standard apprenables 1D, car nous n’avons pas observé
de gains de performance significatifs en utilisant des incorporations de po-
sition plus avancées tenant compte de la 2D . La séquence résultante de
vecteurs d’incorporation sert d’entrée à l’encodeur.

L’encodeur Transformer[108] est constitué de couches alternées de blocs


d’auto-attention à têtes multiples et de blocs MLP.

54
z = MSA (LN (z−1 )) + z−1 , = 1...L

z = MLP (LN (z )) + z , = 1...L

Le Layernorm (LN) est appliqué avant chaque bloc, et les connexions


résiduelles après chaque bloc.
N.B.: Le Perceptron contient deux couches avec des GELU d’activation.
  
GELU(x) := xP(X ≤ x) = xΦ(x) = 0.5x 1 + erf √x2
x −t2
avec erf (x) = √2 e dt.
π 0

Cependant, récemment, des chercheurs de Google Brain ont affirmé que


Gated Multi-Layer Perceptron (gMLP), un modèle d’apprentissage pro-
fond qui ne contient que des perceptrons multicouches de base avec moins
de paramètres, surpasse la performance des modèles Transformer dans les
tâches de traitement du langage naturel (NLP). gMLP aussi atteint presque
la même précision que Transformer dans les tâches de vision par ordinateur
(CV)[67].

3.3 Autoencodeur

Un autoencodeur est un type de réseau de neurones artificiel utilisé pour


apprendre les représentations ou les distributions des données entrantes
d’une manière non supervisée. Typiquement utilisé pour la réduction de
dimensionnalité, en apprenant au réseau à ignorer le bruit de l’entrée
(débruitage). Parallèlement au côté réduction, un côté reconstruction est
appris, où l’autoencodeur tente de générer à partir du codage réduit une
représentation aussi proche que possible de son entrée d’origine.
La forme la plus simple d’un autoencodeur est un réseau de neurones
non récurrent à propagation avant, similaire aux perceptrons monocouche,
qui participent à des perceptrons multicouches (MLP) dont le but de re-

55
Figure 6 – Schéma explicatif des différentes composantes des AE [25]

construire ses entrées (minimiser la différence entre l’entrée et la sortie


|x − σ(Wx + b) |). Par conséquent, les autoencodeurs sont des modèles
d’apprentissage non supervisés (ne nécessitent pas d’entrées étiquetées pour
permettre l’apprentissage).

Un autoencodeur se compose de deux parties comme l’indique la figure


6, l’encodeur qui représente la partie d’entrée à gauche de la figure et
le décodeur comme sortie du réseau, qui peuvent être définis comme des
transitions φ et ψ [78] , telles que:

56
On note X l’espace des entrées, X  l’espace des sorties et L l’espace
latent. l’encodeur φ : X → L
le décodeur θ : L → X 
2
φ, θ = arg min X − (θ ◦ φ)X
φ,ψ

Les autoencodeurs sont formés pour minimiser les erreurs de reconstruction


(ou la fonction de perte L) :

L(x, x ) = x − x 2 = x − σ  (W (σ(Wx + b)) + b ) 2


 
JAE (θ, ψ) = ni=1 L (xi , gψ (fθ (xi )) = ni=1 L (xi , gψ (zi ))

= ni=1 L (xi , xi )

avec σ est une fonction d’activation élément par élément (comme la fonction
logistique Sigmoid, ou la RELU, unité linéaire rectifiée). W, W des matri-
ces de poids et b, b des vecteurs de biais et x, x les données de l’entrée et
de sortie successivement. Les poids et les biais sont généralement initialisés
au hasard, puis mis à jour de manière itérative pendant la formation via la
rétropropagation. Ensuite, l’étape de décodeur de l’autoencodeur met en
correspondance h à la reconstruction x de la même forme que x.

3.3.1 Autoencodeur variationnel

La différence principale entre les autoencodeurs variationnels et les autres


types d’ autoencodeurs consiste à utiliser une approche variationnelle pour
la représentation latente dans l’apprentissage, en d’autres termes, on sup-
pose que les données d’entrée ont une sorte de distribution de probabil-
ité p(x|z) et comme l’indique la figure 7, on tente ensuite de trouver
les paramètres (tels que μ, σ) de la distribution par l’approximation de
l’encodeur qφ (z|x) (inférée au niveau du codeur) à la distribution a posteri-
ori pθ (x|z) (générée au niveau du décodeur), ce qui engendre que le réseau

57
optimise la fonction suivante :
 
L(φ, θ, x) = DKL (qφ (z|x)||pθ (z)) − Eqφ (z|x) log pθ (x|z) avec DKL la diver-
  
P (x)
gence Kullback–Leibler (DKL (P Q) := x∈X P (x) log Q(x) ).
La figure 7 illustre les composantes de l’autoencodeur ainsi que la distribu-
tion de probabilité inférée dans chacune de ces composantes.

Figure 7 – schéma explicatif des autoencodeurs variationnels [78]

3.3.2 Autoencodeur contractif

L’autoencodeur contractif [78] est un type de réseau dans lequel on pénalise


la norme de Frobenius A F = tr (A∗ A) avec A ∈ Mm,n , A∗ sa matrice ad-
jointe de la matrice Jacobienne des activations de l’encodeur par rapport à
l’entrée en ajoutant un terme supplémentaire dans la fonction objectif afin

58
d’apprendre des représentations utiles :

n m  ∂ x̂i 2
JAE (θ, ψ) = L (xi , xi ) + λ  
i=1 i=1 ∂x F ,

3.3.3 Autoencodeur épars

Les autoencodeurs épars utilisent une pénalisation pour minimiser le nom-


bre de neurones dans la couche latente [78]. Plus précisément, il s’agit
de construire une fonction objectif en pénalisant les activations dans une
couche compte tenu de l’observation en question. Donc le réseau de neu-
rones effectue l’encodage et le décodage en se fondant sur l’activation d’un
certain nombre de neurones. Ceci consiste à ajouter un terme supplémen-
taire dans la fonction objectif pendant l’entraînement afin de pénaliser la
norme L1 de Lebesgue


n
JAE (θ, ψ) = L (xi , xi ) + λ x̂ 1
i=1

n
où x̂ 1 := i=1 |x̂i |, la norme L1 .

59
Dans la section suivante, nous utiliserons une familles des au-
toencodeurs pour le clustering profond ou deep clustering.

4 Deep Clustering

Le but de cette partie est d’améliorer les résultats de l’intégration des méth-
odes de classification dans la couche latente des autoencodeurs[25].
Fondamentalement, il y a deux façons d’utiliser les caractéristiques pro-
fondes pour le clustering. La première consiste au regroupement des carac-
téristiques cachées qui sont extraites d’un réseau profond bien entraîné [3].
Cependant, ces approches ne peuvent pas exploiter pleinement la puissance
du réseau neuronal profond pour le clustering. L’autre consiste à intégrer
une méthode de clustering existante dans les modèles DL,qui est une ap-
proche de bout en bout. Par exemple, intègrer l’algorithme K-means dans
les autoencodeurs profonds et effectuer l’affectation des clusters dans les
couches intermédiaires [37].

4.1 Principes

Aljalbout et al.[3] ont introduit une approche en boucle fermée dans laque-
lle l’entraînement de l’autoencodeur et le Kmeans sont effectués dans une
boucle itérative. Leur réseau profond apprend d’abord les représenta-
tions des entrées pour obtenir leurs caractéristiques, ensuite ces représenta-
tions apprises sont transmises comme entrée de Kmeans. Leur objectif est
d’utiliser les représentations des données pour améliorer le regroupement,
et d’exploiter les résultats du regroupement pour fournir des indices sur les
étiquettes lors de l’apprentissage des représentations.
Cependant, cette méthode n’est pas adaptée aux grands ensembles de don-
nées vu le coût de calcul et de mémoire qui nécessitent l’exécution itérative

60
d’un algorithme de clustering pendant l’apprentissage et la préformation
du réseau DEC[37].
Dans [105], les auteurs proposent un cadre général pour intégrer les méth-
odes traditionnelles de clustering dans les modèles d’apprentissage profond
et développent un algorithme pour optimiser les objectifs non convexes
et non linéaires sous-jacents en utilisons la méthode ADMM (Alternat-
ing Direction of Multiplier Method). Un algorithme simple, mais puissant
qui convient bien à l’optimisation convexe distribuée, et en particulier aux
problèmes rencontrés en statistique appliquée et en apprentissage automa-
tique. Il prend la forme d’une procédure de décomposition-coordination,
dans laquelle les solutions de petits sous-problèmes locaux sont coordonnées
pour trouver une solution à un grand problème problème global. L’ADMM
peut être considérée comme une tentative de combiner les avantages de
la décomposition duale et des méthodes lagrangiennes augmentées pour
l’optimisation sous contraintes, deux approches antérieures [105].

Définition 4.1. Une fonction f : Rn ⇒ R est dite convexe si son image


est un ensemble convex et x, y ∈ l’image de f, λ ∈ [0, 1], on a

f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y)

Les auteurs [Link] et al. ont considéré dans l’article [105] le problème
général d’optimisation suivant:

min h(x) + o(Dx)


x∈Rn

où D une matrice à m lignes et n colonnes, h et o deux fonctions convexes


respectivement de Rn et Rm . Considérons une variable z = Dx ∈ Rm , on

61
a:
min h(x) + o(z)

ADMM utilise le lagrangien augmenté pour faire la décomposition suivante


en y intégrant un paramètre ρ > 0 :
⎧ !   " #  $
⎨ xk+1 ∈ arg minx∈Rn h(x) + o z k + λk , Dx − z k + e Dx − z k 2
2
! 2 $
⎩ z k+1 ∈ arg min m h xk+1  + o(z) + "λk , Dxk+1 − z # + e 
 Dx k+1
− z 
z∈R 2

Finalement, ils ont obtenu l’équation suivante, indépendante des fonctions


h et o :
 
λk+1 = λk + ρ Dxk+1 − z k+1

La classification profonde se fait au niveau de la couche latente et peut être


formulée comme suit :

2
min : X − X̂ F + λ × Gw (Y )

avec X, les données brutes à classer et X̂ la reconstruction de X; Gw (Y ),


une fonction de classification spécifique dépendant de la méthode classique
à intégrer ; λ, une constante permettant une transaction entre le réseau de
neurones et la classification. Son lagrangien augmenté est donnée par :

2 ρ 2
Lρ (θ, Y, U, w) = X − X̂ F + λ × Gw (Y ) + Y − φθ1 (X) + U F
2

avec U la réciproque de λ dans la solution donnée par la méthode ADMM


θ = {θ1 , θ2 } l’ensemble des paramètres de l’autoencodeur profond, avec θ1
les paramètres de l’encodeur et θ2 ceux du décodeur.
Guo et al. [37] ont amélioré la perfermonce du Deep Embeded Clustering
en ajoutant des propriétés qui préservent les structures locales des points.

62
DeepCluster {w ∈ W : w = argminw Gw (Y)}
inputs : Donnees d’entrees X, taux d’apprentissage η,
hyperparametres ρ, λ
output: Regroupement des donnees
Initialiser les paramètres de la DAE θ, les paramètres du
modèle de clustering w ;
while non convergé do
mettre a jour θ : θ = θ − ηdθ
mettre a jour Y
Y = argminY λ ∗ Gw (Y) + ρ2 Y − fθ1 (X) + U 2F
mettre a jour U : U = U + Y − fθ1 (X)
mettre a jour w : w = argminw Gw (Y)
end
return θ, w
Algorithme 5: l’algorithme DeepCluster

Pour assurer l’efficacité de la perte de clustering, l’autoencodeur de débruitage


empilé utilisé dans la pré-formation n’est plus approprié. En effet, le clus-
tering doit être effectué sur des caractéristiques de données propres, au lieu
des données bruitées utilisées dans l’autoencodeur de débruitage. Nous sup-
primons donc directement le bruit. Le codeur automatique de débruitage
empilé devient alors en un codeur automatique sous-complet, c’est-à-dire
qui n’a pas de terme de régularisation explicite. La perte de reconstruction
est mesurée par l’erreur quadratique moyenne (EQM) :


n
2
Lr = xi − gW  (zi ) 2
i=1

où zi = fW (xi ) et fW et gW  sont des mappages de codeur et de décodeur


respectivement. Les autoencodeurs peuvent préserver la structure locale
de la distribution génératrice de données. Sous cette condition, manipuler
légèrement l’espace incorporé en utilisant la perte de clustering ne causera
pas d’erreur. Il est donc préférable que le coefficient de distorsion γ soit
inférieur à 1.

63
ImpDeepCluster
inputs : Donnees d’entrees X, nombre de clusters K,Interval de
mis a jour T , seuil d’arret δ, maximum d’iterations
M axIter
output: les poids de l’autoencodeur W, W  , les centres des
clusters μ, et les etiquettes s
Initialiser les paramètres μ, W, W 
for iter ∈ {0, 1, ..., M axIter} do
if iter%T == 0 then
Calculer les points incorporés {zi = fW (xi )}ni = 1
sold ← s
si = argmax(qij )
end
if sum(sold = s)/n ≤ δ then
Arret
end
end
return μ, W, W 
Algorithme 6: l’algorithme Improved DeepCluster

Guo et al. [38] ont également proposé une méthode de clustering avec
Deep Clustering AutoEncoder (DCAE) . Pour se faire, tout d’abord, ils
ont préparé un réseau DCAE avec une couche de regroupement utilisant
la divergence KL pour appliquer une distribution cible, puis ils ont formé
un modèle DCAE pour apprendre la représentation des caractéristiques et
ont ensuite formé un modèle DCAE pour apprendre la représentation des
caractéristiques des images. Grâce à un processus itératif, ils ont introduit
les caractéristiques apprises dans un algorithme Kmeans pour regrouper
les points de données dans leurs centroïdes identiques. L’apprentissage
de l’espace des caractéristiques et le processus de regroupement sont deux
procédures distinctes, et leur procédure de regroupement ne contribue pas
à la fonction de perte globale. De plus, la divergence KL n’est peut-être pas
la méthode la plus efficace pour le clustering, car elle n’est pas symétrique
et, par conséquent, la distance entre le point de données A et le point de
données B n’est pas la même que celle entre B et A .
Dans cette étude, la fonction objectif (perte) des méthodes de cluster-

64
ing par apprentissage profond est principalement composée de la perte du
réseau profond et de la perte du clustering. Tout d’abord, L’autoencodeur
est entraîné avec la perte de reconstruction standard à erreur quadratique
moyenne. Par la suite, les auteurs utilisent l’algorithme de perte de k-
Means pour obtenir des données uniformément réparties autour des centres
de clusters. finalement, les auteurs utilisent la distribution t de Student
comme noyau pour mesurer la similarité entre les points et les centroïdes.

4.2 Architecture DCEC

L’architecture DCEC se compose principalement en deux parties à savoir


l’autoencodeur et la couche latente du clustering, d’où la fonction de perte
qui se compose aussi en deux : celle d’apprentissage et celle du clustering.

En outre, la structure du DCEC est composée d’un CAE et d’une couche


de regroupement connectée à la couche intégrée du CAE. La couche de re-
groupement fait correspondre chaque point incorporé zi de l’image d’entrée
xi à une étiquette souple. Ensuite, la perte de regroupement Lc est définie
comme la divergence de Kullback-Leibler (divergence KL) entre la distri-
bution des étiquettes souples et la distribution cible prédéfinie. Le CAE est
utilisé pour apprendre les caractéristiques intégrées et la perte de regroupe-
ment exploite les caractéristiques intégrées pour qu’elles soient enclines à
former des clusters. L’objectif de DCEC est le suivant

L = Lr + γLc

où Lr et Lc sont respectivement la perte de reconstruction et la perte de


regroupement, et γ > 0 est un coefficient qui contrôle le degré de distorsion
de l’espace incorporé. Nous passons brièvement en revue leurs définitions

65
pour que la structure de DEC soit complète.

La couche de clustering maintient les centres de regroupement {μj }K


1 comme

poids entraînables et met en correspondance chaque point intégré zi en éti-


quette souple qi par la distribution t de Student :

 −1
1 + z i − μj 2
qij =   2 −1
j 1 + z i − μj

où qij est la j ème entrée de qi , représentant la probabilité d’appartenance


de zi au cluster j. La perte de clustering est définie comme suit

 pij
Lc = KL(P Q) = pij log
i j
qij

où P est la distribution cible, définie comme suit



qij2 / i qij
pij =   2  
j qij / i qij

4.3 Optimisation

Nous optimisons L = Lr + γLc en utilisant le décentrage par gradient


stochastique (SGD) et la rétropropagation en mini-batch. Plus précisé-
ment, il y a trois types de paramètres à optimiser ou à mettre à jour : les
poids de l’autoencodeur, les centres des clusters et la distribution cible P .
Si on fixe la distribution cible P , les gradients de Lc par rapport au point
intégré zi et au centre de grappe μj peuvent être calculés comme suit [37]:

∂Lc K
=2 (1 + zi − μj 2 )−1 (pij − qij )(zi − μj )
∂zi j=1

66
∂Lc  n
=2 (1 + zi − μj 2 )−1 (qij − pij )(zi − μj )
∂μj i=1

Ensuite, étant donné un mini-lot avec m échantillons et un taux d’apprentissage


λ, μj est mis à jour par[37]

λ  ∂Lc
m
μj = μ j −
m i=1 ∂μj

Les poids du décodeur sont mis à jour par [37]

λ  ∂Lr
m
W = W −
m i=1 ∂W 

4.4 Mesures d’évaluation

Pour justifier nos méthodes, deux approches d’évaluation sont utilisées pour
calculer la qualité du cluster : La précision (ACC) et l’information mutuelle
normalisée (NMI), qui distinguent les résultats de clustering générés par
notre méthode DeepCluster et les étiquettes réelles.

4.4.1 Précision (ACC)

La précision du clustering est une mesure largement utilisée pour évaluer les
résultats du clustering. Elle est calculée à l’aide des résultats de clustering
obtenus et des étiquettes réelles en utilisant la forme suivante [89] :
n
i=1 δ (yi , map (ci ))
Accuracy =
n

où N est le nombre d’échantillons, yi désigne les vraies étiquettes, ci les


clusters obtenus, δ(y, c) est une fonction qui vaut 1 si y − c et 0 sinon, et

67
map (ci ) est la fonction de permutation qui fait correspondre les étiquettes
de cluster obtenues aux étiquettes de vérité fondamentale correspondantes.

4.4.2 Information mutuelle normalisée (NMI)

La NMI est une autre métrique utilisée pour mesurer la qualité du cluster-
ing. Elle est définie entre deux variables aléatoires comme [89] :

I(X; Y )
NMI(X; Y ) = %
H(X)H(Y )

où X désigne les étiquettes réelles, Y est le cluster obtenu, I(X; Y ) est


l’information mutuelle entre X et Y , et H(X) et H(Y ) désignent l’entropie
utilisée, qui normalise la valeur de l’information mutuelle dans une plage
de [0, 1].

4.5 Expérimentations et résultats

En se basant sur l’architecture DCEC [38] et Keskar et al. [50], on se lim-


itera dans nos expériences sur une taille de batch principalement comprise
entre 8 et 512.
Selon [50] la méthode de descente de gradient stochastique et ses variantes
fonctionnent dans un régime de petits lots dans lequel une fraction des
données d’apprentissage, généralement 32 à 512 images, est échantillonnée
pour calculer une approximation du gradient. Nous avons observé dans la
pratique que l’utilisation d’un lot plus important entraîne une dégradation
significative de la qualité du modèle, mesurée par sa capacité à généraliser.
Le manque de capacité de généralisation est dû au fait que les méthodes à
grands lots ont tendance à converger vers des minima nets de la fonction
d’apprentissage. Ces minima sont caractérisés par de grandes valeurs pro-
pres positives et ont tendance à moins bien se généraliser. En revanche, les

68
ACC NMI
Guo et. al [38] 88,97 % 88, 49%
JND [25] 90, 25% 89, 47%
Y.B. Proposée 97, 48% 93, 73%

Table 2 – Comparaison des résultats obtenus sur l’architecture DCEC [38]

méthodes à petits lots convergent vers des minima plats caractérisés par de
petites valeurs propres positives. On a observé que l’ensemble des fonctions
de perte des réseaux neuronaux profonds est tel que les méthodes qui trait-
ent des grands échantillons sont presque invariablement attirées vers des
régions présentant des minima aigus et qui, contrairement aux méthodes à
petits lots, sont incapables d’échapper aux bassins de ces minima.
Les résultats que nous avons obtenus ont été principalement inspirés de
Smith et al. [96] "Don’t Decay the Learning Rate, Increase the Batch
Size". Les auteurs de [96] suggèrent que nous pouvons souvent obtenir les
avantages de la décroissance du taux d’apprentissage en augmentant plutôt
la taille du lot pendant la formation.
Ils soutiennent cette affirmation avec des expériences sur les bases de don-
nées CIFAR-10 et ImageNet[96], et avec une gamme d’optimiseurs, y com-
pris la descente de gradient stochastique et Adam en augmentant le taux
d’apprentissage et le paramètre de momentum m, tout en mettant à l’échelle
B ∝ /(1 − m).

On note que nous avons réalisé plusieurs expériences avec différents hy-
perparamètres, qui ont abouti aux résultats décrits dans le tableau 2 en
augmentant la taille du lot à B=512 avec un taux d’apprentissage η = 10−3
en fixant l’intervalle de mis à jour à 40 images.

Pour visualiser les résultats du clustering, on utilisera l’algorithme t-SNE(t-


distributed stochastic neighbor embedding).Il a été développé par Geoffrey
Hinton et Laurens van der Maaten [107], et comprend deux étapes prin-
cipales. Premièrement, t-SNE construit une distribution de probabilité

69
sur des paires d’objets de grande dimension de telle sorte que des ob-
jets similaires se voient attribuer une probabilité plus élevée tandis que
des points différents se voient attribuer une probabilité plus faible pj|i =
exp(− xi −xj 2 /2σi2 )
 2 /2σ 2 ) . Deuxièmement, t-SNE définit une distribution de
k=i exp(− xi −xk i

probabilité similaire sur les points de la carte de faible dimension qij =


(1+ yi −yj 2 )−1
  2 −1 et minimise la divergence Kullback – Leibler (diver-
k l=k (1+ yk −yl )

gence KL) précédemment expliquée entre les deux distributions, en ce


qui concerne les emplacements des points dans la carte KL (P Q) =
 pij
i=j pij log qij par un algorithme quelconque de la descente gradient. Alors

que pi|j tend à converger facilement, ceci rend les similarités entre les points
énormes à cause de l’utilisation de la distance euclidienne.
On note que t-SNE est fondamentalement de complexité en temps O(N 2 )en
raison de la nécessité de calculer des distances par paires ce qui vient à itérer
sur l’ensemble des points par deux boucles emboîtées. Le prochain para-
graphe introduira une méthode linéaire efficace et plus rapide que la t-SNE.
On introduit ci-dessous l’algorithme de la méthode .

tSNE
inputs : Donnees d’entrees Y, nobmre de points N
output: Nuage de points des clusters
a) Calculer les probabilités
pi|j indice de similarités des points
b) Calculer la matrice de probabilités jointes
p +p
pi j = pij = j|i2N i|j
c) Calculer la matrice qij pour les points yi
d) utiliser la descente pour mettre a jourN les points yi
N pij
et minimiser la fonction de perte de i j pij log qij
Algorithme 7: l’algorithme t-SNE

La visualisation des classes en utilisant t-SNE sur un sous-ensemble aléa-


toire de MNIST 1000 échantillons est présentée la figure 8. On remarque
que la forme de chaque cluster est presque maintenue. On conclut que
l’architecture DCEC peut préserver la structure intrinsèque des données.

70
Figure 8 – Visualisation des résultats du clustering sur un sous-ensemble
de MNIST pendant la 50eme époque

5 Adaptive Self-Paced Deep Clustering with


Data Augmentation

La plupart des algorithmes de clustering profond existants règlent les paramètres


du DNN en utilisant une fonction de perte définie par les centres et les af-
fectations des centres de clusters, qui sont généralement obtenus sur la base
des sorties du DNN dans la dernière itération. Cependant, nous observons
que ces méthodes ne sont pas assez robustes car elles ne considèrent pas
explicitement l’effet des exemples marginaux,(i.e les éléments se trouvant
sur les frontières de deux ou plusieurs clusters) sur le réseau.
Comme l’objectif du DNN est d’apprendre des caractéristiques qui sont
plus appropriées pour le clustering, les exemples près des limites du cluster
peuvent ne pas fournir une orientation convaincante. Ceci est en contraste
avec l’apprentissage supervisé où toutes les étiquettes cibles sont données
au préalable et où donc tous les exemples peuvent fournir des signaux de su-
pervision fiables. En fait, les exemples marginaux dans l’apprentissage su-
pervisé jouent un rôle plus important dans la recherche des limites de classe.
D’un autre côté, ces algorithmes de clustering ne tiennent pas compte de la
technique d’augmentation des données qui a été largement employée dans

71
les modèles d’apprentissage profond supervisés pour améliorer la générali-
sation.
Guo et al.[39] essaye donc d’exploiter ces deux ingrédients afin d’améliorer
la performance du clustering et le rendre plus robuste à ce type d’instance.

Pour résoudre ce problème, Guo et al.[39] propose un algorithme de re-


groupement profond en deux étapes en incorporant l’augmentation des
données et l’apprentissage à rythme libre [56].
Spécifiquement, dans la première étape l’algorithme apprend des caractéris-
tiques robustes en formant un autoencodeur avec des exemples qui sont
augmentés. Ensuite, dans la deuxième étape, on stimule les caractéris-
tiques apprises à être orientées vers les clusters en affinant alternativement
l’encodeur avec les exemples augmentés et en mettant à jour les affectations
de clusters des exemples propres.
Pendant le réglage fin des hyperparamètres de l’encodeur, la cible de chaque
exemple augmenté dans la fonction de perte est le centre de la classe à
laquelle l’exemple propre est affecté.
Pour stabiliser l’apprentissage du réseau, on sélectionne les exemples les
plus fiables à chaque itération en utilisant l’apprentissage adaptatif self-
paced.

5.1 Augmentation des données

On entend par l’augmentation des données une technique utilisée pour ac-
croître la quantité de données en ajoutant des copies légèrement modifiées
de données existantes ou des données synthétiques nouvellement créées à
partir de données existantes.
Elle agit comme un régularisateur et permet de réduire le sur-ajustement
lors de l’apprentissage d’un modèle d’apprentissage automatique. Elle per-
met aussi d’améliorer la précision de prédiction des modèles en ajoutant

72
davantage de données d’entraînement dans les modèles et augmenter la ca-
pacité de généralisation des modèles.
Les techniques les plus simples de l’augmentation des données sont :

• remplissage (ajout de pixels de remplissage supplémentaires autour de


la limite de notre image d’entrée, augmentant ainsi la taille effective
de l’image)

• rotation aléatoire

• remise à l’échelle

• retournement vertical et horizontal

• translation (l’image est déplacée dans les directions X et Y)

• recadrage

• zooming

• assombrissement et éclaircissement/modification des couleurs

• mise à l’échelle des gris

• modification du contraste

• ajout de bruit

• effacement aléatoire

Il existe des modèles plus avancés d’augmentation des données qui ne sont
pas utilisées par [39] sont :

• Adverserial training : Il génère des exemples contradictoires qui per-


turbent un modèle d’apprentissage automatique et les injecte dans
l’ensemble de données pour l’entraînement.

73
• Les réseaux adversaires génératifs (GAN) : Les algorithmes GAN peu-
vent apprendre des modèles à partir d’ensembles de données d’entrée
et créer automatiquement de nouveaux exemples qui ressemblent aux
données d’entraînement.

• Transfert de style neuronal : Les modèles neuronaux de transfert


de style peuvent mélanger l’image du contenu et l’image du style et
séparer le style du contenu.

Perez et al. [79] suggèrent que l’augmentation des données lors de l’apprentissage
aide à généraliser le classificateur en montrant empiriquement que l’augmentation
aide à prévenir le sur-ajustement.

5.2 Apprentissage Self-paced classique

Les modèles de variables latentes sont un outil puissant pour aborder


plusieurs tâches d’apprentissage automatique, tel que l’inférence des para-
mètres des distributions des entrées. Cependant, les algorithmes d’apprent-
issage des paramètres de ces modèles sont enclins à rester bloqués dans un
mauvais optimum local lorsque les fonctions sont non convexes.
Pour remédier à ce problème, Kumar et al.[56] se basent sur l’intuition que,
plutôt que de considérer tous les échantillons simultanément, l’algorithme
devrait recevoir les données d’apprentissage dans un ordre significatif qui
facilite l’apprentissage. Cette idée simule la procédure d’apprentissage hu-
main : du facile au difficile. Étant donné quelques exemples d’une nouvelle
tâche, nous avons tendance à choisir d’abord les exemples les plus faciles
pour apprendre des connaissances de base. Après avoir amélioré notre
connaissance de la tâche, nous pouvons collecter des exemples plus diffi-
ciles pour acquérir plus de connaissances progressivement. Ainsi, l’ordre
des échantillons est déterminé par leur degré de « facilité ». Le principal

74
problème est que, souvent, nous ne disposons pas d’une mesure facilement
calculable de la « facilité » des échantillons.

Dans ce contexte, Kumar et al. [56] définit la « facilité » des exemples de


deux façons, un échantillon est facile si:

• nous sommes confiants quant à la valeur d’une variable cachée.

• s’il est facile de prédire sa véritable sortie.

Ces deux définitions sont en quelque sorte liées : si nous sommes plus
certains de la variable cachée, nous pouvons être plus sûrs de la prédic-
tion. Elles sont différentes dans la mesure où la certitude n’implique pas
n’implique pas l’exactitude, et les variables cachées peuvent ne pas être
directement pertinentes à ce qui rend la sortie d’un échantillon facile à
prédire.
L’article [56] se concentre donc sur la deuxième définition : les échantillons
faciles sont ceux dont la sortie peut être prédite facilement (sa probabilité
est élevée, ou elle se situe loin de la marge du cluster).

Formellement, étant donné des exemples d’apprentissage D = {(x1 , y1 ) ,


(x2 , y2 ) , . . . , (xn , yn )} et un modèle d’apprentissage f avec des paramètres
w, le problème traditionnel d’apprentissage automatique est le suivant


n
min L (fw (xi ) , yi )
w
i=1

Pour faire ceci, on introduit une mesure de « facilité » qui pénalise la


fonction de perte une fois qu’elle dépasse un certain seuil pour être sûr de
choisir les exemples simples en premier, Donc le problème d’optimisation

75
de l’auto-apprentissage est le suivant


n
min vi L (fw (xi ) , yi ) + g (λ, vi )
w,v
i=1

avec vi ∈ [0, 1]

où v = [v1 , v2 , . . . , vn ] sont des poids d’exemples et g (λ, vi ) est appelé


terme de régularisation autoproportionnelle.
Considérons l’apprentissage automatique simple à pondération dure où
g (λ, vi ) = −λvi et vi 0, 1}, c’est-à-dire,


n
min vi L (fw (xi ) , yi ) − λvi
w,v
i=1

avec vi ∈ {0, 1}

Étant donné les poids des exemples v, la minimisation sur w est un prob-
lème de minimisation des pertes pondérées. Et lorsque le paramètre de
modèle w est fixé, le vi optimal est déterminé par la forme fermée


⎨1, si Li < λ
vi =

⎩ 0, sinon

5.3 Apprentissage self-paced adaptatif

On considère le problème de clustering avec les paramètres suivants: le


nombre de classes K est donné comme une connaissance a priori et le
centre de la classe j est représenté par mj ∈ Rd . Définissons la matrice de
regroupement comme M = [m1 , m2 , . . . , mK ] ∈ Rd×K . Soit si ∈ {0, 1}K
désigne l’indice de cluster attribué à l’exemple zi . Alors yi = Msi indique
le centre du cluster auquel appartient l’exemple zi .

76
SPL (wt+1 , vt+1 ) =  n 
1
argmin r(w) + ni=1 vi f (xi , yi ; w) − K i=1 vi
w∈Rd ,v∈{0,1}n
inputs: D = {(x1 , y1 ) , (x2 , y2 ) , . . . , (xn , yn )} , w0 , K0 .
t ← 0, K ← K0
while vi = 1∀i = 1, .., N do
mettre a jour h∗i = argmaxhi ∈H wt P hi (xi , yi , hi )
mettre a jour wt+1 en utilisant la recherche alternative
convexe pour minimizer l’objectif
n
1 2 1
2
w + C
n
n
v
i=1 i iξ − K i=1 vi
t ← t + 1, K ← μ K

end
Algorithme 8: Algorithme d’apprentissage self-paced

Notre objectif est de trouver un bon réseau neuronal (extracteur de carac-


téristiques) fw (·) qui permette aux points transformés {zi }ni=1 d’être plus
adaptés au clustering. À cette fin, nous proposons un modèle de regroupe-
ment profond en deux étapes pour former fw (·). Comme précédemment
précisé, l’objectif est d’optimiser :

1
n
2
min vi fw (xi ) − yi 2 −λvi , avec vi ∈ {0, 1}
v,w n
i=1

où v = [v1 , v2 , . . . , vn ] sont les poids des exemples d’apprentissage, et λ


est le paramètre d’âge qui contrôle le nombre d’exemples sélectionnés[39].

En appliquant le principe SPL, nous empêcherons l’apprentissage automa-


tique de sélectionner les exemples marginaux i.e. proches des limites au
début de la formation du réseau, ce qui est nocif à la formation des clusters
même à la fin [39].
Dans ce contexte, Guo et al. [39] propose le SPL adaptatif ASPC qui a
comme objectif d’optimiser

1
n
2
min vi fw (xi ) − Msi 2 − λvi
v,w n
i=1

avec vi ∈ {0, 1}

77
et
1
n
2
min fw (xi ) − Msi 2
s n
i=1

avec si ∈ {0, 1}K , 1 si = 1,

en considérant λ, comme étant un paramètre adapté au coût de la forma-


tion en fonction des itérations du modèle et non pas un hyperparamètre
indépendant et statique définit par :

  t  
λ = μ L t + σ Lt
T

où Lt représente toutes les pertes dans la tme itération, T est le nombre


d’itérations maximales, μ(·) et σ(·) sont la moyenne et l’écart type des
pertes.

Rendu à ce point-là où le problème d’optimisation est fixé, on intègre di-


rectement les exemples résultants de l’augmentation des données dans le
réseau. Cette intuition est appuyée par le fait que ces exemples appartien-
nent au même espace topologique des exemples originaux.
Si on note l’ensemble des transformations qui génèrent les nouveaux exem-
ples par la notation suivante:

Rd → Rd
T:
xi → x̂i = T (xi )

alors on a bien que la fonction cible à minimiser devient :

1
n
2
Lr = x̂i − hu (fw (x̂i )) 2
n i=1

On rappelle que : fw et hu sont les fonctions de compression et de recon-


struction respectivement.

78
1
n 2
ASPCDA minv,w n i=1 vi fw (xi ) − Msi 2 − λvi

inputs : Ensemble de données X, Tranformation


d’auguementation T ,Nombre de clusters K, seuil
d’arret δ, Maximum d’iterations T
output: Affectation des classes s
Initialiser 
w = argmin n1 ni=1 x̂i − hu (fw (x̂i )) 22 avec x̂i = T (xi )
w∈Rd
Initialiser M, s en utilisant k − means sur la sortie de
l’encodeur
for ∀t = 0, 1, .., T do
Mettre a jour'
1, si j = arg mink fw (xi ) − mk 22
sij ← sij =
0, sinon
'
1, si fw (x̂i ) − Msi 22 < λ
Mettre a jour vi ← vi =
0, sinon
n
Mettre a jour W ←w n i=1 vi fw (x̂i ) − Msi 22
1

if 1 − n1 i,j stij st−1


ij < δ then
Arret
end
end
Algorithme 9: Algorithme d’apprentissage self-paced adaptatif avec
l’augumentation des données

79
5.4 Expérimentations et résultats

Cette partie se base principalement sur l’algorithme ASPCDA proposé par


[39].

Figure 9 – Graphique de perte de l’entraînement en fonction des itérations

Figure 10 – Graphique de perte du cluserting en fonction des itérations

80
Dans la phase de pré-entraînement, pour améliorer les résultats du bench-
mark de Guo et al.[39], nous avons utilisé un autoencodeur composé de huit
couches entièrement connectées et activées par ReLU. L’autoencodeur est
entraîné pendant 500 époques en utilisant l’optimiseur SGD avec un taux
d’apprentissage η = 1,0.
Pendant le paramétrage, l’encodeur possède quatre couches avec le nombre
maximal d’itérations fixé à T=100. Dans chaque itération, nous entraînons
l’encodeur pendant une époque en utilisant l’optimiseur Adam avec un taux
d’apprentissage initial de η =0,0001 et une taille du lot comprise princi-
palement entre 32 à 512 avec un seuil du critère d’arrêt fixé à δ= 0.001.
Les résultats de l’optimisation des fonctions de perte de l’entraînement fig.9
et de clustering fig.10 diminuent rapidement vers 0 lorsque l’itération de
formation augmente. En d’autres termes, cette méthode converge dans la
pratique.
Les résultats obtenus (disponible sur le présent répertoire [Link]
com/youssefbar/memoire) au paramétrage précédemment mentionné de
l’architecture sont quasi identiques à celles du benchmark de Guo et al.[39]
avec une précision de 0.98 ±0.009.

81
6 Conclusion et Perspectives

L’objectif de ce mémoire est d’établir une étude comparative des méthodes


de classification et de contourner les limitations de ces dernières. Plus pré-
cisément, on a montré l’efficacité des réseaux de neurones, justement les
autoencodeurs dans les bases de données complexes et volumineuses.
Cependant, malgré la puissance computationnelle énorme des autoencodeurs
variationnelles classiques et leur capacité d’inférence, ces méthodes ne sont
pas assez robustes pour traiter les classes qui se chevauchent, même en
ajoutant une méthode classique de classification (généralement K-means ou
le modèle de mélange gaussien) au niveau de la couche latente. Notre contri-
bution dans le cadre de ce mémoire se situe à trois niveaux afin de remédier
à certaines limitations. Le premier est certainement le plus important. Il
concerne la sélection d’exemple par l’intégration de l’apprentissage adapté
dans les autoencodeurs. Le deuxième niveau se concentre sur l’arrimage en-
tre le processus d’apprentissage non supervisé des caractéristiques à l’appren-
tissage supervisé par l’augmentation des données. Le but est de généraliser
le modèle d’apprentissage. Le troisième niveau concerne l’optimisation des
hyperparamètres eu égard aux données d’application, nommément la base
de données MNIST. En effet, les résultats obtenus ont montré que cette
méthode d’apprentissage adapté surpassent les résultats des méthodes de
classification existantes. Ce mémoire vise à mettre en exergue l’apport
et l’impact d’intégrer l’apprentissage adapté pour l’analyse des données
MNIST.
En guise de perspectives, il serait intéressant d’essayer d’autres critères de
mesure de « facilité » des échantillons pour pénaliser l’algorithme d’appren-
tissage adapté, ainsi que d’essayer d’incorporer les techniques d’augmenta-
tion pour les données qui ne sont pas sous forme d’images. Il serait aussi
avantageux de mener une étude comparative prenant en compte les trans-

82
formateurs en vision[27] et les réseaux de neurones à graphe hiérarchique
de classification[11].

83
References

[1] Guillaume Alain and Yoshua Bengio. Understanding intermediate layers


using linear classifier probes. arXiv preprint arXiv:1610.01644, 2016.

[2] Saad Albawi, Tareq Abed Mohammed, and Saad Al-Zawi. Understanding
of a convolutional neural network. In 2017 International Conference on
Engineering and Technology (ICET), pages 1–6. Ieee, 2017.

[3] Elie Aljalbout, Vladimir Golkov, Yawar Siddiqui, Maximilian Strobel, and
Daniel Cremers. Clustering with deep learning: Taxonomy and new meth-
ods. arXiv preprint arXiv:1801.07648, 2018.

[4] David Alvarez-Melis, Stefanie Jegelka, and Tommi S Jaakkola. Towards


optimal transport with global invariances. In The 22nd International Con-
ference on Artificial Intelligence and Statistics, pages 1870–1879. PMLR,
2019.

[5] Matthew Amodio and Smita Krishnaswamy. Magan: Aligning biological


manifolds. In International Conference on Machine Learning, pages 215–
223. PMLR, 2018.

[6] Martin Arjovsky, Soumith Chintala, and Léon Bottou. Wasserstein genera-
tive adversarial networks. In International conference on machine learning,
pages 214–223. PMLR, 2017.

[7] Fayeem Aziz, Aaron SW Wong, and Stephan Chalup. Semi-supervised


manifold alignment using parallel deep autoencoders. Algorithms,
12(9):186, 2019.

[8] Arturs Backurs, Yihe Dong, Piotr Indyk, Ilya Razenshteyn, and Tal Wag-
ner. Scalable nearest neighbor search for optimal transport. In Interna-
tional Conference on Machine Learning, pages 497–506. PMLR, 2020.

84
[9] Ari S Benjamin, David Rolnick, and Konrad Kording. Measuring and
regularizing networks in function space. arXiv preprint arXiv:1805.08289,
2018.

[10] Mariusz Bojarski, Davide Del Testa, Daniel Dworakowski, Bernhard Firner,
Beat Flepp, Prasoon Goyal, Lawrence D Jackel, Mathew Monfort, Urs
Muller, Jiakai Zhang, et al. End to end learning for self-driving cars. arXiv
preprint arXiv:1604.07316, 2016.

[11] Thomas Bonald, Bertrand Charpentier, Alexis Galland, and Alexandre


Hollocou. Hierarchical graph clustering using node pair sampling, 2018.

[12] Daniel B Burkhardt, Jay S Stanley, Ana Luisa Perdigoto, Scott A Gigante,
Kevan C Herold, Guy Wolf, Antonio J Giraldez, David van Dijk, and Smita
Krishnaswamy. Quantifying the effect of experimental perturbations in
single-cell rna-sequencing data using graph signal processing. BioRxiv,
page 532846, 2019.

[13] Ovidiu Calin. Deep learning architectures. Springer, 2020.

[14] Bruno Cessac. A view of neural networks as dynamical systems. Interna-


tional Journal of Bifurcation and Chaos, 20(06):1585–1629, 2010.

[15] Liqun Chen, Zhe Gan, Yu Cheng, Linjie Li, Lawrence Carin, and Jingjing
Liu. Graph optimal transport for cross-domain alignment. In International
Conference on Machine Learning, pages 1542–1553. PMLR, 2020.

[16] Zhi Chen, Yijie Bei, and Cynthia Rudin. Concept whitening for inter-
pretable image recognition. Nature Machine Intelligence, 2(12):772–782,
2020.

[17] François Chollet. Xception: Deep learning with depthwise separable con-
volutions. In Proceedings of the IEEE conference on computer vision and
pattern recognition, pages 1251–1258, 2017.

[18] Taco Cohen, Mario Geiger, Jonas Köhler, and Max Welling. Convolutional
networks for spherical signals. arXiv preprint arXiv:1709.04893, 2017.

85
[19] Ronald R Coifman and Stéphane Lafon. Diffusion maps. Applied and
computational harmonic analysis, 21(1):5–30, 2006.

[20] Corinna Cortes, Mehryar Mohri, and Afshin Rostamizadeh. Algorithms


for learning kernels based on centered alignment. The Journal of Machine
Learning Research, 13(1):795–828, 2012.

[21] Corinna Cortes and Vladimir Vapnik. Support vector machine. Machine
learning, 20(3):273–297, 1995.

[22] Nello Cristianini, Jaz Kandola, Andre Elisseeff, and John Shawe-Taylor.
On kernel target alignment. In Innovations in machine learning, pages
205–256. Springer, 2006.

[23] Marco Cuturi. Sinkhorn distances: Lightspeed computation of optimal


transport. Advances in neural information processing systems, 26:2292–
2300, 2013.

[24] Philippe Pérez de San Roman, Jenny Benois-Pineau, Jean-Philippe


Domenger, Florent Paclet, Daniel Cataert, and Aymar De Rugy. Saliency
driven object recognition in egocentric videos with deep cnn: toward ap-
plication in assistance to neuroprostheses. Computer Vision and Image
Understanding, 164:82–91, 2017.

[25] Jean Noel Diouf. Classification, aprrentissage pronfond et reseaux de neu-


rones. In Mémoire de maîtrise, Université du Québec à Trois-Rivières,
2020.

[26] Daxiang Dong, Hua Wu, Wei He, Dianhai Yu, and Haifeng Wang. Multi-
task learning for multiple language translation. In Proceedings of the 53rd
Annual Meeting of the Association for Computational Linguistics and the
7th International Joint Conference on Natural Language Processing (Vol-
ume 1: Long Papers), pages 1723–1732, 2015.

[27] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn,


Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Min-

86
derer, Georg Heigold, Sylvain Gelly, et al. An image is worth 16x16
words: Transformers for image recognition at scale. arXiv preprint
arXiv:2010.11929, 2020.

[28] Andre Esteva, Alexandre Robicquet, Bharath Ramsundar, Volodymyr


Kuleshov, Mark DePristo, Katherine Chou, Claire Cui, Greg Corrado, Se-
bastian Thrun, and Jeff Dean. A guide to deep learning in healthcare.
Nature medicine, 25(1):24–29, 2019.

[29] Matt W Gardner and SR Dorling. Artificial neural networks (the mul-
tilayer perceptron)—a review of applications in the atmospheric sciences.
Atmospheric environment, 32(14-15):2627–2636, 1998.

[30] Aude Genevay, Lénaic Chizat, Francis Bach, Marco Cuturi, and Gabriel
Peyré. Sample complexity of sinkhorn divergences. In The 22nd Interna-
tional Conference on Artificial Intelligence and Statistics, pages 1574–1583.
PMLR, 2019.

[31] Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep learning. MIT
press, 2016.

[32] Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David
Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Gener-
ative adversarial nets. Advances in neural information processing systems,
27, 2014.

[33] John C Gower. Generalized procrustes analysis. Psychometrika, 40(1):33–


51, 1975.

[34] Alex Graves, Abdel-rahman Mohamed, and Geoffrey Hinton. Speech recog-
nition with deep recurrent neural networks. In 2013 IEEE international
conference on acoustics, speech and signal processing, pages 6645–6649.
Ieee, 2013.

87
[35] Alexander Grigor’yan, Jiaxin Hu, and Ka-Sing Lau. Heat kernels on met-
ric measure spaces. In Geometry and Analysis of Fractals, volume 88 of
PROMS, pages 147–207, 2014.

[36] Riccardo Guidotti, Anna Monreale, Salvatore Ruggieri, Franco Turini,


Fosca Giannotti, and Dino Pedreschi. A survey of methods for explain-
ing black box models. ACM computing surveys (CSUR), 51(5):1–42, 2018.

[37] Xifeng Guo, Long Gao, Xinwang Liu, and Jianping Yin. Improved deep
embedded clustering with local structure preservation. In Ijcai, pages 1753–
1759, 2017.

[38] Xifeng Guo, Xinwang Liu, En Zhu, and Jianping Yin. Deep clustering
with convolutional autoencoders. In International conference on neural
information processing, pages 373–382. Springer, 2017.

[39] Xifeng Guo, Xinwang Liu, En Zhu, Xinzhong Zhu, Miaomiao Li, Xin Xu,
and Jianping Yin. Adaptive self-paced deep clustering with data augmenta-
tion. IEEE Transactions on Knowledge and Data Engineering, 32(9):1680–
1693, 2019.

[40] Boris Hanin. Universal function approximation by deep neural nets with
bounded width and relu activations. Mathematics, 7(10):992, 2019.

[41] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual
learning for image recognition. In Proceedings of the IEEE conference on
computer vision and pattern recognition, pages 770–778, 2016.

[42] Geoffrey E Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, and
Ruslan R Salakhutdinov. Improving neural networks by preventing co-
adaptation of feature detectors. arXiv preprint arXiv:1207.0580, 2012.

[43] Martin Hofmann. Support vector machines-kernels and the kernel trick.
Notes, 26(3):1–16, 2006.

88
[44] Lu Hongtao and Zhang Qinchuan. Applications of deep convolutional neu-
ral network in computer vision. Journal of Data Acquisition and Processing,
31(1):1–17, 2016.

[45] Sara Hooker, Dumitru Erhan, Pieter-Jan Kindermans, and Been Kim. A
benchmark for interpretability methods in deep neural networks. arXiv
preprint arXiv:1806.10758, 2018.

[46] Kurt Hornik, Maxwell Stinchcombe, and Halbert White. Multilayer feed-
forward networks are universal approximators. Neural networks, 2(5):359–
366, 1989.

[47] Taicheng Huang, Zonglei Zhen, and Jia Liu. Semantic relatedness emerges
in deep convolutional neural networks designed for object recognition.
Frontiers in computational neuroscience, 15:16, 2021.

[48] Jay S. Stanley III, Scott Gigante, Guy Wolf, and Smita Krishnaswamy.
Harmonic Alignment, pages 316–324.

[49] Leonid V Kantorovich. On the translocation of masses. Journal of mathe-


matical sciences, 133(4):1381–1382, 2006.

[50] Nitish Shirish Keskar, Dheevatsa Mudigere, Jorge Nocedal, Mikhail


Smelyanskiy, and Ping Tak Peter Tang. On large-batch training for
deep learning: Generalization gap and sharp minima. arXiv preprint
arXiv:1609.04836, 2016.

[51] Taeksoo Kim, Moonsu Cha, Hyunsoo Kim, Jung Kwon Lee, and Jiwon
Kim. Learning to discover cross-domain relations with generative adver-
sarial networks. In International Conference on Machine Learning, pages
1857–1865. PMLR, 2017.

[52] Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic opti-
mization. arXiv preprint arXiv:1412.6980, 2014.

89
[53] Simon Kornblith, Mohammad Norouzi, Honglak Lee, and Geoffrey Hinton.
Similarity of neural network representations revisited. In International
Conference on Machine Learning, pages 3519–3529. PMLR, 2019.

[54] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet clas-
sification with deep convolutional neural networks. Advances in neural
information processing systems, 25:1097–1105, 2012.

[55] Manik Kuchroo, Jessie Huang, Patrick Wong, Jean-Christophe Gre-


nier, Dennis Shung, Alexander Tong, Carolina Lucas, Jon Klein, Daniel
Burkhardt, Scott Gigante, et al. Multiscale phate exploration of sars-cov-2
data reveals multimodal signatures of disease. 2020.

[56] M Kumar, Benjamin Packer, and Daphne Koller. Self-paced learning for
latent variable models. Advances in neural information processing systems,
23:1189–1197, 2010.

[57] John Lafferty, Guy Lebanon, and Tommi Jaakkola. Diffusion kernels on
statistical manifolds. Journal of Machine Learning Research, 6(1), 2005.

[58] Isaac E Lagaris, Aristidis Likas, and Dimitrios I Fotiadis. Artificial neu-
ral networks for solving ordinary and partial differential equations. IEEE
transactions on neural networks, 9(5):987–1000, 1998.

[59] Tam Le, Viet Huynh, Nhat Ho, Dinh Phung, and Makoto Yamada. On
scalable variant of wasserstein barycenter. ArXiv Preprint, 2019:2, 1910.

[60] Yann LeCun. 1.1 deep learning hardware: past, present, and future. In
2019 IEEE International Solid-State Circuits Conference-(ISSCC), pages
12–19. IEEE, 2019.

[61] Yann LeCun, Yoshua Bengio, and Geoffrey Hinton. Deep learning. nature,
521(7553):436–444, 2015.

[62] Yann LeCun, LD Jackel, Leon Bottou, A Brunot, Corinna Cortes, John
Denker, Harris Drucker, Isabelle Guyon, UA Muller, Eduard Sackinger,

90
et al. Comparison of learning algorithms for handwritten digit recognition.
In International conference on artificial neural networks, volume 60, pages
53–60. Perth, Australia, 1995.

[63] Roy R Lederman and Ronen Talmon. Common manifold learning using
alternating-diffusion. submitted, Tech. Report YALEUIDCSITR1497, 2014.

[64] William Leeb and Ronald Coifman. Hölder–lipschitz norms and their duals
on spaces with semigroups, with applications to earth mover’s distance.
Journal of Fourier Analysis and Applications, 22(4):910–953, 2016.

[65] Ofir Lindenbaum, Arie Yeredor, Moshe Salhov, and Amir Averbuch. Multi-
view diffusion maps. Information Fusion, 55:127–149, 2020.

[66] Zachary C Lipton. The mythos of model interpretability: In machine learn-


ing, the concept of interpretability is both important and slippery. Queue,
16(3):31–57, 2018.

[67] Hanxiao Liu, Zihang Dai, David R. So, and Quoc V. Le. Pay attention to
mlps, 2021.

[68] Zhou Lu, Hongming Pu, Feicheng Wang, Zhiqiang Hu, and Liwei Wang.
The expressive power of neural networks: A view from the width. In
Proceedings of the 31st International Conference on Neural Information
Processing Systems, pages 6232–6240, 2017.

[69] Scott M Lundberg and Su-In Lee. A unified approach to interpreting model
predictions. In Proceedings of the 31st international conference on neural
information processing systems, pages 4768–4777, 2017.

[70] Yunqian Ma and Yun Fu. Manifold learning theory and applications. CRC
press, 2011.

[71] Leland McInnes, John Healy, and James Melville. Umap: Uniform mani-
fold approximation and projection for dimension reduction. arXiv preprint
arXiv:1802.03426, 2018.

91
[72] Tomáš Mikolov, Martin Karafiát, Lukáš Burget, Jan Černockỳ, and San-
jeev Khudanpur. Recurrent neural network based language model. In
Eleventh annual conference of the international speech communication as-
sociation, 2010.

[73] Riccardo Miotto, Fei Wang, Shuang Wang, Xiaoqian Jiang, and Joel T
Dudley. Deep learning for healthcare: review, opportunities and challenges.
Briefings in bioinformatics, 19(6):1236–1246, 2018.

[74] Grégoire Montavon, Wojciech Samek, and Klaus-Robert Müller. Methods


for interpreting and understanding deep neural networks. Digital Signal
Processing, 73:1–15, 2018.

[75] Kevin R Moon, Jay S Stanley III, Daniel Burkhardt, David van Dijk, Guy
Wolf, and Smita Krishnaswamy. Manifold learning-based methods for ana-
lyzing single-cell rna-sequencing data. Current Opinion in Systems Biology,
7:36–46, 2018.

[76] Kevin R Moon, David van Dijk, Zheng Wang, Scott Gigante, Daniel B
Burkhardt, William S Chen, Kristina Yim, Antonia van den Elzen,
Matthew J Hirn, Ronald R Coifman, et al. Visualizing structure and
transitions in high-dimensional biological data. Nature biotechnology,
37(12):1482–1492, 2019.

[77] Debarghya Mukherjee, Aritra Guha, Justin M Solomon, Yuekai Sun, and
Mikhail Yurochkin. Outlier-robust optimal transport. In International
Conference on Machine Learning, pages 7850–7860. PMLR, 2021.

[78] Andrew Ng et al. Sparse autoencoder. CS294A Lecture notes, 72(2011):1–


19, 2011.

[79] Luis Perez and Jason Wang. The effectiveness of data augmentation in
image classification using deep learning. arXiv preprint arXiv:1712.04621,
2017.

92
[80] Joshua C Peterson, Paul Soulos, Aida Nematzadeh, and Thomas L Grif-
fiths. Learning hierarchical visual representations in deep neural networks
using hierarchical linguistic labels. arXiv preprint arXiv:1805.07647, 2018.

[81] Gabriel Peyré, Marco Cuturi, et al. Computational optimal transport:


With applications to data science. Foundations and Trends® in Machine
Learning, 11(5-6):355–607, 2019.

[82] Ben Poole, Subhaneil Lahiri, Maithra Raghu, Jascha Sohl-Dickstein, and
Surya Ganguli. Exponential expressivity in deep neural networks through
transient chaos. In Advances in neural information processing systems,
pages 3360–3368, 2016.

[83] Svetlozar T Rachev. Probability metrics and the stability of stochastic mod-
els, volume 269. Wiley, 1991.

[84] Maithra Raghu, Justin Gilmer, Jason Yosinski, and Jascha Sohl-Dickstein.
Svcca: Singular vector canonical correlation analysis for deep learning dy-
namics and interpretability, 2017.

[85] Joan Bruna Raman Arora, Sanjeev Arova. Theory of deep learning, 2021.

[86] Qing Rao and Jelena Frtunikj. Deep learning for self-driving cars: Chances
and challenges. In Proceedings of the 1st International Workshop on Soft-
ware Engineering for AI in Autonomous Systems, pages 35–38, 2018.

[87] Marco Tulio Ribeiro, Sameer Singh, and Carlos Guestrin. " why should i
trust you?" explaining the predictions of any classifier. In Proceedings of
the 22nd ACM SIGKDD international conference on knowledge discovery
and data mining, pages 1135–1144, 2016.

[88] David Rolnick and Konrad Kording. Reverse-engineering deep relu net-
works. In International Conference on Machine Learning, pages 8178–8187.
PMLR, 2020.

93
[89] Simone Romano, James Bailey, Nguyen Xuan Vinh, and Karin Verspoor.
Standardized mutual information for clustering comparisons: One step fur-
ther in adjustment for chance. In Proceedings of the 31st International
Conference on International Conference on Machine Learning - Volume
32, ICML’14, page II–1143–II–1151. [Link], 2014.

[90] Cynthia Rudin. Stop explaining black box machine learning models for
high stakes decisions and use interpretable models instead. Nature Machine
Intelligence, 1(5):206–215, 2019.

[91] A Saxe, J McClelland, and S Ganguli. Learning hierarchical category struc-


ture in deep neural networks. 2013.

[92] Andrew M Saxe, James L McClelland, and Surya Ganguli. Exact solutions
to the nonlinear dynamics of learning in deep linear neural networks. arXiv
preprint arXiv:1312.6120, 2013.

[93] Avanti Shrikumar, Peyton Greenside, and Anshul Kundaje. Learning im-
portant features through propagating activation differences. In Interna-
tional Conference on Machine Learning, pages 3145–3153. PMLR, 2017.

[94] Ravid Shwartz-Ziv and Naftali Tishby. Opening the black box of deep
neural networks via information. arXiv preprint arXiv:1703.00810, 2017.

[95] Karen Simonyan and Andrew Zisserman. Very deep convolutional networks
for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014.

[96] Samuel L Smith, Pieter-Jan Kindermans, Chris Ying, and Quoc V Le.
Don’t decay the learning rate, increase the batch size. arXiv preprint
arXiv:1711.00489, 2017.

[97] Justin Solomon, Fernando De Goes, Gabriel Peyré, Marco Cuturi, Adrian
Butscher, Andy Nguyen, Tao Du, and Leonidas Guibas. Convolutional
wasserstein distances: Efficient optimal transportation on geometric do-
mains. ACM Transactions on Graphics (TOG), 34(4):1–11, 2015.

94
[98] Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, and
Ruslan Salakhutdinov. Dropout: a simple way to prevent neural networks
from overfitting. The journal of machine learning research, 15(1):1929–
1958, 2014.

[99] Ruoyu Sun. Optimization for deep learning: theory and algorithms. arXiv
preprint arXiv:1912.08957, 2019.

[100] Xin Sun, Junyu Shi, Lipeng Liu, Junyu Dong, Claudia Plant, Xinhua
Wang, and Huiyu Zhou. Transferring deep knowledge for object recog-
nition in low-quality underwater videos. Neurocomputing, 275:897–908,
2018.

[101] David Sussillo and Omri Barak. Opening the black box: low-dimensional
dynamics in high-dimensional recurrent neural networks. Neural computa-
tion, 25(3):626–649, 2013.

[102] Mingxing Tan and Quoc Le. Efficientnet: Rethinking model scaling for
convolutional neural networks. In International Conference on Machine
Learning, pages 6105–6114. PMLR, 2019.

[103] Matus Telgarsky. Deep learning theory lecture notes. [Link]


[Link]/dlt/, 2021. Version: 2021-09-15 v0.0-c15f57bc (alpha).

[104] Bruce Thompson. Canonical correlation analysis: Uses and interpretation.


Number 47. Sage, 1984.

[105] Kai Tian, Shuigeng Zhou, and Jihong Guan. Deepcluster: A general clus-
tering framework based on deep learning. In ECML/PKDD, 2017.

[106] Devis Tuia and Gustau Camps-Valls. Kernel manifold alignment for domain
adaptation. PloS one, 11(2):e0148655, 2016.

[107] Laurens Van der Maaten and Geoffrey Hinton. Visualizing data using t-sne.
Journal of machine learning research, 9(11), 2008.

95
[108] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones,
Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you
need. In Advances in neural information processing systems, pages 5998–
6008, 2017.

[109] Sagar Verma. A survey on machine learning applied to dynamic physical


systems. arXiv preprint arXiv:2009.09719, 2020.

[110] Athanasios Voulodimos, Nikolaos Doulamis, Anastasios Doulamis, and


Eftychios Protopapadakis. Deep learning for computer vision: A brief
review. Computational intelligence and neuroscience, 2018, 2018.

[111] Chang Wang, Peter Krafft, Sridhar Mahadevan, Y Ma, and Y Fu. Manifold
alignment. In Manifold Learning: Theory and Applications, pages 95–120.
CRC Press Boca Raton, FL, USA, 2011.

[112] Chang Wang and Sridhar Mahadevan. Manifold alignment using procrustes
analysis. In Proceedings of the 25th international conference on Machine
learning, pages 1120–1127, 2008.

[113] Chang Wang and Sridhar Mahadevan. Manifold alignment without cor-
respondence. In Twenty-First International Joint Conference on Artificial
Intelligence, 2009.

[114] Chang Wang and Sridhar Mahadevan. Heterogeneous domain adaptation


using manifold alignment. In IJCAI proceedings-international joint confer-
ence on artificial intelligence, volume 22, page 1541, 2011.

[115] Xiang Zhang and Yann LeCun. Text understanding from scratch. arXiv
preprint arXiv:1502.01710, 2015.

[116] Jun-Yan Zhu, Taesung Park, Phillip Isola, and Alexei A Efros. Unpaired
image-to-image translation using cycle-consistent adversarial networks. In
Proceedings of the IEEE international conference on computer vision, pages
2223–2232, 2017.

96

Vous aimerez peut-être aussi