1 % \section{Introduction}
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 utils à la sécurité comme les fonctions de
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évisibile et proche de l'aléa.
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'iterent quant à eux, pas nécesssairement 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
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.
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.
59 \section{Un réseau de neurones chaotique au sens de Devaney}
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}.
66 On considère ici le schéma unaire défini par l'équation (\ref{eq:asyn}).
67 On construit un perceptron multi-couche associé à la fonction
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}):
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 sequence $(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:
90 x^{t+1}=F_{f_u}(x^t,S^0) \in \mathds{B}^n \enspace .
96 \includegraphics[scale=0.625]{images/perceptron}
97 \caption{Un perceptron équivalent aux itérations unitaires}
98 \label{Fig:perceptron}
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.
112 \section{Vérifier si un réseau de neurones est chaotique}
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.
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)$.
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
135 $\left(\left(x_1,\dots,x_n\right),s\right) \in \mathds{B}^n \times[n]$
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 à
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 .
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.
161 \section{Un réseau de neurones peut-il approximer un
162 des itération unaires chaotiques?}
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écésment, 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}).
173 Sans perte de généralité, on considère dans ce qui suit une instance
174 de de fonction à quatre éléments.
176 \subsection{Construction du réseau}
177 \label{section:translation}
179 On considère par exemple les deux fonctions $f$ and $g$ de0 $\Bool^4$
180 dans $\Bool^4$ définies par:
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},
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) &= &
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}))
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.
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}).
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 alros 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}.
220 Concentrons nous sur la traduction de la stratégie.
221 Il n'est naturellement pas possible de traduire une stragté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 parametre défini
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
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
232 Les sorties (stratégies et configurations) sont mémorisées
233 selon les mêmes règles.
235 Concentrons nous sur la complexité du problèmew.
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
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
245 \displaystyle{(n-1) \times \omega = (k-1)\times n^{k+1} - \sum_{i=2}^k n^i} \nonumber
250 \dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2} \enspace . \nonumber
253 Ainsi le nombre de paire d'entrée-sortie pour les réseaux de neurones considérés
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 .
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-sorties.
261 \subsection{Expérimentations}
262 \label{section:experiments}
263 On se focalise dans cette section sur l'entraînement d'un perceptron
264 multi-couche 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 entrainé à l'aide d'une propagation arrière Bayesienne.
271 In these experiments we consider MLPs having one hidden layer of
272 sigmoidal neurons and output neurons with a linear activation
273 function. They are trained using the Limited-memory
274 Broyden-Fletcher-Goldfarb-Shanno quasi-newton algorithm in combination
275 with the Wolfe linear search. The training process is performed until
276 a maximum number of epochs is reached. To prevent overfitting and to
277 estimate the generalization performance we use holdout validation by
278 splitting the data set into learning, validation, and test subsets.
279 These subsets are obtained through random selection such that their
280 respective size represents 65\%, 10\%, and 25\% of the whole data set.
282 Several neural networks are trained for both iterations coding
283 schemes. In both cases iterations have the following layout:
284 configurations of four components and strategies with at most three
285 terms. Thus, for the first coding scheme a data set pair is composed
286 of 6~inputs and 5~outputs, while for the second one it is respectively
287 3~inputs and 2~outputs. As noticed at the end of the previous section,
288 this leads to data sets that consist of 2304~pairs. The networks
289 differ in the size of the hidden layer and the maximum number of
290 training epochs. We remember that to evaluate the ability of neural
291 networks to predict a chaotic behavior for each coding scheme, the
292 trainings of two data sets, one of them describing chaotic iterations,
295 Thereafter we give, for the different learning setups and data sets,
296 the mean prediction success rate obtained for each output. Such a rate
297 represents the percentage of input-output pairs belonging to the test
298 subset for which the corresponding output value was correctly
299 predicted. These values are computed considering 10~trainings with
300 random subsets construction, weights and biases initialization.
301 Firstly, neural networks having 10 and 25~hidden neurons are trained,
302 with a maximum number of epochs that takes its value in
303 $\{125,250,500\}$ (see Tables~\ref{tab1} and \ref{tab2}). Secondly,
304 we refine the second coding scheme by splitting the output vector such
305 that each output is learned by a specific neural network
306 (Table~\ref{tab3}). In this last case, we increase the size of the
307 hidden layer up to 40~neurons and we consider larger number of epochs.
310 \caption{Prediction success rates for configurations expressed as boolean vectors.}
313 \begin{tabular}{|c|c||c|c|c|}
315 \multicolumn{5}{|c|}{Networks topology: 6~inputs, 5~outputs, and one hidden layer} \\
318 \multicolumn{2}{|c||}{Hidden neurons} & \multicolumn{3}{c|}{10 neurons} \\
320 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\
322 \multirow{6}{*}{\rotatebox{90}{Chaotic}}&Output~(1) & 90.92\% & 91.75\% & 91.82\% \\
323 & Output~(2) & 69.32\% & 78.46\% & 82.15\% \\
324 & Output~(3) & 68.47\% & 78.49\% & 82.22\% \\
325 & Output~(4) & 91.53\% & 92.37\% & 93.4\% \\
326 & Config. & 36.10\% & 51.35\% & 56.85\% \\
327 & Strategy~(5) & 1.91\% & 3.38\% & 2.43\% \\
329 \multirow{6}{*}{\rotatebox{90}{Non-chaotic}}&Output~(1) & 97.64\% & 98.10\% & 98.20\% \\
330 & Output~(2) & 95.15\% & 95.39\% & 95.46\% \\
331 & Output~(3) & 100\% & 100\% & 100\% \\
332 & Output~(4) & 97.47\% & 97.90\% & 97.99\% \\
333 & Config. & 90.52\% & 91.59\% & 91.73\% \\
334 & Strategy~(5) & 3.41\% & 3.40\% & 3.47\% \\
337 \multicolumn{2}{|c||}{Hidden neurons} & \multicolumn{3}{c|}{25 neurons} \\ %& \multicolumn{3}{|c|}{40 neurons} \\
339 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ %& 125 & 250 & 500 \\
341 \multirow{6}{*}{\rotatebox{90}{Chaotic}}&Output~(1) & 91.65\% & 92.69\% & 93.93\% \\ %& 91.94\% & 92.89\% & 94.00\% \\
342 & Output~(2) & 72.06\% & 88.46\% & 90.5\% \\ %& 74.97\% & 89.83\% & 91.14\% \\
343 & Output~(3) & 79.19\% & 89.83\% & 91.59\% \\ %& 76.69\% & 89.58\% & 91.84\% \\
344 & Output~(4) & 91.61\% & 92.34\% & 93.47\% \\% & 82.77\% & 92.93\% & 93.48\% \\
345 & Config. & 48.82\% & 67.80\% & 70.97\% \\%& 49.46\% & 68.94\% & 71.11\% \\
346 & Strategy~(5) & 2.62\% & 3.43\% & 3.78\% \\% & 3.10\% & 3.10\% & 3.03\% \\
348 \multirow{6}{*}{\rotatebox{90}{Non-chaotic}}&Output~(1) & 97.87\% & 97.99\% & 98.03\% \\ %& 98.16\% \\
349 & Output~(2) & 95.46\% & 95.84\% & 96.75\% \\ % & 97.4\% \\
350 & Output~(3) & 100\% & 100\% & 100\% \\%& 100\% \\
351 & Output~(4) & 97.77\% & 97.82\% & 98.06\% \\%& 98.31\% \\
352 & Config. & 91.36\% & 91.99\% & 93.03\% \\%& 93.98\% \\
353 & Strategy~(5) & 3.37\% & 3.44\% & 3.29\% \\%& 3.23\% \\
359 Table~\ref{tab1} presents the rates obtained for the first coding
360 scheme. For the chaotic data, it can be seen that as expected
361 configuration prediction becomes better when the number of hidden
362 neurons and maximum epochs increases: an improvement by a factor two
363 is observed (from 36.10\% for 10~neurons and 125~epochs to 70.97\% for
364 25~neurons and 500~epochs). We also notice that the learning of
365 outputs~(2) and~(3) is more difficult. Conversely, for the
366 non-chaotic case the simplest training setup is enough to predict
367 configurations. For all these feedforward network topologies and all
368 outputs the obtained results for the non-chaotic case outperform the
369 chaotic ones. Finally, the rates for the strategies show that the
370 different feedforward networks are unable to learn them.
372 For the second coding scheme (\textit{i.e.}, with Gray Codes)
373 Table~\ref{tab2} shows that any network learns about five times more
374 non-chaotic configurations than chaotic ones. As in the previous
375 scheme, the strategies cannot be predicted.
376 Figures~\ref{Fig:chaotic_predictions} and
377 \ref{Fig:non-chaotic_predictions} present the predictions given by two
378 feedforward multilayer perceptrons that were respectively trained to
379 learn chaotic and non-chaotic data, using the second coding scheme.
380 Each figure shows for each sample of the test subset (577~samples,
381 representing 25\% of the 2304~samples) the configuration that should
382 have been predicted and the one given by the multilayer perceptron. It
383 can be seen that for the chaotic data the predictions are far away
384 from the expected configurations. Obviously, the better predictions
385 for the non-chaotic data reflect their regularity.
387 Let us now compare the two coding schemes. Firstly, the second scheme
388 disturbs the learning process. In fact in this scheme the
389 configuration is always expressed as a natural number, whereas in the
390 first one the number of inputs follows the increase of the Boolean
391 vectors coding configurations. In this latter case, the coding gives a
392 finer information on configuration evolution.
394 \caption{Prediction success rates for configurations expressed with Gray code}
397 \begin{tabular}{|c|c||c|c|c|}
399 \multicolumn{5}{|c|}{Networks topology: 3~inputs, 2~outputs, and one hidden layer} \\
402 & Hidden neurons & \multicolumn{3}{c|}{10 neurons} \\
404 & Epochs & 125 & 250 & 500 \\ %& 1000
406 \multirow{2}{*}{Chaotic}& Config.~(1) & 13.29\% & 13.55\% & 13.08\% \\ %& 12.5\%
407 & Strategy~(2) & 0.50\% & 0.52\% & 1.32\% \\ %& 1.42\%
409 \multirow{2}{*}{Non-Chaotic}&Config.~(1) & 77.12\% & 74.00\% & 72.60\% \\ %& 75.81\%
410 & Strategy~(2) & 0.42\% & 0.80\% & 1.16\% \\ %& 1.42\%
413 & Hidden neurons & \multicolumn{3}{c|}{25 neurons} \\
415 & Epochs & 125 & 250 & 500 \\ %& 1000
417 \multirow{2}{*}{Chaotic}& Config.~(1) & 12.27\% & 13.15\% & 13.05\% \\ %& 15.44\%
418 & Strategy~(2) & 0.71\% & 0.66\% & 0.88\% \\ %& 1.73\%
420 \multirow{2}{*}{Non-Chaotic}&Config.~(1) & 73.60\% & 74.70\% & 75.89\% \\ %& 68.32\%
421 & Strategy~(2) & 0.64\% & 0.97\% & 1.23\% \\ %& 1.80\%
428 \includegraphics[scale=0.5]{images/chaotic_trace2}
429 \caption {Second coding scheme - Predictions obtained for a chaotic test subset.}
430 \label{Fig:chaotic_predictions}
435 \includegraphics[scale=0.5]{images/non-chaotic_trace2}
436 \caption{Second coding scheme - Predictions obtained for a non-chaotic test subset.}
437 \label{Fig:non-chaotic_predictions}
440 Unfortunately, in practical applications the number of components is
441 usually unknown. Hence, the first coding scheme cannot be used
442 systematically. Therefore, we provide a refinement of the second
443 scheme: each output is learned by a different ANN. Table~\ref{tab3}
444 presents the results for this approach. In any case, whatever the
445 considered feedforward network topologies, the maximum epoch number,
446 and the kind of iterations, the configuration success rate is slightly
447 improved. Moreover, the strategies predictions rates reach almost
448 12\%, whereas in Table~\ref{tab2} they never exceed 1.5\%. Despite of
449 this improvement, a long term prediction of chaotic iterations still
450 appear to be an open issue.
453 \caption{Prediction success rates for split outputs.}
456 \begin{tabular}{|c||c|c|c|}
458 \multicolumn{4}{|c|}{Networks topology: 3~inputs, 1~output, and one hidden layer} \\
461 Epochs & 125 & 250 & 500 \\
464 Chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
466 10~neurons & 12.39\% & 14.06\% & 14.32\% \\
467 25~neurons & 13.00\% & 14.28\% & 14.58\% \\
468 40~neurons & 11.58\% & 13.47\% & 14.23\% \\
471 Non chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
473 %Epochs & 125 & 250 & 500 \\
475 10~neurons & 76.01\% & 74.04\% & 78.16\% \\
476 25~neurons & 76.60\% & 72.13\% & 75.96\% \\
477 40~neurons & 76.34\% & 75.63\% & 77.50\% \\
480 Chaotic/non chaotic & \multicolumn{3}{c|}{Output = Strategy} \\
482 %Epochs & 125 & 250 & 500 \\
484 10~neurons & 0.76\% & 0.97\% & 1.21\% \\
485 25~neurons & 1.09\% & 0.73\% & 1.79\% \\
486 40~neurons & 0.90\% & 1.02\% & 2.15\% \\
488 \multicolumn{4}{c}{} \\
490 Epochs & 1000 & 2500 & 5000 \\
493 Chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
495 10~neurons & 14.51\% & 15.22\% & 15.22\% \\
496 25~neurons & 16.95\% & 17.57\% & 18.46\% \\
497 40~neurons & 17.73\% & 20.75\% & 22.62\% \\
500 Non chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
502 %Epochs & 1000 & 2500 & 5000 \\
504 10~neurons & 78.98\% & 80.02\% & 79.97\% \\
505 25~neurons & 79.19\% & 81.59\% & 81.53\% \\
506 40~neurons & 79.64\% & 81.37\% & 81.37\% \\
509 Chaotic/non chaotic & \multicolumn{3}{c|}{Output = Strategy} \\
511 %Epochs & 1000 & 2500 & 5000 \\
513 10~neurons & 3.47\% & 9.98\% & 11.66\% \\
514 25~neurons & 3.92\% & 8.63\% & 10.09\% \\
515 40~neurons & 3.29\% & 7.19\% & 7.18\% \\
522 In this paper, we have established an equivalence between chaotic
523 iterations, according to the Devaney's definition of chaos, and a
524 class of multilayer perceptron neural networks. Firstly, we have
525 described how to build a neural network that can be trained to learn a
526 given chaotic map function. Secondly, we found a condition that allow
527 to check whether the iterations induced by a function are chaotic or
528 not, and thus if a chaotic map is obtained. Thanks to this condition
529 our approach is not limited to a particular function. In the dual
530 case, we show that checking if a neural network is chaotic consists in
531 verifying a property on an associated graph, called the graph of
532 iterations. These results are valid for recurrent neural networks
533 with a particular architecture. However, we believe that a similar
534 work can be done for other neural network architectures. Finally, we
535 have discovered at least one family of problems with a reasonable
536 size, such that artificial neural networks should not be applied in
537 the presence of chaos, due to their inability to learn chaotic
538 behaviors in this context. Such a consideration is not reduced to a
539 theoretical detail: this family of discrete iterations is concretely
540 implemented in a new steganographic method \cite{guyeux10ter}. As
541 steganographic detectors embed tools like neural networks to
542 distinguish between original and stego contents, our studies tend to
543 prove that such detectors might be unable to tackle with chaos-based
544 information hiding schemes.
546 In future work we intend to enlarge the comparison between the
547 learning of truly chaotic and non-chaotic behaviors. Other
548 computational intelligence tools such as support vector machines will
549 be investigated too, to discover which tools are the most relevant
550 when facing a truly chaotic phenomenon. A comparison between learning
551 rate success and prediction quality will be realized. Concrete
552 consequences in biology, physics, and computer science security fields
557 % \begin{Def} \label{def2}
558 % A continuous function $f$ on a topological space $(\mathcal{X},\tau)$
559 % is defined to be {\emph{topologically transitive}} if for any pair of
560 % open sets $U$, $V \in \mathcal{X}$ there exists
564 % $f^k(U) \cap V \neq \emptyset$.
567 %\bibliography{chaos-paper}% Produces the bibliography via BibTeX.
571 % ****** End of file chaos-paper.tex ******