]> AND Private Git Repository - hdrcouchot.git/blob - chaosANN.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
tt
[hdrcouchot.git] / chaosANN.tex
1 % \section{Introduction}
2 % \label{S1}
3
4 Les réseaux de neurones chaotiques ont été étudiés à de maintes reprises 
5 par le passé en raison notamment de leurs applications potentielles:
6 %les mémoires associatives~\cite{Crook2007267}  
7 les  composants utiles à la  sécurité comme les fonctions de 
8 hachage~\cite{Xiao10},
9 le tatouage numérique~\cite{1309431,Zhang2005759}
10 ou les schémas de chiffrement~\cite{Lian20091296}.  
11 Dans tous ces cas, l'emploi de fonctions chaotiques est motivé par 
12 leur comportement imprévisible et proche de l'aléa. 
13
14
15 Les réseaux de neurones chaotiques peuvent être conçus selon plusieurs 
16 principes. Des neurones modifiant leur état en suivant une fonction non 
17 linéaire son par exemple appelés neurones chaotiques~\cite{Crook2007267}.
18 L'architecture de réseaux de neurones de type Perceptron multi-couches
19 (MLP) n'itèrent quant à eux, pas nécessairement de fonctions chaotiques.
20 Il a cependant été démontré  que ce sont des approximateurs 
21 universels~\cite{Cybenko89,DBLP:journals/nn/HornikSW89}.   
22 Ils permettent, dans certains cas, de simuler des comportements 
23 physiques chaotiques comme le  circuit de Chua~\cite{dalkiran10}.  
24 Parfois~\cite{springerlink:10.1007/s00521-010-0432-2},
25 la fonction de transfert de cette famille de réseau celle 
26 d'initialisation sont toutes les deux définies à l'aide de 
27 fonctions chaotiques. 
28
29
30
31
32
33 Ces réseaux de neurones partagent le fait qu'ils sont qualifiés de 
34 ``chaotiques'' sous prétexte qu'ils embarquent une fonction de ce type 
35 et ce sans aucune preuve rigoureuse. Ce chapitre caractérise la 
36 classe des réseaux de neurones MLP chaotiques. Il  
37 s'intéresse ensuite à l'étude de prévisibilité de systèmes dynamiques
38 discrets chaotiques par cette famille de MLP.
39
40 \JFC{revoir plan}
41
42 The remainder of this research  work is organized as follows. The next
43 section is devoted to the basics of Devaney's chaos.  Section~\ref{S2}
44 formally  describes  how  to  build  a neural  network  that  operates
45 chaotically.  Section~\ref{S3} is devoted to the dual case of checking
46 whether  an existing neural  network is  chaotic or  not.  Topological
47 properties of chaotic neural networks are discussed in Sect.~\ref{S4}.
48 The  Section~\ref{section:translation}  shows  how to  translate  such
49 iterations  into  an Artificial  Neural  Network  (ANN),  in order  to
50 evaluate the  capability for this  latter to learn  chaotic behaviors.
51 This  ability  is  studied in  Sect.~\ref{section:experiments},  where
52 various ANNs try to learn two  sets of data: the first one is obtained
53 by chaotic iterations while the  second one results from a non-chaotic
54 system.  Prediction success rates are  given and discussed for the two
55 sets.  The paper ends with a conclusion section where our contribution
56 is summed up and intended future work is exposed.
57
58
59 \section{Un réseau de neurones chaotique au sens de Devaney}
60 \label{S2}
61
62 On considère une fonction 
63 $f:\Bool^n\to\Bool^n$ telle que  $\textsc{giu}(f)$ est fortement connexe.
64 Ainsi $G_{f_u}$ est chaotique d'après le théorème~\ref{Th:CaracIC}.
65
66 On considère ici le schéma unaire défini par l'équation (\ref{eq:asyn}).
67 On construit un Perceptron multi-couches associé à la fonction  
68 $F_{f_u}$. 
69 Plus précisément, pour chaque entrée 
70  $(x,s)   \in  \mathds{B}^n \times [n]$,
71 la couche de sortie doit générer $F_{f_u}(x,s)$.   
72 On peut ainsi lier la couche de sortie avec celle d'entrée pour représenter 
73 les dépendance entre deux itérations successives.
74 On obtient une réseau de neurones dont le comportement est le suivant 
75 (voir Figure.~\ref{Fig:perceptron}):
76
77 \begin{itemize}
78 \item   Le réseau est initialisé avec le vecteur d'entrée
79   $\left(x^0,S^0\right)  \mathds{B}^n \times [n]$      
80   et calcule le  vecteur de sortie 
81   $x^1=F_{f_u}\left(x^0,S^0\right)$. 
82   Ce vecteur est publié comme une sortie et est aussi retournée sur la couche d'entrée 
83   à travers les liens de retours.
84 \item Lorsque le réseau est  activé à la $t^{th}$  itération, l'état du 
85   système $x^t  \in \mathds{B}^n$ reçu depuis la couche de sortie ainsi que le 
86   premier terme de la  séquence $(S^t)^{t  \in \Nats}$
87   (\textit{i.e.},  $S^0  \in [n]$)  servent à construire le nouveau vecteur de sortie.
88   Ce nouveau vecteur, qui représente le nouvel état du système dynamique, satisfait:
89   \begin{equation}
90     x^{t+1}=F_{f_u}(x^t,S^0) \in \mathds{B}^n \enspace .
91   \end{equation}
92 \end{itemize}
93
94 \begin{figure}
95   \centering
96   \includegraphics[scale=0.625]{images/perceptron}
97   \caption{Un Perceptron équivalent  aux itérations unitaires}
98   \label{Fig:perceptron}
99 \end{figure}
100
101 Le comportement de ce réseau de neurones est tel que lorsque l'état 
102 initial est composé de $x^0~\in~\mathds{B}^n$ et d'une séquence
103  $(S^t)^{t  \in \Nats}$, alors la séquence  contenant les vecteurs successifs 
104 publiés $\left(x^t\right)^{t \in \mathds{N}^{\ast}}$ est exactement celle produite 
105 par les itérations unaires décrites à la section~\ref{sec:TIPE12}.
106 Mathématiquement, cela signifie que si on utilise les mêmes vecteurs d'entrées
107 les deux approches génèrent successivement les mêmes sorties.
108 En d'autres termes ce réseau de neurones modélise le comportement de  
109 $G_{f_u}$,  dont les itérations sont chaotiques sur $\mathcal{X}_u$.
110 On peut donc le  qualifier de chaotique au sens de Devaney.
111
112 \section{Vérifier si un réseau de neurones est chaotique}
113 \label{S3}
114 On s'intéresse maintenant au cas où l'on dispose d'un
115 réseau de neurones de type Perceptron multi-couches
116 dont on cherche à savoir s'il est chaotique (parce qu'il a par exemple été 
117 déclaré comme tel) au sens de Devaney. 
118 On considère de plus que sa topologie est la suivante:
119 l'entrée est constituée de  $n$ bits et un entier, la sortie est constituée de $n$ bits
120 et chaque sortie est liée à une entrée par une boucle.
121
122 \begin{itemize}
123 \item Le réseau est initialisé avec  $n$~bits
124    $\left(x^0_1,\dots,x^0_n\right)$ et une valeur entière $S^0 \in [n]$.
125 \item  A l'itération~$t$,     le vecteur 
126   $\left(x^t_1,\dots,x^t_n\right)$  permet de construire les $n$~bits 
127   servant de sortie $\left(x^{t+1}_1,\dots,x^{t+1}_n\right)$.
128 \end{itemize}
129
130 Le comportement de ce type de réseau de neurones peut être prouvé comme 
131 étant chaotique en suivant la démarche énoncée maintenant.
132 On nomme tout d'abord $F:    \mathds{B}^n  \times [n] \rightarrow
133 \mathds{B}^n$     la      fonction qui associe  
134 au vecteur 
135 $\left(\left(x_1,\dots,x_n\right),s\right)    \in   \mathds{B}^n \times[n]$ 
136 le vecteur 
137 $\left(y_1,\dots,y_n\right)       \in       \mathds{B}^n$, où
138 $\left(y_1,\dots,y_n\right)$  sont les sorties du réseau neuronal
139 après l'initialisation de la couche d'entrée avec 
140 $\left(s,\left(x_1,\dots, x_n\right)\right)$.  Ensuite, on définie $f:
141 \mathds{B}^n       \rightarrow      \mathds{B}^n$  telle que 
142 $f\left(x_1,x_2,\dots,x_n\right)$ est égal à 
143 \begin{equation}
144 \left(F\left(\left(x_1,x_2,\dots,x_n\right),1\right),\dots,
145   F\left(\left(x_1,x_2,\dots,x_n\right)\right),n\right) \enspace .
146 \end{equation}
147 Ainsi pour chaque $j$, $1 \le j \le n$, on a 
148 $f_j\left(x_1,x_2,\dots,x_n\right) = 
149 F\left(\left(x_1,x_2,\dots,x_n\right),j\right)$.
150 Si ce réseau de neurones est initialisé avec 
151 $\left(x_1^0,\dots,x_n^0\right)$   et $S   \in    [n]^{\mathds{N}}$, 
152 il produit exactement les même sorties que les itérations de  $F_{f_u}$ avec une 
153 condition initiale $\left((x_1^0,\dots,  x_n^0),S\right)  \in  \mathds{B}^n \times [n]^{\mathds{N}}$.
154 Les itérations de $F_{f_u}$ 
155 sont donc un modèle formel de cette classe de réseau de neurones.
156 Pour vérifier si un de ces représentants est chaotique, il suffit ainsi 
157 de vérifier si le graphe d'itérations
158 $\textsc{giu}(f)$ est fortement connexe.
159
160
161 \section{Un réseau de neurones peut-il approximer
162 des itération unaires chaotiques?}
163
164 Cette section s'intéresse à étudier le comportement d'un réseau de neurones 
165 face à des itérations unaires chaotiques, comme définies à 
166 la section~\ref{sec:TIPE12}.
167 Plus précisément, on considère dans cette partie une fonction  dont le graphe 
168 des itérations unaires est fortement connexe et une séquence dans 
169 $[n]^{\mathds{N}}$. On cherche à construire un réseau de neurones
170 qui approximerait les itérations de la fonction $G_{f_u}$ comme définie 
171 à l'équation~(\ref{eq:sch:unaire}).
172
173 Sans perte de généralité, on considère dans ce qui suit une instance
174 de de fonction à quatre éléments.
175
176 \subsection{Construction du réseau} 
177 \label{section:translation}
178
179 On considère par exemple les deux fonctions $f$ and $g$ de $\Bool^4$
180 dans $\Bool^4$ définies par:
181
182 \begin{eqnarray*}
183 f(x_1,x_2,x_3,x_4) &= &
184 (x_1(x_2+x_4)+ \overline{x_2}x_3\overline{x_4},
185 x_2,
186 x_3(\overline{x_1}.\overline{x_4}+x_2x_4+x_1\overline{x_2}),
187 x_4+\overline{x_2}x_3) \\
188 g(x_1,x_2,x_3,x_4) &= &
189 (\overline{x_1},
190 \overline{x_2}+ x_1.\overline{x_3}.\overline{x_4},
191 \overline{x_3}(x_1 + x_2+x_4),
192 \overline{x_4}(x_1 + \overline{x_2}+\overline{x_3}))
193 \end{eqnarray*}
194 On peut vérifier facilement que le graphe $\textsc{giu}(f)$ 
195 n'est pas fortement connexe car $(1,1,1,1)$ est un point fixe de $f$
196 tandis que le graphe $\textsc{giu}(g)$ l'est.   
197
198 L'entrée du réseau est une paire de la forme 
199 $(x,(S^t)^{t  \in  \Nats})$ et sa sortie correspondante est
200 de la forme  $\left(F_{h_u}(S^0,x), \sigma((S^t)^{t          \in
201   \Nats})\right)$ comme définie à l'équation~(\ref{eq:sch:unaire}).
202
203 On s'intéresse d'abord aux différentes manières de  
204 mémoriser des configurations. On en considère deux principalement.
205 Dans le premier cas, on considère une entrée booléenne par élément
206 tandis que dans le second cas, les configurations  sont mémorisées comme 
207 des entiers naturels. Dans ce dernier cas, une approche naïve pourrait 
208 consister à attribuer à chaque configuration de $\Bool^n$ 
209 l'entier naturel naturel correspondant.
210 Cependant, une telle représentation rapproche 
211 arbitrairement des configurations diamétralement
212 opposées dans le $n$-cube comme  une puissance de
213 deux et la configuration immédiatement précédente: 10000 serait modélisée 
214 par 16 et  et 01111 par 15 alors que leur distance de Hamming est 15.
215 De manière similaire, ce codage éloigne des configurations qui sont 
216 très proches: par exemple 10000 et 00000 ont une distance de Hamming 
217 de 1 et sont respectivement représentées par 16 et 0.
218 Pour ces raisons, le codage retenu est celui des codes de Gray~\cite{Gray47}.
219
220 Concentrons nous sur la traduction de la stratégie.
221 Il n'est naturellement pas possible de traduire une stratégie 
222 infinie quelconque à l'aide d'un nombre fini d'éléments.
223 On se restreint donc à des stratégies de taille 
224 $l \in \llbracket 2,k\rrbracket$, où $k$ est un paramètre défini
225 initialement. 
226 Chaque stratégie est mémorisée comme un entier naturel exprimé en base 
227 $n+1$: à chaque itération, soit aucun élément n'est modifié, soit un 
228 élément l'est. 
229 Enfin, on donne une dernière entrée: $m  \in \llbracket
230 1,l-1\rrbracket$, qui est le nombre d'itérations successives que l'on applique 
231 en commençant à $x$. 
232 Les sorties (stratégies et configurations) sont mémorisées 
233 selon les mêmes règles.
234
235 Concentrons nous sur la complexité du problème.
236 Chaque entrée, de l'entrée-sortie de l'outil est un triplet 
237 composé d'une configuration $x$, d'un extrait  $S$ de la stratégie à 
238 itérer de taille $l \in \llbracket 2, k\rrbracket$ et d'un nombre $m \in  \llbracket 1, l-1\rrbracket$ d'itérations à exécuter.
239 Il y a  $2^n$  configurations $x$ et  $n^l$ stratégies de
240 taille $l$. 
241 De plus, pour une  configuration donnée, il y a 
242 $\omega = 1 \times n^2 +  2 \times n^3 + \ldots+ (k-1) \times n^k$
243 manières d'écrire le couple $(m,S)$. Il n'est pas difficile d'établir que 
244 \begin{equation}
245 \displaystyle{(n-1) \times \omega = (k-1)\times n^{k+1} - \sum_{i=2}^k n^i} \nonumber
246 \end{equation}
247 donc
248 \begin{equation}
249 \omega =
250 \dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2} \enspace . \nonumber
251 \end{equation}
252 \noindent
253 Ainsi le nombre de paire d'entrée-sortie pour les réseaux de neurones considérés
254 est 
255 $$
256 2^n \times \left(\dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2}\right) \enspace .
257 $$
258 Par exemple, pour $4$   éléments binaires et une stratégie d'au plus 
259 $3$~termes on obtient 2304 couples d'entrée-sortie.
260
261 \subsection{Expérimentations}
262 \label{section:experiments}
263 On se focalise dans cette section sur l'entraînement d'un Perceptron 
264 multi-couches pour apprendre des itérations chaotiques. Ce type de réseau
265 ayant déjà été évalué avec succès dans la prédiction de 
266 séries chaotiques temporelles. En effet, les auteurs de~\cite{dalkiran10} 
267 ont montré qu'un MLP pouvait apprendre la dynamique du circuit de Chua.
268 Ce réseau avec rétropropagation est composé de  deux couches 
269 et entraîné à l'aide d'une  propagation arrière Bayesienne.
270
271 Le choix de l'architecture du réseau ainsi que de la méthode d'apprentissage 
272 ont été détaillé dans~\cite{bcgs12:ij}.
273 En pratique, nous avons considéré des configurations de
274 quatre éléments booléens 
275 et une stratégie fixe de longueur 3.
276 Pour le premier codage, nous avons ainsi 6~entrées et 5~sorties
277 tandis que pour le second, uniquement  3 entrées et 2 sorties.
278 Cela engendre ainsi 2304~combinaisons possibles comme détaillé à la 
279 section précédente.
280
281
282
283 \begin{table}[htbp!]
284 \centering {\small
285 \begin{tabular}{|c|c||c|c|c|}
286 \hline 
287 \multicolumn{5}{|c|}{Topologie du réseau: 6~entrées, 5~sorties, 1~couche cachée} \\
288 \hline
289 \hline
290 \multicolumn{2}{|c||}{Neurones cachés} & \multicolumn{3}{c|}{10 neurones} \\
291 \cline{3-5} 
292 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ 
293 \hline
294 \multirow{6}{*}{\rotatebox{90}{Chaotique $g$ }}&Entrée~(1) & 90.92\% & 91.75\% & 91.82\% \\ 
295 & Entrée~(2) & 69.32\% & 78.46\% & 82.15\% \\
296 & Entrée~(3) & 68.47\% & 78.49\% & 82.22\% \\
297 & Entrée~(4) & 91.53\% & 92.37\% & 93.4\% \\
298 & Config. & 36.10\% & 51.35\% & 56.85\% \\
299 & Stratégie~(5) & 1.91\% & 3.38\% & 2.43\% \\
300 \hline
301 \multirow{6}{*}{\rotatebox{90}{Non-chaotic $f$}}&Entrée~(1) & 97.64\% & 98.10\% & 98.20\% \\
302 & Entrée~(2) & 95.15\% & 95.39\% & 95.46\% \\
303 & Entrée~(3) & 100\% & 100\% & 100\% \\
304 & Entrée~(4) & 97.47\% & 97.90\% & 97.99\% \\
305 & Config. & 90.52\% & 91.59\% & 91.73\% \\
306 & Stratégie~(5) & 3.41\% & 3.40\% & 3.47\% \\
307 \hline
308 \hline
309 \multicolumn{2}{|c||}{Neurones cachés} & \multicolumn{3}{c|}{25 neurones} \\
310 \cline{3-5} \\%& \multicolumn{3}{|c|}{40 neurons} \\
311 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ %& 125 & 250 & 500 \\ 
312 \hline
313 \multirow{6}{*}{\rotatebox{90}{Chaotique $g$}}&Entrée~(1) & 91.65\% & 92.69\% & 93.93\% \\ %& 91.94\% & 92.89\% & 94.00\% \\
314 & Entrée~(2) & 72.06\% & 88.46\% & 90.5\% \\ %& 74.97\% & 89.83\% & 91.14\% \\
315 & Entrée~(3) & 79.19\% & 89.83\% & 91.59\% \\ %& 76.69\% & 89.58\% & 91.84\% \\
316 & Entrée~(4) & 91.61\% & 92.34\% & 93.47\% \\% & 82.77\% & 92.93\% & 93.48\% \\
317 & Config. & 48.82\% & 67.80\% & 70.97\% \\%& 49.46\% & 68.94\% & 71.11\% \\
318 & Stratégie~(5) & 2.62\% & 3.43\% & 3.78\% \\% & 3.10\% & 3.10\% & 3.03\% \\
319 \hline
320 \multirow{6}{*}{\rotatebox{90}{Non-chaotique $f$}}&Entrée~(1) & 97.87\% & 97.99\% & 98.03\% \\ %& 98.16\% \\
321 & Entrée~(2) & 95.46\% & 95.84\% & 96.75\% \\ % & 97.4\% \\
322 & Entrée~(3) & 100\% & 100\% & 100\% \\%& 100\% \\
323 & Entrée~(4) & 97.77\% & 97.82\% & 98.06\% \\%& 98.31\% \\
324 & Config. & 91.36\% & 91.99\% & 93.03\% \\%& 93.98\% \\
325 & Stratégie~(5) & 3.37\% & 3.44\% & 3.29\% \\%& 3.23\% \\
326 \hline
327 \end{tabular}
328 }
329 \caption{Taux de prédiction lorsque les configurations sont exprimées comme un vecteur booléen.}
330 \label{tab1}
331 \end{table}
332 Le tableau~\ref{tab1} synthétise les résultats obtenus avec le premier 
333 codage. Sans surprise, la précision de la prédiction croit 
334 avec l'Epoch et le nombre de neurones sur la couche cachée.
335 Dans tous les cas, les résultats sont plus précis dans le cas non 
336 chaotique que dans l'autre. Enfin, le réseau ne parvient jamais à
337 apprendre le comportement de la stratégie.
338
339 \begin{table}[b]
340 \centering
341 \begin{tabular}{|c|c||c|c|c|}
342 \hline 
343 \multicolumn{5}{|c|}{Topologie du réseau: 3~entrées, 2~sorties, 1~couche cachée} \\
344 \hline
345 \hline
346 & Neurones cachés & \multicolumn{3}{c|}{10 neurones} \\
347 \cline{2-5}
348 & Epochs & 125 & 250 & 500 \\ %& 1000 
349 \hline
350 \multirow{2}{*}{Chaotique $g$}& Config.~(1) & 13.29\% & 13.55\% & 13.08\% \\ %& 12.5\%
351 & Stratégie~(2) & 0.50\% & 0.52\% & 1.32\% \\ %& 1.42\%
352 \hline
353 \multirow{2}{*}{Non-Chaotique $f$}&Config.~(1) & 77.12\% & 74.00\% & 72.60\% \\ %& 75.81\% 
354 & Stratégie~(2) & 0.42\% & 0.80\% & 1.16\% \\ %& 1.42\% 
355 \hline
356 \hline
357 & Neurones cachés& \multicolumn{3}{c|}{25 neurones} \\
358 \cline{2-5}
359 & Epochs & 125 & 250 & 500 \\ %& 1000 
360 \hline
361 \multirow{2}{*}{Chaotique $g$ }& Config.~(1) & 12.27\% & 13.15\% & 13.05\% \\ %& 15.44\%
362 & Stratégie~(2) & 0.71\% & 0.66\% & 0.88\% \\ %& 1.73\%
363 \hline
364 \multirow{2}{*}{Non-Chaotique $f$}&Config.~(1) & 73.60\% & 74.70\% & 75.89\% \\ %& 68.32\%
365 & Stratégie~(2) & 0.64\% & 0.97\% & 1.23\% \\ %& 1.80\%
366 \hline
367 \end{tabular}
368 \caption{Taux de prédiction lorsque les configurations sont exprimées 
369 à l'aide de codes de Gray.}
370 \label{tab2}
371 \end{table}
372
373
374
375 Les résultats concernant le second codage  (\textit{i.e.},  avec les codes
376 de   Gray) sont synthétisés dans le tableau~\ref{tab2}. On constate 
377 que le réseau apprend cinq fois mieux les comportement non chaotiques
378 que ceux qui le sont. Ceci est est illustré au travers des 
379 figures~\ref{Fig:chaotic_predictions} et~\ref{Fig:non-chaotic_predictions}.
380 De plus, comme dans le codage précédent, les stratégies ne peuvent pas être 
381 prédites.  
382 On constate que ce second codage réduit certes le nombre de sorties, mais est 
383 largement moins performant que le premier.
384 On peut expliquer ceci par le fait
385 que ce second codage garantit que deux entiers successifs correspondent 
386 à deux configurations voisines, \textit{i.e.}, qui ne diffèrent que d'un 
387 élément.
388 La réciproque n'est cependant pas établie et deux configurations voisines
389 peuvent être traduites par des entiers très éloignés et ainsi difficiles 
390  à apprendre. 
391
392
393 \begin{figure}[ht]
394   \begin{center}
395     \subfigure[Fonction chaotique $g$]{
396       \begin{minipage}{0.48\textwidth}
397         \begin{center}
398           \includegraphics[scale=0.37]{images/chaotic_trace2}
399         \end{center}
400       \end{minipage}
401       \label{Fig:chaotic_predictions}
402     }
403     \subfigure[Fonction non-chaotique $f$]{
404       \begin{minipage}{0.48\textwidth}
405         \begin{center}
406           \includegraphics[scale=0.37]{images/non-chaotic_trace2} 
407         \end{center}
408       \end{minipage}
409       \label{Fig:non-chaotic_predictions}
410     }
411   \end{center}
412   \caption {Prédiction lorsque les configurations sont exprimées 
413 à l'aide de codes de Gray.}
414 \end{figure}
415
416
417 \section{Conclusion}
418 Dans ce chapitre, nous avons établi une similitude entre les itérations 
419 chaotiques et une famille  de Perceptrons multi-couches.
420 Nous avons d'abord montré comment  construire un réseau de neurones 
421 ayant un comportement chaotique.
422 Nous avons présenté ensuite comment vérifier si un réseau de neurones 
423 établi était chaotique.
424 Nous avons enfin montré en pratique qu'il est difficile pour un 
425 réseau de neurones d'apprendre le comportement global d'itérations
426 chaotiques.
427 % \appendix{}
428
429 % \begin{Def} \label{def2}
430 % A continuous function $f$  on a topological space $(\mathcal{X},\tau)$
431 % is defined  to be  {\emph{topologically transitive}}  if for any  pair of
432 % open  sets $U$,  $V  \in  \mathcal{X}$ there  exists  
433 % $k \in
434 % \mathds{N}^{\ast}$
435 %  such  that
436 % $f^k(U) \cap V \neq \emptyset$.
437 % \end{Def}
438
439 %\bibliography{chaos-paper}% Produces the bibliography via BibTeX.
440
441 %\end{document}
442 %
443 % ****** End of file chaos-paper.tex ******