Mémoire
Mémoire
Mémoire
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Revue de littérature . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Hypothèses et définitions . . . . . . . . . . . . . . . . . . . . . . 12
4 TCL quantitatif en dimension 1 . . . . . . . . . . . . . . . . . . . 15
5 TCL quantitatif en dimension finie . . . . . . . . . . . . . . . . . 26
6 Illustration du TCL quantitatif en dimension 1 . . . . . . . . . . . 28
7 Annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1
1 Introduction
Ce mémoire est un travail sur l’article « Quantitative CLTS in deep neu-
ral networks »[1].
2
Chaque couche est donc consituée de neurones, recevant chacun des
entrées (𝑥𝑖 ), pondérées par un poids (𝑤 𝑖 ) à laquelle un biais est ajouté pour
calculer une somme pondérée. Pour une couche donnée, l’entrée totale est
donc donnée par:
Í
𝑖 𝑤 𝑖 𝑥𝑖 + biais
3
De façon rigoureuse, le réseau le plus simple, le réseau neuronal entière-
ment connecté, est défini de la manière suivante:
Definition 1.1 (Réseau neuronal entièrement connecté).
Fixons un entier positif L ainsi que L+2 entiers positifs 𝑛0 , . . . , 𝑛 𝐿+1 et
une fonction 𝜎 : R → R. Un réseau neuronal entièrement connecté
de profondeur L aux dimensions d’entrée 𝑛0 et de sortie 𝑛 𝐿+1 , de largeurs
de couches 𝑛1 , . . . , 𝑛 𝐿 et de non-linéarité 𝜎 est une fonction 𝑥 𝛼 ∈ R𝑛0 ↦→
𝑧 𝛼(𝐿+1) ∈ R𝑛 𝐿+1 de la forme suivante:
(1)
(ℓ) 𝑊 𝑥 𝛼 + 𝑏 (1) , ℓ=1
𝑧𝛼 = (ℓ) (ℓ−1) (ℓ)
𝑊 𝜎(𝑧 𝛼 ) + 𝑏 , ℓ = 2, . . . , 𝐿 + 1.
où 𝑧 𝛼(ℓ) ∈ R𝑛ℓ et 𝑏 (ℓ) ∈ R𝑛ℓ sont des vecteurs, 𝑊 (ℓ) ∈ R𝑛ℓ ×𝑛ℓ −1 des
matrices, et 𝜎 appliqué à un vecteur est 𝜎 appliqué à chaque composante.
Notons que 𝜎 sert de fonction d’activation non-linéaire.
Les paramètres d’un tel réseau de neurones sont les poids 𝑊𝑖(𝑙)
𝑗 et les
biais 𝑏𝑖(𝑙) associés à chaque couche. Le but étant, pour un jeu de données,
de trouver une combinaison de poids et de biais telle que 𝑧 𝛼(𝐿+1) ≈ 𝑓 (𝑥 𝛼 )
pour 𝑥 𝛼 appartenant au jeu de données ou non, avec 𝑓 la fonction que l’on
essaie d’approximer (dans le cas de l’exemple simple précédant, la fonction
binaire qui renseigne sur le fait d’aller surfer ou non). Une telle optimisation
requiert typiquement deux étapes:
Une façon de choisir nos paramètres est de les supposer aléatoires, mais
de loi connue. Ceci livre la définition suivante:
4
Definition 1.2 (Réseau neuronal aléatoire entièrement connecté).
Fixons un entier positif L ainsi que L+2 entiers positifs 𝑛0 , . . . , 𝑛 𝐿+1 ,
une fonction 𝜎 : R → R ainsi que deux constantes 𝐶𝑏 ≥ 0 et 𝐶𝑤 > 0. Un
réseau neuronal aléatoire entièrement connecté de profondeur L aux
dimensions d’entrée 𝑛0 et de sortie 𝑛 𝐿+1 , de largeurs de couches 𝑛1 , . . . , 𝑛 𝐿
et de non-linéarité 𝜎 est un réseau neuronal de la forme donnée en (1.1) où
les paramètres sont aléatoires, indépendants, mais de loi normale connue:
𝑊𝑖(𝑙) 𝐶𝑤 (𝑙)
𝑗 ∼ N (0, 𝑛𝑙−1 ), 𝑏 𝑖 ∼ N (0, 𝐶𝑏 )
Notons que le caractère aléatoire des paramètres est utile pour différentes
raisons, la principale est la diversité des paramètres qu’il permet d’obtenir.
En effet, en utilisant une distribution aléatoire, chaque neurone dans le
réseau peut commencer avec des poids différents. Cela permet d’explorer
plus efficacement l’espace des paramètres et peut conduire à une meilleure
performance du modèle.
5
du réseau avec les valeurs attendues, puis à ajuster les paramètres du réseau
de manière itérative afin de minimiser une fonction de perte ou d’erreur.
satisfaisant
( (𝑙) (𝑙)
(𝑙+1) 𝐶𝑏 + 𝐶𝑤 ⟨𝜎(𝑧𝑖;𝛼 ) , 𝜎(𝑧𝑖;𝛽 )⟩𝐾 (𝑙) 𝑙≥1
𝐾𝛼𝛽 = 𝐶𝑤
𝐶 𝑏 + 𝑛0 𝑥 𝛼 · 𝑥 𝛽 𝑙=0
(𝑙) (𝑙)
où pour 𝑔 : R2 → R nous écrivons ⟨𝑔(𝑧𝑖;𝛼 ) , 𝑔(𝑧𝑖;𝛽 )⟩𝐾 (𝑙) pour la valeur
moyenne de 𝑔 par rapport à la distribution
(𝑙) (𝑙)
!!
(𝑙) (𝑙) 𝐾 𝛼𝛼 𝐾 𝛼𝛽
(𝑧𝑖;𝛼 , 𝑧𝑖;𝛽 ) ∼ N 0, (𝑙) (𝑙)
𝐾𝛼𝛽 𝐾 𝛽𝛽
6
donc 𝐿 = 1, 𝑛0 = 2 (deux entrées), et 𝑛 𝐿+1 = 𝑛2 = 1 (une sortie). Soit
également 𝑛1 = 2 (deux neurones dans la couche cachée). Supposons aussi
que les constantes soient 𝐶𝑏 = 0 (pas de biais), et 𝐶𝑤 = 1. Pour la fonction
d’activation, utilisons la fonction linéaire 𝜎(𝑥) = 𝑥. Si nous calculons la
(2)
covariance limite 𝐾𝛼𝛽 entre les sorties des neurones de la couche de sortie
pour les entrées 𝛼 et 𝛽, nous obtenons, selon le théorème,
(2) (1) (1)
𝐾𝛼𝛽 = ⟨𝑧𝑖;𝛼 , 𝑧𝑖;𝛽 ⟩𝐾 (1)
(2)
La covariance limite 𝐾𝛼𝛽 est donc simplement proportionnelle à la co-
variance entre les sorties des neurones de la couche de sortie pour les entrées
𝛼 et 𝛽. Si nous supposons en plus que les entrées sont des variables aléa-
toires indépendantes, la covariance entre 𝑥 𝛼 et 𝑥 𝛽 est nulle. Dans ce cas, la
(2)
covariance limite 𝐾𝛼𝛽 sera également nulle.
7
moyenne comme fonction de perte, la trajectoire d’optimisation corre-
spond à celle obtenue en remplacant le réseau non-linéaire 𝑧 𝛼𝐿+1 par sa
linéarisation autour des paramètres aléatoires initiaux (poids et biais)
du réseau.
8
distances spécifiques, proportionnelles a l’inverse de la profondeur du
champ considérée.
9
2 Revue de littérature
Avant la publication de l’article "Quantitative CLTs in deep neural
networks" [1], la littérature existante avait établi les bases théoriques de
la convergence asymptotique des réseaux de neurones vers des processus
gaussiens, mais la vitesse exacte de cette convergence et les conditions spé-
cifiques n’étaient pas entièrement caractérisées. Les recherches antérieures
avaient montré que les réseaux de neurones se comportent comme des pro-
cessus gaussiens sous certaines conditions asymptotiques, mais des ques-
tions restaient sur les taux de convergence précis et les impacts des dif-
férentes structures de réseau. L’article dont il est question ici apporte des
contributions importantes en quantifiant ces taux de convergence et en clar-
ifiant les conditions nécessaires pour une convergence précise.
10
5. Empirical Validation (Zhang et al., 2021) [6] :
Les études empiriques ont montré que pour des architectures réelles
et des tailles d’échantillons finies, les réseaux de neurones peuvent se
rapprocher d’un comportement gaussien, mais avec des écarts que les
théories asymptotiques ne capturent pas toujours parfaitement.
11
3 Hypothèses et définitions
Les définitions et résultats suivants seront utilisés tout au long du travail.
Definition 3.1 (Borne polynomiale d’ordre r).
Pour 𝑟 ≥ 1 fixé, une fonction 𝜎 : R → R est bornée polynomialement à
l’ordre 𝑟 si, soit 𝜎 est 𝑟 fois continûment différentiable, soit 𝜎 est 𝑟 − 1 fois
continûment différentiable et sa (𝑟 −1)-ème dérivée est une fonction linéaire
continue par morceaux avec un nombre fini de points de discontinuité pour
sa dérivée. Dans les deux cas on demande aussi que la r-ème dérivée soit
bornée polynomialement:
𝑟
∃𝑘 ≥ 0 tel que (1 + |𝑥|) −𝑘 𝑑𝑥
𝑑
𝑟 𝜎(𝑥) 𝐿 ∞ (R)
<∞
12
Definition 3.2 (Non-dégénérescence de la matrice de covariance).
Pour 𝑟 > 1 fixé et 𝜎 borné polynomialement à l’ordre 𝑟, et A un en-
semble fini indiçant des inputs distincts du réseau,
𝑥 A = {𝑥 𝛼 : 𝛼 ∈ A} ⊆ R𝑛0
et un ensemble fini d’opérateurs de dérivées directionnelles,
Í𝑛 0
𝑉 = {𝑉1 , . . . , 𝑉𝑝 }, 𝑉 𝑗 := 𝑖=1 𝑣 𝑖 𝑗 𝜕𝑥𝑖
𝑗 𝑗
𝑉𝛼𝐽𝑖𝑖 := 𝑉1 𝑖1 . . . 𝑉𝑝𝑖 𝑝
𝑥=𝑥 𝛼𝑖
où
13
(𝑙)
𝜎(𝑧 (𝑙) (𝑙)
𝐶𝑤 Í𝑛 𝑙
Σ𝛼𝛽 := 𝐶𝑏 + 𝑛𝑙 𝑗=1 𝑗;𝛼 )𝜎(𝑧 𝑗;𝛽 )
14
4 TCL quantitatif en dimension 1
Nous présentons dans cette section le premier résultat de l’article, à
savoir le TCL quantitatif en dimension 1.
sont proches (dans un sens qui sera précisé par la suite) de ceux d’un pro-
cessus Gaussien de 𝑛 𝐿+1 composantes indépendantes et identiquement dis-
tribuées.
Nous avons donc besoin d’une notion de distance. Nous utiliserons prin-
cipalement la distance de Wasserstein définie de la façon suivante:
Definition 4.1 (Distance de Wasserstein d’ordre p).
Soit (X, 𝑑) un espace polonais (i.e. un espace métrisable à base dénom-
brable) muni de sa tribu borélienne. Soit 𝑝 ∈ [0, +∞[ et 𝜇, 𝜈 deux mesures
de probabilité sur X. La distance de Wassertein d’ordre 𝑝 entre 𝜇 et 𝜈
est:
∫ 1/𝑝
W 𝑝 (𝜇, 𝜈) := inf 𝜋∈Π(𝜇,𝜈) X×X 𝑑 (𝑥, 𝑦) 𝑝 d𝜋(𝑥, 𝑦)
15
où Π(𝜇, 𝜈) désigne l’ensemble des mesures de probabilités sur X × X
dont les lois marginales sont 𝜇 et 𝜈.
Une définition alternative est donnée par:
Definition 4.2 (Distance de Wasserstein d’ordre p - définition alternative).
Soit 𝐾 un espace de Hilbert séparable sur R, 𝑋 et 𝑌 deux éléments aléa-
toires à valeurs sur 𝐾, et 𝑝 ≥ 1 fixé. La distance de Wasserstein d’ordre
p entre les distributions de 𝑋 et 𝑌 , est définie comme étant la quantité:
𝑝 1/𝑝
W 𝑝 (𝑋, 𝑌 ) := inf (𝑇,𝑆) E[∥𝑇 − 𝑆∥ 𝐾 ]
loi loi
où l’infimum est pris sur les éléments (𝑇, 𝑆) tels que 𝑇 = 𝑋 et 𝑆 = 𝑌 .
La distance de Wasserstein est liée au problème du transport optimal, qui
consiste à transformer une mesure finie 𝜇 sur un espace X en une mesure
𝜈 sur ce même espace, moyennant une certaine fonction de coût. Lorsque
cette fonction de coût entre deux points est simplement la distance entre
ceux-ci, le coût optimal de transformation des mesures nous donne la défi-
nition de la distance de Wassertein (de premier ordre).
16
où nous avons adopté la notation de la définition 2.2. Si la structure de co-
variance {𝐾 (ℓ) } évaluée au singleton {𝑥 𝛼 } est non-dégénérée (au sens de
la définition 2.2) jusqu’à l’ordre 𝑞 = |𝐽 | ≤ 𝑟, nous obtenons les résultats
suivants:
1. Il existe 𝐶 > 0, dépendant de 𝑟, 𝑉, 𝐽, 𝑥 𝛼 , P, avec la propriété suivante:
pour tout 𝑖 = 1, . . . , 𝑛 𝐿+1 ,
n o
(𝐿+1) (𝐿+1)
max W1 (𝑉𝛼𝐽 𝑧𝑖;𝛼 , 𝑍), 𝑑𝑇𝑉 (𝑉𝛼𝐽 𝑧𝑖;𝛼 , 𝑍) ≤ 𝐶𝑛−1
Quelques remarques:
17
de dépendance en direction des dérivées pour la variable aléatoire en
question. Autrement dit, lorsque nous n’examinons pas la variation
de la covariance par rapport à différentes directions. Cette propriété
assure que, dans le cas considéré, la distance entre la sortie du réseau
neuronal et une variable aléatoire normale centrée décroît de manière
suffisamment rapide lorsque la taille du réseau neuronal augmente.
(ℓ) 2 2 (ℓ) 2
𝐾𝛼𝛼 = 𝑛0 ∥𝑥 𝛼 ∥ et 𝜕𝑥𝑖;𝛼 𝜕𝑥𝑖;𝛽 𝐾𝛼𝛽 = 𝑛0
𝛼=𝛽
18
la définition 2.1. Fixons également une collection d’entrées de réseau dis-
tinctes non nulles
𝑥 𝐴 := {𝑥 𝛼 , 𝛼 ∈ 𝐴}
et des opérateurs de dérivation directionnels {𝑉1 , . . . , 𝑉𝑝 } comme dans (2.2).
Supposons que soit 𝜎 est lisse, soit que la structure de covariance à largeur
infinie 𝐾 (ℓ) soit non dégénérée à l’ordre 𝑞 ≤ 𝑟 sur 𝑥 𝐴 par rapport à 𝑉, au
sens de la définition 2.4. Alors nous obtenons les relations asymptotiques
suivantes :
1. Pour ℓ = 1, . . . , 𝐿, tous les multi-indices 𝐽1 , 𝐽2 d’ordre au plus 𝑞, et
toutes les entrées de réseau 𝑥 𝛼1 , 𝑥 𝛼2 ∈ 𝑥 𝐴 , nous avons pour tout 𝑛 ≥ 1
max Var(𝑉𝐽1 𝛼1 𝑉𝐽2 𝛼2 Σ𝛼(ℓ)1 𝛼2 ), 𝑉𝐽1 𝛼1 𝑉𝐽2 𝛼2 E[Σ𝛼(ℓ)1 𝛼2 ] − 𝐾𝛼(ℓ+1)
1 𝛼2
≤ 𝐶𝑛−1 ,
(3.5.1)
où pour un multi-index 𝐽 = ( 𝑗1 , . . . , 𝑗 𝑝 ) nous avons utilisé la notation
(2.2) et adopté les conventions notationales
19
Preuve. La preuve du théorème étant technique nous référons le lecteur
intéressé à [12] pour plus de détails. Nous donnons ci-dessous une preuve
heuristique du résultat.
• La séquence des champs 𝑧 𝛼(ℓ) est une chaîne de Markov par rapport à
ℓ.
• Conditionnellement à l’algèbre sigma F (ℓ) définie par 𝑧 𝛼(ℓ) , le champ
𝑧 𝛼(ℓ+1) est un champ gaussien avec des composantes indépendantes
(ℓ+1)
𝑧𝑖;𝛼 .
(ℓ) (ℓ+1)
• La variance conditionnelle Σ𝛼𝛼 de chaque composante 𝑧𝑖;𝛼 dépend
de 𝑧 𝛼(ℓ) uniquement à travers des variables aléatoires de la forme
𝑛ℓ
1 ∑︁
𝑂 (ℓ)
𝑓 := (ℓ)
𝑓 (𝑧𝑖;𝛼 ).
𝑛ℓ 𝑖=1
(ℓ)
Nous étudions à présent la moyenne et la variance de Σ𝛼𝛼 . En partic-
ulier, grâce à un développement en séries de puissances, nous trouvons des
bornes en 1/𝑛 pour ces quantités.
Nous considérons dans un premier temps la fonction caractéristique (𝜉 =
(𝜉1 , . . . , 𝜉𝑚 ) sont des variables duales):
" 𝑚
!#
∑︁
(ℓ+1)
𝑝 (ℓ+1) (𝜉) := E exp −𝑖 𝜉𝑖 𝑧𝑖;𝛼
𝑖=1
20
Ensuite, en écrivant
h i h i
(ℓ) (ℓ) (ℓ) (ℓ) (ℓ)
𝜅 𝛼𝛼 := E Σ𝛼𝛼 , Δ𝛼𝛼 := Σ𝛼𝛼 −E Σ𝛼𝛼 ,
nous trouvons
(ℓ+1) 1 (ℓ) 1 2 (ℓ)
𝑝 (𝜉) := E exp − ∥𝜉 ∥ 2 Δ𝛼𝛼 exp − ∥𝜉 ∥ 𝜅 𝛼𝛼 .
2 2
Où le second terme est précisément la fonction caractéristique d’une
Gaussienne centrée m-dimensionelle avec des composants i.i.d. de variance
(ℓ)
𝜅 𝛼𝛼 . De plus, le premier terme peut s’écrire:
∑︁ h
1 (ℓ) 𝑞 (−1)
i 𝑞
2 (ℓ)
E exp − ∥𝜉 ∥ Δ𝛼𝛼 = E (Δ𝛼𝛼 ) ∥𝜉 ∥ 2𝑞
2 𝑞≥0
2 𝑞 𝑞!
(ℓ+1)
Enfin, puisque −∥𝜉 ∥ 2 représente le Laplacien dans les variables 𝑧𝑖;𝛼 ,
nous avons, pour toute fonction test raisonnable 𝑓 , que
∞
* 𝑚 +
h
(ℓ+1)
i ∑︁ 1 h
(ℓ) 𝑞
i ∑︁ 𝑞
𝜕𝑧2𝑖 ;𝛼 𝑓 𝑧𝑖;𝛼 , 𝑖 = 1, . . . , 𝑚
E 𝑓 𝑧𝑖;𝛼 , 𝑖 = 1, . . . , 𝑚 = E (Δ𝛼𝛼 )
𝑞=0
2𝑞 𝑞! 𝑖=1 (ℓ )
𝜅 𝛼𝛼
nous assure que notre expression est une série de puissance d’ordre 1/𝑛.
En particulier,
h i
(ℓ+1)
E 𝑓 𝑧𝑖;𝛼 , 𝑖 = 1, . . . , 𝑚 = E 𝑓 𝑧𝑖;𝛼 , 𝑖 = 1, . . . , 𝑚 𝜅 (ℓ )
𝛼𝛼
h i*
(ℓ) 2
E (Δ𝛼𝛼 ) 𝑚
+
∑︁ 2
𝜕𝑧2𝑖 ;𝛼 𝑓 𝑧𝑖;𝛼 , 𝑖 = 1, . . . , 𝑚
+
8 𝑖=1 (ℓ )
𝜅 𝛼𝛼
+ 𝑂 𝑛−2 . □
21
à 𝐴, la variable aléatoire 𝐹 suive une distribution gaussienne centrée avec
variance 𝐴. Alors, pour toutes fonctions 𝑓 : R → R continûment différen-
tiables et lipschitziennes et toute 𝜑 : R+ → R bornée,
2. si E( 𝐴4 ) < ∞, alors
−𝜎 2 /2 1 1 2 3
min{2𝑑𝑇𝑉 (𝐹, 𝑍); 𝑊1 (𝐹, 𝑍)} ≥ 𝑒 Var( 𝐴) − E[( 𝐴 − 𝜎 ) ] + 𝑅 ,
8 48
(3.6.4)
1 𝜎 2 /2
où |𝑅| ≤ 384 𝑒 E[( 𝐴 − 𝜎 2 ) 4 ].
Preuve. Nous commencons avec la preuve de (3.6.1). Par hypothèse,
𝐹 | 𝐴 ∼ 𝑁 (0, 𝐴), donc 𝐸 [𝐹 | 𝐴] = 0 et Var(𝐹 | 𝐴) =√𝐴. Comme 𝐹 condition-
nellement à 𝐴 est gaussien, on peut écrire 𝐹 = 𝐴𝑍 où 𝑍 ∼ 𝑁 (0, 1) est
indépendant de 𝐴. Considérons alors :
√ √
𝐸 [𝐹 𝑓 (𝐹)𝜑( 𝐴)] = 𝐸 [ 𝐴𝑍 𝑓 ( 𝐴𝑍)𝜑( 𝐴)].
Utilisant les propriétés des variables gaussiennes et la différentiation
sous l’espérance, nous avons 𝐸 [𝑍 𝑓 (𝑍)] = 𝐸 [ 𝑓 ′ (𝑍)]. Donc,
√ √ √ √ √
𝐸 [ 𝐴𝑍 𝑓 ( 𝐴𝑍)| 𝐴] = 𝐴𝐸 [𝑍 𝑓 ( 𝐴𝑍)| 𝐴] = 𝐴𝐸 [ 𝑓 ′ ( 𝐴𝑍)| 𝐴].
22
Nous nous intéressons maintenant au point 1. En utilisant le fait que la
variable aléatoire 𝐹˜ := 𝐹/𝜎 vérifie les hypothèses avec 𝐴˜ := 𝐴/𝜎 2 , on voit
qu’il suffit de considérer le cas où 𝜎 = 1. En combinant la méthode de Stein
avec le théorème de Lusin (voir [9, p. 56]) comme dans [10, Lemme 3.1,
Proposition 4.16 et Théorème 5.2], on obtient que
23
admet une solution unique bornée 𝑓𝑔 ∈ 𝐶 1 (R) telle que | 𝑓𝑔′ | ≤ 4. En
conséquence, on a
2 2 −𝜎2 /2 3
𝐴 𝜎 2 𝑒 −𝜎 /2 𝐴 𝜎 2 𝐴 𝜎2
−𝐴/2 −𝜎 2 /2 −𝜎 2 /2 𝑒
𝑒 −𝑒 = −𝑒 − + − − − +𝑅0 ,
2 2 2 2 2 6 2 2
4
1 𝐴 𝜎2
avec |𝑅0 | ≤ 24 2 − 2 , et en prenant les espérances des deux côtés.
24
Remarque 4.7. Si 𝑍1 ∼ 𝑁 (0, 𝜎12 ) et 𝑍2 ∼ 𝑁 (0, 𝜎22 ), alors [8, Proposition
3.6.1] implique que
2
𝑑𝑇𝑉 (𝑍1 , 𝑍2 ) ≤ × |𝜎12 − 𝜎22 |. (3.7.1)
𝜎12 ∨ 𝜎22
25
5 TCL quantitatif en dimension finie
Le second résultat concerne le niveau fini-dimensionnel. Nous com-
mencons par rappeler la définition de distance convexe entre deux distribu-
tions.
Definition 5.5 (Distance convexe).
Pour tout entier 𝑚 ≥ 1, la distance convexe entre les distributions de
deux vecteurs aléatoires m-dimensionnels 𝑋, 𝑌 est
26
𝐽 𝑘 (𝐿+1)
𝐺 := 𝑉𝛼𝑘 Γ𝑖;𝛼𝑘 ∈ R 𝑀×𝑛 𝐿+1
1≤𝑖≤𝑛 𝐿+1 ,(𝐽 𝑘 ,𝛼 𝑘 )∈B
(𝐿+1)
où R𝑛0 ∋ 𝑥 𝛼 ↦→ (Γ1;𝛼 , . . . , Γ𝑛(𝐿+1)
𝐿+1 ;𝛼
) est un champ aléatoire gaussien avec
covariance
(𝐿+1)
Cov Γ𝑖;𝛼 , Γ (𝐿+1)
𝑗;𝛽
(𝐿+1)
= 𝛿𝑖 𝑗 𝐾𝛼𝛽
comme défini dans le théorème 1.1. Nous obtenons alors les résultats suiv-
ants:
où
(𝐽 𝑘 ,𝛼 𝑘 )∈𝐵
𝐺 ′ := 𝑉𝛼𝐽𝑘𝑘 Γ𝑖;𝛼
′
𝑘 1≤𝑖≤𝑛 𝐿+1
∈ R 𝑀×𝑛 𝐿+1 ,
′ , ..., Γ′
et R𝑛0 ∋ 𝑥 𝛼 ↦→ (Γ1;𝛼 𝑛 𝐿+1 ;𝛼 ) est le champ gaussien centré avec covari-
ance
′ (𝐿) (𝐿+1)
Cov(Γ𝑖;𝛼 , Γ′𝑗;𝛽 ) = 𝛿𝑖 𝑗 E[Σ𝛼𝛽 ] = 𝛿𝑖 𝑗 𝜅 𝛼𝛽
27
6 Illustration du TCL quantitatif en dimension 1
Dans cette section, nous utilisons un code R afin d’illustrer le com-
portement des sorties d’un réseau de neurones simple avec une largeur
de couche finie en comparaison avec une distribution gaussienne. Nous
générons des échantillons de données i.i.d., entraînons un réseau de neu-
rones, et comparons ses sorties à celles d’une variable gaussienne ayant la
même moyenne et écart-type. Notons que la taille d’échantillons et le nom-
bre de couches du réseau varient pour chaque réseau.
Nous utilisons des histogrammes pour visualiser la distribution des sor-
ties du réseau et des variables gaussiennes, et nous calculons nos deux
mesures clés pour quantifier la proximité entre ces deux distributions :
28
Figure 3: Histogramme des sorties du réseau de neurones vs variables gaussiennes,
n=1000.
29
Les distances de Variation Totale et de Wasserstein pour nos 3 tailles
d’échantillons sont reprises dans le tableau suivant.
30
7 Annexe
Code R utilisé pour générer les histogrammes de la section 5.
1 # Installer et charger les packages necessaires
2 if (!requireNamespace("nnet", quietly = TRUE)) {
3 install.packages("nnet")
4 }
5 if (!requireNamespace("ggplot2", quietly = TRUE)) {
6 install.packages("ggplot2")
7 }
8 if (!requireNamespace("transport", quietly = TRUE)) {
9 install.packages("transport")
10 }
11 library(nnet)
12 library(ggplot2)
13 library(transport)
14
15 # Fonction pour executer l analyse et creer les histogrammes
16 run_analysis <- function(n_samples) {
17 # Parametres
18 n_features <- 30 # Nombre de variables i.i.d
19
20 # Determiner la taille de la couche du reseau neuronal en
fonction de la taille de l’echantillon
21 # Utiliser un seuil raisonnable pour la taille des couches
22 max_layer_size <- 20 # Taille maximale de la couche
23 layer_size <- min(n_samples / 50, max_layer_size) # Ajuster la
taille en fonction de l’echantillon
24
25 # Generer des donnees i.i.d.
26 set.seed(123)
27 X <- matrix(rnorm(n_samples * n_features), nrow = n_samples,
ncol = n_features)
28 Y <- rnorm(n_samples)
29
30 # Construire un reseau de neurones simple avec la taille de
reseau determinee (la fonction nnet ajuste les parametres du
reseau en utilisant un algorithme d optimisation pour
minimiser l erreur entre les sorties predites et les valeurs
cibles
31 model <- nnet(X, Y, size = layer_size, linout = TRUE, maxit =
100)
32
33 # Obtenir la sortie du modele (le modele ajuste est applique aux
nouvelles donnees pour generer des predictions)
34 outputs <- predict(model, X)
35
36 # Calculer les variables aleatoires gaussiennes
37 output_mean <- mean(outputs)
38 output_sd <- sd(outputs)
39 Z <- rnorm(n_samples, mean = output_mean, sd = output_sd)
40
41 # Determiner les breaks pour les histogrammes
31
42 breaks <- seq(min(c(outputs, Z)), max(c(outputs, Z)), length.out
= 31)
43
44 # Calculer les histogrammes
45 hist_nn <- hist(outputs, breaks = breaks, plot = FALSE)
46 hist_gaussian <- hist(Z, breaks = breaks, plot = FALSE)
47
48 # Normaliser les histogrammes
49 hist_nn_density <- hist_nn$counts / sum(hist_nn$counts)
50 hist_gaussian_density <- hist_gaussian$counts / sum(hist_
gaussian$counts)
51
52 # Fonction pour calculer la distance de variation totale
53 total_variation_distance <- function(hist1, hist2) {
54 0.5 * sum(abs(hist1 - hist2))
55 }
56
57 # Calculer la distance de Wasserstein
58 w1_distance <- wasserstein1d(as.vector(outputs), Z)
59
60 # Calculer la distance de variation totale
61 dT_distance <- total_variation_distance(hist_nn_density, hist_
gaussian_density)
62
63 # Tracer les histogrammes
64 df <- data.frame(
65 values = c(as.vector(outputs), Z),
66 type = rep(c("Neural Network Outputs", "Gaussian Variables"),
each = n_samples)
67 )
68
69 plot <- ggplot(df, aes(x = values, fill = type)) +
70 geom_histogram(position = "identity", alpha = 0.5, bins =
length(breaks) - 1) +
71 labs(title = sprintf("Histogramme des sorties du reseau de
neurones vs. Variables gaussiennes (n = %d)", n_samples),
72 x = "Valeur", y = "Frequence") +
73 theme_minimal()
74
75 return(list(plot = plot, w1_distance = w1_distance, dT_distance
= dT_distance))
76 }
77
78 # Executer l analyse pour differents nombres d observations
79 results_500 <- run_analysis(500)
80 results_1000 <- run_analysis(1000)
81 results_2000 <- run_analysis(2000)
82
83 # Afficher les histogrammes
84 print(results_500$plot)
85 print(results_1000$plot)
86 print(results_2000$plot)
87
88 # Sauvegarder les histogrammes dans des fichiers separes
32
89 ggsave("histogram_500.png", plot = results_500$plot, width = 8,
height = 6)
90 ggsave("histogram_1000.png", plot = results_1000$plot, width = 8,
height = 6)
91 ggsave("histogram_2000.png", plot = results_2000$plot, width = 8,
height = 6)
92
93 # Imprimer les distances
94 cat(sprintf("Pour n = 500:\n"))
95 cat(sprintf("Distance de Wasserstein: %.4f\n", results_500$w1_
distance))
96 cat(sprintf("Distance de variation totale: %.4f\n", results_500$dT
_distance))
97 cat(sprintf("Pour n = 1000:\n"))
98 cat(sprintf("Distance de Wasserstein: %.4f\n", results_1000$w1_
distance))
99 cat(sprintf("Distance de variation totale: %.4f\n", results_1000$
dT_distance))
100 cat(sprintf("Pour n = 2000:\n"))
101 cat(sprintf("Distance de Wasserstein: %.4f\n", results_2000$w1_
distance))
102 cat(sprintf("Distance de variation totale: %.4f\n", results_2000$
dT_distance))
33
8 Bibliographie
[1] Stefano Favaro, Boris Hanin, Domenico Marinucci, Ivan Nourdin,
Giovanni Peccati: “Quantitative CLTs in Deep Neural Networks”,
2023; arXiv:2307.06092.
[2] Neal, R. M., "Bayesian Learning for Neural Networks". PhD Thesis,
University of Toronto, 1996.
[3] Lee, J., Lin, H., "A Feature Space Perspective on the Convergence of
Deep Neural Networks", dans Proceedings of the 35th International
Conference on Machine Learning (Vol. 80, pp. 2921-2930), 2018.
[4] Novak, R., Poole, B., Bartlett, P., "Bayesian Convergence of Neural
Networks: Empirical Evidence", dans Proceedings of the 35th Inter-
national Conference on Machine Learning (Vol. 80, pp. 1005-1014),
2018.
[5] Chizat, L., Bach, F., Alaya, L., "The Convergence Rate of Neural
Networks to Gaussian Processes", dans Proceedings of the 37th Inter-
national Conference on Machine Learning (Vol. 119, pp. 1727-1737),
2020.
[6] Zhang, Y., Han, Z., Lin, X., "Empirical Validation of Gaussian Pro-
cess Approximations in Neural Networks", dans Proceedings of the
38th International Conference on Machine Learning (Vol. 139, pp.
1596-1606), 2021.
[7] Boris Hanin: “Random fully connected neural networks as perturba-
tively solvable hierarchies”, 2022; arXiv:2204.01058.
[8] Ivan Nourdin, Giovanni Peccati: "The optimal fourth moment theo-
rem." Proceedings of the American Mathematical Society, 2015, 145(7):3123–3133.
[9] Walter Rudin: "Real and complex analysis", McGraw-Hill Book Co.,
New York, third edition, 1987
[10] Ivan Nourdin: "Lectures on Gaussian approximations with Malliavin
calculus", dans Séminaire de probabilités XLV, pages 3–89. Cham:
Springer, 2013.
[11] Ivan Nourdin and Giovanni Peccati, "Normal approximations with
Malliavin calculus: from Stein’s method to universality", volume 192.
Cambridge University Press, 2012.
[12] Ivan Nourdin and Giovanni Peccati: "The optimal fourth moment the-
orem", Proceedings of the American Mathematical Society, 145(7):3123–3133,
2015.
34