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

Private GIT Repository
717ae3e688d7b36d00dcd58280383073825e8c46
[chaos1.git] / main.tex
1 % ****** Start of file chaos-paper.tex ******
2 %
3 \documentclass[%
4 aip,
5 cha,% long, 
6 numerical bibliography, %(default)
7 %jcp,% short, numerical bibliography, 
8 %jmp,
9 amsmath,amssymb,
10 preprint,%
11 %reprint,%
12 %author-year,%
13 %author-numerical,%
14 ]{revtex4-1}
15
16 \usepackage{graphicx}% Include figure files
17 \usepackage{dcolumn}% Align table columns on decimal point
18 \usepackage{bm}% bold math
19 \usepackage{color}
20 \usepackage{ulem}
21 \usepackage[mathlines]{lineno}% Enable numbering of text and display math
22 \linenumbers\relax % Commence numbering lines
23 % The amssymb package provides various useful mathematical symbols
24 \usepackage{amssymb}
25 % The amsthm package provides various useful mathematical fonts
26 \usepackage{amsfonts}
27 % Various mathematical packages
28 \PassOptionsToPackage{cmex10draft}{graphics}
29 \usepackage[standard]{ntheorem}
30 % Various packages
31 \usepackage{stmaryrd} % llbracket
32 \usepackage{dsfont}   % mathds
33 \usepackage{multirow} % tables
34
35 \newcommand{\ie}{\textit{i.e.}}
36 \newcommand{\Nats}[0]{\ensuremath{\mathds{N}}}
37 \newcommand{\R}[0]{\ensuremath{\mathds{R}}}
38 \newcommand{\Bool}[0]{\ensuremath{\mathds{B}}}
39
40 \begin{document}
41
42 \title[Recurrent Neural Networks and Chaos]{Recurrent Neural Networks 
43 and Chaos: Construction, Evaluation, \\
44 and Prediction Ability}
45
46 \author{Jacques M. Bahi}
47 \author{Jean-Fran\c{c}ois Couchot}
48 \author{Christophe Guyeux}
49 \email{christophe.guyeux@univ-fcomte.fr.}
50 \author{Michel Salomon}
51 \altaffiliation[Authors in ]{alphabetic order} 
52 \affiliation{
53 Computer Science Laboratory (LIFC), University of Franche-Comt\'e, \\
54 IUT de Belfort-Montb\'eliard, BP 527, \\
55 90016 Belfort Cedex, France
56 }
57
58 \date{\today}
59
60 \newcommand{\CG}[1]{\begin{color}{red}\textit{#1}\end{color}}
61
62 \begin{abstract}
63 %% Text of abstract
64 Many  research works  deal with  chaotic neural  networks  for various
65 fields  of application. Unfortunately,  up to  now these  networks are
66 usually  claimed to be  chaotic without  any mathematical  proof.  The
67 purpose of this paper is to establish, based on a rigorous theoretical
68 framework, an equivalence between  chaotic iterations according to the
69 Devaney's  formulation  of chaos  and  a  particular  class of  neural
70 networks. On the one hand we show  how to build such a network, on the
71 other  hand we provide  a method  to check  if a  neural network  is a
72 chaotic one.  Finally, the ability of classical feedforward multilayer
73 perceptrons to  learn sets of  data obtained from a  chaotic dynamical
74 system is regarded.  Various  Boolean functions are iterated on finite
75 states, some  of them  are proven to  be chaotic  as it is  defined by
76 Devaney.  In that context, important differences occur in the training
77 process,  establishing  with  various  neural  networks  that  chaotic
78 behaviors are far more difficult to learn.
79 \end{abstract}
80
81 %%\pacs{Valid PACS appear here}% PACS, the Physics and Astronomy
82                              % Classification Scheme.
83 %%\keywords{Suggested keywords}%Use showkeys class option if keyword
84                               %display desired
85 \maketitle
86
87 \begin{quotation}
88 Chaotic neural  networks have received a  lot of attention  due to the
89 appealing   properties  of   deterministic   chaos  (unpredictability,
90 sensitivity,  and so  on). However,  such networks  are  often claimed
91 chaotic without  any rigorous mathematical proof.   Therefore, in this
92 work  a theoretical  framework based  on the  Devaney's  definition of
93 chaos  is introduced.   Starting with  a relationship  between chaotic
94 iterations  and  Devaney's chaos,  we  firstly  show  how to  build  a
95 recurrent  neural networks  that is  equivalent to  a chaotic  map and
96 secondly  a way  to check  whether  an already  available network,  is
97 chaotic  or not.  We also  study different  topological  properties of
98 these  truly  chaotic neural  networks.   Finally,  we  show that  the
99 learning,  with neural  networks  having a  feedforward structure,  of
100 chaotic behaviors represented by data sets obtained from chaotic maps,
101 is far more difficult than non chaotic behaviors.
102 \end{quotation}
103
104 %% Main text
105 \section{Introduction}
106 \label{S1}
107
108 Several research  works have proposed  or run chaotic  neural networks
109 these last  years.  The complex dynamics  of such a  networks leads to
110 various       potential      application       areas:      associative
111 memories~\cite{Crook2007267}  and  digital  security tools  like  hash
112 functions~\cite{Xiao10},                                       digital
113 watermarking~\cite{1309431,Zhang2005759},           or          cipher
114 schemes~\cite{Lian20091296}.  In the  former case, the background idea
115 is to  control chaotic dynamics in  order to store  patterns, with the
116 key advantage  of offering a  large storage capacity.  For  the latter
117 case,   the  use   of   chaotic  dynamics   is   motivated  by   their
118 unpredictability and  random-like behaviors.  Thus,  investigating new
119 concepts is crucial in this  field, because new threats are constantly
120 emerging.   As an illustrative  example, the  former standard  in hash
121 functions,  namely the  SHA-1  algorithm, has  been recently  weakened
122 after flaws were discovered.
123
124 Chaotic neural networks have  been built with different approaches. In
125 the context of associative  memory, chaotic neurons like the nonlinear
126 dynamic  state neuron  \cite{Crook2007267}  frequently constitute  the
127 nodes of the network. These neurons have an inherent chaotic behavior,
128 which  is usually  assessed through  the computation  of  the Lyapunov
129 exponent.  An alternative approach  is to consider a well-known neural
130 network architecture: the  MultiLayer Perceptron (MLP). These networks
131 are  suitable to model  nonlinear relationships  between data,  due to
132 their universal approximator capacity. Thus, this kind of networks can
133 be trained to model a physical  phenomenon known to be chaotic such as
134 Chua's circuit  \cite{dalkiran10}.  Sometimes, a  neural network which
135 is build by combining  transfer functions and initial conditions that are both
136 chaotic,      is      itself      claimed      to      be      chaotic
137 \cite{springerlink:10.1007/s00521-010-0432-2}.
138
139 What all of these chaotic neural  networks have in common is that they
140 are claimed to be chaotic  despite a lack of any rigorous mathematical
141 proof.   The first contribution of  this paper  is  to fill  this  gap, using  a
142 theoretical  framework  based on  the  Devaney's  definition of  chaos
143 \cite{Devaney}.   This  mathematical  theory  of chaos  provides  both
144 qualitative and quantitative tools to evaluate the complex behavior of
145 a  dynamical  system:  ergodicity,   expansivity,  and  so  on.   More
146 precisely, in  this paper,  which is an  extension of a  previous work
147 \cite{bgs11:ip},   we  establish   the  equivalence  between   chaotic
148 iterations and  a class of globally  recurrent MLP.
149 The investigation the  converse problem is the second contribution: 
150 we indeed study the  ability for
151 classical MultiLayer Perceptrons  to learn a particular family of
152 discrete  chaotic  dynamical  systems.   This family,  called  chaotic
153 iterations, is defined by a  Boolean vector, an update function, and a
154 sequence giving  which component  to update at  each iteration.   It has
155 been  previously established  that such  dynamical systems  can behave
156 chaotically, as it is defined by Devaney, when the chosen function has
157 a  strongly connected  iterations graph.   In this  document,  we 
158 experiment several MLPs and try to learn some iterations of this kind.
159 We  show that non-chaotic iterations can be learned, whereas it is
160 far  more  difficult  for chaotic  ones.   That  is  to say,  we  have
161 discovered at  least one  family of problems  with a  reasonable size,
162 such  that artificial  neural networks  should not  be applied  
163 due to their inability to  learn chaotic behaviors in this context.
164
165 The remainder of this research  work is organized as follows. The next
166 section is devoted  to the basics of chaotic  iterations and Devaney's
167 chaos.   Section~\ref{S2} formally  describes  how to  build a  neural
168 network  that operates  chaotically.  Section~\ref{S3} is 
169 devoted to the dual case of  checking whether an existing neural network
170 is chaotic  or not. 
171 Topological properties  of   chaotic  neural  networks  
172 are discussed in Sect.~\ref{S4}.   The
173 Section~\ref{section:translation}   shows   how   to  translate   such
174 iterations  into  an Artificial  Neural  Network  (ANN),  in order  to
175 evaluate the  capability for this  latter to learn  chaotic behaviors.
176 This  ability  is  studied in  Sect.~\ref{section:experiments},  where
177 various ANNs try to learn two  sets of data: the first one is obtained
178 by chaotic iterations while the  second one results from a non-chaotic
179 system.  Prediction success rates are  given and discussed for the two
180 sets.  The paper ends with a conclusion section where our contribution
181 is summed up and intended future work is exposed.
182
183 \section{Link between Chaotic Iterations and Devaney's Chaos}
184
185 In this section, the well-established notion of Devaney's mathematical
186 chaos is  firstly recalled.  Preservation of  the unpredictability of
187 such dynamical  system when implemented  on a computer is  obtained by
188 using  some discrete iterations  called ``chaotic  iterations'', which
189 are thus introduced.  The result establishing the link between chaotic
190 iterations and Devaney's chaos is  finally presented at the end of this
191 section.
192
193 In what follows and for  any function $f$, $f^n$ means the composition
194 $f \circ f \circ \hdots \circ f$ ($n$ times).
195
196 \subsection{Devaney's chaotic dynamical systems}
197
198 Various domains such as  physics, biology, or economy, contain systems
199 that exhibit a chaotic behavior,  a well-known example is the weather.
200 These  systems   are  in   particular  highly  sensitive   to  initial
201 conditions, a concept usually presented as the butterfly effect: small
202 variations in the initial conditions possibly lead to widely different
203 behaviors.  Theoretically speaking, a  system is sensitive if for each
204 point  $x$ in  the  iteration space,  one  can find  a  point in  each
205 neighborhood of $x$ having a significantly different future evolution.
206 Conversely, a  system seeded with  the same initial  conditions always
207 has  the same  evolution.   In  other words,  chaotic  systems have  a
208 deterministic  behavior  defined through  a  physical or  mathematical
209 model  and a  high  sensitivity to  the  initial conditions.   Besides
210 mathematically this  kind of unpredictability  is also referred  to as
211 deterministic chaos.  For example, many weather forecast models exist,
212 but they give only suitable predictions for about a week, because they
213 are initialized with conditions  that reflect only a partial knowledge
214 of the current weather.  Even  the  differences are  initially small,
215 they are  amplified in the course  of time, and thus  make difficult a
216 long-term prediction.  In fact,  in a chaotic system, an approximation
217 of  the current  state is  a  quite useless  indicator for  predicting
218 future states.
219
220 From  mathematical  point  of   view,  deterministic  chaos  has  been
221 thoroughly studied  these last decades, with  different research works
222 that  have   provide  various  definitions  of   chaos.   Among  these
223 definitions,   the  one  given   by  Devaney~\cite{Devaney}   is  
224 well-established.    This   definition   consists  of   three   conditions:
225 topological  transitivity, density of  periodic points,  and sensitive
226 point dependence on initial conditions.
227
228 Topological  transitivity   is  checked  when,  for   any  point,  any
229 neighborhood of its future evolution eventually overlap with any other
230 given region. More precisely,
231
232 \begin{definition} \label{def2}
233 A continuous function $f$  on a topological space $(\mathcal{X},\tau)$
234 is defined  to be  {\bf topologically transitive}  if for any  pair of
235 open  sets $U$,  $V  \in  \mathcal{X}$ there  exists  
236 $k \in
237 \mathds{N}^{\ast}$
238  such  that
239 $f^k(U) \cap V \neq \emptyset$.
240 \end{definition}
241
242 This property  implies that a  dynamical system cannot be  broken into
243 simpler  subsystems.  
244 Intuitively, its complexity does not allow any simplification.
245 On  the contrary,  a dense set  of periodic points  is an
246 element of regularity that a chaotic dynamical system has to exhibit.
247
248 \begin{definition} \label{def3}
249 A point $x$ is called a  {\bf periodic point} for $f$ of period~$n \in
250 \mathds{N}^{\ast}$ if $f^{n}(x)=x$.
251 \end{definition}
252
253 \begin{definition} \label{def4}
254 $f$ is said to be {\bf  regular} on $(\mathcal{X},\tau)$ if the set of
255   periodic points  for $f$ is  dense in $\mathcal{X}$ ( for any $x \in
256   \mathcal{X}$, we can find at least  one periodic point in any of its
257   neighborhood).
258 \end{definition}
259
260 This  regularity ``counteracts'' the  effects of  transitivity.  Thus,
261 due to these two properties, two points close to each other can behave
262 in a completely different  manner, leading to unpredictability for the
263 whole system. Then,
264
265 \begin{definition} \label{sensitivity}
266 $f$  has {\bf  sensitive dependence  on initial  conditions}  if there
267   exists $\delta  >0$ such  that, for any  $x\in \mathcal{X}$  and any
268   neighborhood $V$ of $x$, there exist  $y\in V$ and $n > 0$ such that
269   $d\left(f^{n}(x), f^{n}(y)\right) >\delta  $. The value $\delta$ is called the
270   {\bf constant of sensitivity} of $f$.
271 \end{definition}
272
273 Finally,
274
275 \begin{definition} \label{def5}
276 $f$ is  {\bf chaotic according to Devaney}  on $(\mathcal{X},\tau)$ if
277   $f$  is   regular,  topologically  transitive,   and  has  sensitive
278   dependence to its initial conditions.
279 \end{definition}
280
281 Let us notice that for a  metric space the last condition follows from
282 the two first ones~\cite{Banks92}.
283
284 \subsection{Chaotic Iterations}
285
286 This section  presents some basics on  topological chaotic iterations.
287 Let us  firstly discuss about the  domain of iteration.  As  far as we
288 know, no result rules that the chaotic behavior of a function that has
289 been theoretically proven on  $\R$ remains valid on the floating-point
290 numbers, which is  the implementation domain.  Thus, to  avoid loss of
291 chaos this  work presents an  alternative, that is to  iterate Boolean
292 maps:  results that  are  theoretically obtained  in  that domain  are
293 preserved in implementations.
294
295 Let us denote by $\llbracket  a ; b \rrbracket$ the following interval
296 of integers:  $\{a, a+1,  \hdots, b\}$, where $a~<~b$.  A  {\it system}
297 under   consideration    iteratively   modifies   a    collection   of
298 $n$~components.   Each component  $i \in  \llbracket 1;  n \rrbracket$
299 takes  its  value  $x_i$  among the  domain  $\Bool=\{0,1\}$.   A~{\it
300   configuration} of the system at discrete time $t$ (also said at {\it
301   iteration} $t$) is the vector
302 %\begin{equation*}   
303 $x^{t}=(x_1^{t},\ldots,x_{n}^{t}) \in \Bool^n$.
304 %\end{equation*}
305 The dynamics of the system is  described according to a  function $f :
306 \Bool^n \rightarrow \Bool^n$ such that
307 %\begin{equation*} 
308 $f(x)=(f_1(x),\ldots,f_n(x))$.
309 %\end{equation*}
310 % Notice that $f^k$ denotes the 
311 % $k-$th composition $f\circ \ldots \circ f$ of the function $f$.
312
313 Let    be   given    a    configuration   $x$.    In   what    follows
314 $N(i,x)=(x_1,\ldots,\overline{x_i},\ldots,x_n)$  is  the configuration
315 obtained by switching the $i-$th component of $x$ ($\overline{x_i}$ is
316 indeed  the negation  of $x_i$).   Intuitively, $x$  and  $N(i,x)$ are
317 neighbors.   The discrete  iterations of  $f$ are  represented  by the
318 oriented  {\it graph  of iterations}  $\Gamma(f)$.  In  such  a graph,
319 vertices are configurations  of $\Bool^n$ and there is  an arc labeled
320 $i$ from $x$ to $N(i,x)$ if and only if  $f_i(x)$ is $N(i,x)$.
321
322 In the  sequel, the  {\it strategy} $S=(S^{t})^{t  \in \Nats}$  is the
323 sequence  defining the  component to  update at  time $t$  and $S^{t}$
324 denotes its  $t-$th term.  We  introduce the function $F_{f}$  that is
325 defined  for  any given  application  $f:\Bool^{n}  \to \Bool^{n}$  by
326 $F_{f}:   \llbracket1;n\rrbracket\times   \mathds{B}^{n}   \rightarrow
327 \mathds{B}^{n}$, s.t.
328 \begin{equation}
329 \label{eq:CIs}
330   F_{f}(s,x)_j  =  
331     \left\{
332     \begin{array}{l}
333     f_j(x) \textrm{ if } j= s \enspace , \\ 
334     x_{j} \textrm{ otherwise} \enspace .
335     \end{array}
336     \right. 
337 \end{equation}
338
339 \noindent With such a notation, configurations are defined for times 
340 $t=0,1,2,\ldots$ by:
341 \begin{equation}\label{eq:sync}   
342 \left\{\begin{array}{l}   
343   x^{0}\in \mathds{B}^{n} \textrm{ and}\\
344   x^{t+1}=F_{f}(S^t,x^{t}) \enspace .
345 \end{array}\right.
346 \end{equation}
347
348 \noindent  Finally, iterations defined  in Eq.~(\ref{eq:sync})  can be
349 described by the following system:
350 \begin{equation} 
351 \left\{
352 \begin{array}{lll} 
353 X^{0} & = &  ((S^t)^{t \in \Nats},x^0) \in 
354 \llbracket1;n\rrbracket^\Nats \times \Bool^{n}\\ 
355 X^{k+1}& = & G_{f}(X^{k})\\
356 \multicolumn{3}{c}{\textrm{where } G_{f}\left(((S^t)^{t \in \Nats},x)\right)
357 = \left(\sigma((S^t)^{t \in \Nats}),F_{f}(S^0,x)\right) \enspace ,}
358 \end{array} 
359 \right.
360 \label{eq:Gf}
361 \end{equation}
362 where  $\sigma$ is the  function that  removes the  first term  of the
363 strategy  ({\it i.e.},~$S^0$).   This definition  means that  only one
364 component  of the  system is  updated  at an  iteration: the  $S^t$-th
365 element.  But it can be extended by considering subsets for $S^t$.
366
367 Let us finally remark that, despite the use of the term {\it chaotic},
368 there is {\it  priori} no connection between these  iterations and the
369 mathematical theory of chaos presented previously.
370
371 \subsection{Chaotic Iterations and Devaney's Chaos}
372
373 In  this subsection  we recall  the link  we have  established between
374 chaotic iterations and Devaney's  chaos.  The theoretical framework is
375 fully described in \cite{guyeux09}.
376
377 The   {\bf   distance}   $d$    between   two   points   $(S,x)$   and
378 $(\check{S},\check{x})\in  \mathcal{X} = \llbracket1;n\rrbracket^\Nats
379 \times \Bool^{n}$ is defined by
380 \begin{equation}
381 d((S,x);(\check{S},\check{x}))=d_{e}(x,\check{x})+d_{s}(S,\check{S})
382 \enspace ,
383 \end{equation}
384 where
385 \begin{equation}
386 d_{e}(x,\check{x})=\sum_{j=1}^{n}\Delta
387 (x_{j},\check{x}_{j}) \in \llbracket  0 ; n \rrbracket 
388 \end{equation}
389 \noindent and   
390 \begin{equation}
391 d_{s}(S,\check{S})=\frac{9}{2n}\sum_{t=0}^{\infty
392 }\frac{|S^{t}-\check{S}^{t}|}{10^{t+1}} \in [0 ; 1] \enspace .
393 \end{equation}
394
395 This    distance    is    defined    to    reflect    the    following
396 information. Firstly, the more  two systems have different components,
397 the  larger the  distance  between them is.  Secondly,  two systems  with
398 similar components and strategies, which have the same starting terms,
399 must  induce only  a small  distance.  The  proposed  distance fulfill
400 these  requirements: on  the one  hand  its floor  value reflects  the
401 difference between  the cells, on  the other hand its  fractional part
402 measures the difference between the strategies.
403
404 The relation  between $\Gamma(f)$ and  $G_f$ is clear: there  exists a
405 path from  $x$ to $x'$  in $\Gamma(f)$ if  and only if there  exists a
406 strategy  $s$ such  that  the  parallel iteration  of  $G_f$ from  the
407 initial  point $(s,x)$  reaches  the configuration  $x'$.  Using  this
408 link, Guyeux~\cite{GuyeuxThese10} has proven that,
409 \begin{theorem}%[Characterization of $\mathcal{C}$]
410 \label{Th:Caracterisation   des   IC   chaotiques}  
411 Let $f:\Bool^n\to\Bool^n$. $G_f$ is chaotic  (according to  Devaney) 
412 if and only if  $\Gamma(f)$ is strongly connected.
413 \end{theorem}
414
415 Checking  if a  graph  is  strongly connected  is  not difficult.  For
416 example,  consider the  function $f_1\left(x_1,\dots,x_n\right)=\left(
417 \overline{x_1},x_1,x_2,\dots,x_{n-1}\right)$. As $\Gamma(f_1)$ is
418 obviously strongly connected, then $G_{f_1}$ is a chaotic map.
419
420 With this  material, we are now  able to build a  first chaotic neural
421 network, as defined in the Devaney's formulation.
422
423 \section{A chaotic neural network in the sense of Devaney}
424 \label{S2}
425
426 Let     us     firstly     introduce    the     vectorial     negation
427 $f_{0}(x_{1},\dots,x_{n}) =(\overline{x_{1}},\dots,\overline{x_{n}})$,
428 which is  such that $\Gamma(f_0)$ is  strongly connected.  Considering
429 the map  $F_{f_0}:\llbracket 1;  n \rrbracket \times  \mathds{B}^n \to
430 \mathds{B}^n$  associated to the  vectorial negation,  we can  build a
431 multilayer perceptron  neural network modeling  $F_{f_0}$.  Hence, for
432 all inputs  $(s,x) \in \llbracket  1;n\rrbracket \times \mathds{B}^n$,
433 the output layer will produce  $F_{f_0}(s,x)$.  It is then possible to
434 link  the output  layer  and the  input  one, in  order  to model  the
435 dependence between two successive iterations.  As a result we obtain a
436 global  recurrent   neural  network  that  behaves   as  follows  (see
437 Fig.~\ref{Fig:perceptron}).
438
439 \begin{itemize}
440 \item   The   network   is   initialized   with   the   input   vector
441   $\left(S^0,x^0\right)    \in    \llbracket   1;n\rrbracket    \times
442   \mathds{B}^n$      and      computes      the     output      vector
443   $x^1=F_{f_0}\left(S^0,x^0\right)$. This last  vector is published as
444   an output one of the chaotic  neural network and is sent back to the
445   input layer through the feedback links.
446 \item When  the network  is activated at  the $t^{th}$  iteration, the
447   state of the system $x^t  \in \mathds{B}^n$ received from the output
448   layer and  the initial  term of the  sequence $(S^t)^{t  \in \Nats}$
449   ($S^0  \in \llbracket 1;n\rrbracket$)  are used  to compute  the new
450   output.   This new  output, which  represents the  new state  of the
451   dynamical system, satisfies:
452   \begin{equation}
453     x^{t+1}=F_{f_0}(S^0, x^t) \in \mathds{B}^n \enspace .
454   \end{equation}
455 \end{itemize}
456
457 \begin{figure}
458   \centering
459   \includegraphics[scale=0.625]{perceptron}
460   \caption{A perceptron equivalent to chaotic iterations}
461   \label{Fig:perceptron}
462 \end{figure}
463
464 The behavior of the neural network is such that when the initial state
465 is  $x^0~\in~\mathds{B}^n$ and  a  sequence $(S^t)^{t  \in \Nats}$  is
466 given  as outside  input, then  the sequence  of  successive published
467 output vectors $\left(x^t\right)^{t \in \mathds{N}^{\ast}}$ is exactly
468 the  one produced  by  the chaotic  iterations  formally described  in
469 Eq.~(\ref{eq:CIs}).  It  means that  mathematically if we  use similar
470 input  vectors   they  both  generate  the   same  successive  outputs
471 $\left(x^t\right)^{t \in \mathds{N}^{\ast}}$,  and therefore that they
472 are  equivalent  reformulations  of  the iterations  of  $G_{f_0}$  in
473 $\mathcal{X}$. Finally, since the  proposed neural network is build to
474 model  the  behavior  of  $G_{f_0}$,  which is  chaotic  according  to
475 Devaney's definition  of chaos,  we can conclude  that the  network is
476 also chaotic in this sense.
477
478 The previous construction scheme  is not restricted to function $f_0$.
479 It can  be extended to any function  $f$ such that $G_f$  is a chaotic
480 map by training the network to model $F_{f}:\llbracket 1; n \rrbracket
481 \times      \mathds{B}^n      \to      \mathds{B}^n$.      Due      to
482 Theorem~\ref{Th:Caracterisation  des  IC  chaotiques},  we  can  find
483 alternative functions  $f$ for $f_0$  through a simple check  of their
484 graph of  iterations $\Gamma(f)$.  For  example, we can  build another
485 chaotic neural network by using $f_1$ instead of $f_0$.
486
487 \section{Checking whether a neural network is chaotic or not}
488 \label{S3}
489
490 We focus now on the case  where a neural network is already available,
491 and for which we  want to know if it is chaotic. Typically, in
492 many research papers neural network  are usually claimed to be chaotic
493 without any  convincing mathematical proof. We propose  an approach to
494 overcome  this  drawback  for  a  particular  category  of  multilayer
495 perceptrons defined below, and for the Devaney's formulation of chaos.
496 In  spite of  this restriction,  we think  that this  approach  can be
497 extended to  a large variety  of neural networks.  We plan to  study a
498 generalization of this approach in a future work.
499
500 We consider a multilayer perceptron  of the following form: inputs
501 are $n$ binary digits and  one integer value, while outputs are  $n$
502 bits.   Moreover, each  binary  output is  connected  with a  feedback
503 connection to an input one.
504
505 \begin{itemize}
506 \item During  initialization, the network if we seed it with $n$~bits denoted
507   $\left(x^0_1,\dots,x^0_n\right)$  and an  integer  value $S^0$  that
508   belongs to $\llbracket1;n\rrbracket$.
509 \item     At     iteration~$t$,     the     last     output     vector
510   $\left(x^t_1,\dots,x^t_n\right)$   defines  the  $n$~bits   used  to
511   compute the new output one $\left(x^{t+1}_1,\dots,x^{t+1}_n\right)$.
512   While  the remaining  input receives  a new  integer value  $S^t \in
513   \llbracket1;n\rrbracket$, which is provided by the outside world.
514 \end{itemize}
515
516 The topological  behavior of these  particular neural networks  can be
517 proven to be chaotic through the following process. Firstly, we denote
518 by  $F:  \llbracket  1;n  \rrbracket \times  \mathds{B}^n  \rightarrow
519 \mathds{B}^n$     the     function     that     maps     the     value
520 $\left(s,\left(x_1,\dots,x_n\right)\right)    \in    \llbracket    1;n
521 \rrbracket      \times      \mathds{B}^n$      into     the      value
522 $\left(y_1,\dots,y_n\right)       \in       \mathds{B}^n$,       where
523 $\left(y_1,\dots,y_n\right)$  is the  response of  the  neural network
524 after    the    initialization     of    its    input    layer    with
525 $\left(s,\left(x_1,\dots, x_n\right)\right)$.  Secondly, we define $f:
526 \mathds{B}^n       \rightarrow      \mathds{B}^n$       such      that
527 $f\left(x_1,x_2,\dots,x_n\right)$ is equal to
528 \begin{equation}
529 \left(F\left(1,\left(x_1,x_2,\dots,x_n\right)\right),\dots,
530   F\left(n,\left(x_1,x_2,\dots,x_n\right)\right)\right) \enspace .
531 \end{equation}
532 Then $F=F_f$  and this recurrent  neural network produces  exactly the
533 same      output      vectors,      when     feeding      it      with
534 $\left(x_1^0,\dots,x_n^0\right)$    and   $S   \in    \llbracket   1;n
535 \rrbracket^{\mathds{N}}$, than  chaotic iterations $F_f$  with initial
536 condition  $\left(S,(x_1^0,\dots,  x_n^0)\right)  \in  \llbracket  1;n
537 \rrbracket^{\mathds{N}}  \times \mathds{B}^n$.   In the  rest  of this
538 paper,  we will  call such  multilayer perceptrons  CI-MLP($f$), which
539 stands for ``Chaotic Iterations based MultiLayer Perceptron''.
540
541 Checking  if CI-MLP($f$)  behaves chaotically  according  to Devaney's
542 definition  of  chaos  is  simple:  we  need just  to  verify  if  the
543 associated graph  of iterations  $\Gamma(f)$ is strongly  connected or
544 not. As  an incidental consequence,  we finally obtain  an equivalence
545 between  chaotic  iterations   and  CI-MLP($f$).   Therefore,  we  can
546 obviously  study such multilayer  perceptrons with  mathematical tools
547 like  topology  to  establish,  for  example,  their  convergence  or,
548 contrarily, their unpredictable behavior.   An example of such a study
549 is given in the next section.
550
551 \section{Topological properties of chaotic neural networks}
552 \label{S4}
553
554 Let us first recall  two fundamental definitions from the mathematical
555 theory of chaos.
556
557 \begin{definition} \label{def8}
558 A  function   $f$  is   said  to  be   {\bf  expansive}   if  $\exists
559 \varepsilon>0$, $\forall  x \neq y$,  $\exists n \in  \mathds{N}$ such
560 that $d\left(f^n(x),f^n(y)\right) \geq \varepsilon$.
561 \end{definition}
562
563 \begin{definition} \label{def9}
564 A discrete dynamical  system is said to be  {\bf topologically mixing}
565 if  and only  if,  for any  pair  of disjoint  open  sets $U$,$V  \neq
566 \emptyset$, we can find some $n_0  \in \mathds{N}$ such that  for any $n$, 
567 $n\geq n_0$, we have $f^n(U) \cap V \neq \emptyset$.
568 \end{definition}
569
570 As  proven in Ref.~\cite{gfb10:ip},  chaotic iterations  are expansive
571 and  topologically mixing when  $f$ is  the vectorial  negation $f_0$.
572 Consequently,  these  properties are  inherited  by the  CI-MLP($f_0$)
573 recurrent neural network previously presented, which induce a greater
574 unpredictability.  Any  difference on the  initial value of  the input
575 layer is  in particular  magnified up to  be equal to  the expansivity
576 constant.
577
578 Let us then focus on the consequences for  a neural  network to  be chaotic
579 according  to  Devaney's definition.  First  of  all, the  topological
580 transitivity property implies indecomposability.
581
582 \begin{definition} \label{def10}
583 A   dynamical   system   $\left(   \mathcal{X},  f\right)$   is   {\bf
584 indecomposable}  if it  is not  the  union of  two closed  sets $A,  B
585 \subset \mathcal{X}$ such that $f(A) \subset A, f(B) \subset B$.
586 \end{definition}
587
588 \noindent Hence, reducing the set of outputs generated by CI-MLP($f$),
589 in order to  simplify its complexity, is impossible  if $\Gamma(f)$ is
590 strongly connected.  Moreover, under this  hypothesis CI-MLPs($f$) are
591 strongly transitive:
592
593 \begin{definition} \label{def11}
594 A  dynamical system  $\left( \mathcal{X},  f\right)$ is  {\bf strongly
595 transitive} if $\forall x,y  \in \mathcal{X}$, $\forall r>0$, $\exists
596 z  \in  \mathcal{X}$,  $d(z,x)~\leq~r  \Rightarrow  \exists  n  \in
597 \mathds{N}^{\ast}$, $f^n(z)=y$.
598 \end{definition}
599 According to this definition, for all  pairs of points $(x, y)$ in the
600 phase space, a point $z$ can  be found in the neighborhood of $x$ such
601 that one of its iterates $f^n(z)$ is $y$. Indeed, this result has been
602 established  during  the  proof   of  the  transitivity  presented  in
603 Ref.~\cite{guyeux09}.  Among  other  things, the  strong  transitivity
604 leads  to the fact  that without  the knowledge  of the  initial input
605 layer, all outputs are possible.  Additionally, no point of the output
606 space  can   be  discarded  when  studying  CI-MLPs:   this  space  is
607 intrinsically complicated and it cannot be decomposed or simplified.
608
609 Furthermore, those  recurrent neural networks  exhibit the instability
610 property:
611 \begin{definition}
612 A dynamical  system $\left( \mathcal{X}, f\right)$ is  unstable if for
613 all  $x  \in  \mathcal{X}$,   the  orbit  $\gamma_x:n  \in  \mathds{N}
614 \longmapsto f^n(x)$  is unstable,  that means: $\exists  \varepsilon >
615 0$, $\forall  \delta>0$, $\exists y  \in \mathcal{X}$, $\exists  n \in
616 \mathds{N}$,        such        that        $d(x,y)<\delta$        and
617 $d\left(\gamma_x(n),\gamma_y(n)\right) \geq \varepsilon$.
618 \end{definition}
619 This property, which  is implied by the sensitive  point dependence on
620 initial conditions, leads to the fact that in all neighborhoods of any
621 point $x$, there are points that  can be apart by $\varepsilon$ in the
622 future through iterations of the  CI-MLP($f$). Thus, we can claim that
623 the behavior of  these MLPs is unstable when  $\Gamma (f)$ is strongly
624 connected.
625
626 Let  us  now consider  a  compact  metric space  $(M,  d)$  and $f:  M
627 \rightarrow M$  a continuous map. For  each natural number  $n$, a new
628 metric $d_n$ is defined on $M$ by
629 $$d_n(x,y)=\max\{d(f^i(x),f^i(y)): 0\leq i<n\} \enspace .$$
630
631 Given any $\varepsilon > 0$ and $n \geqslant 1$, two points of $M$ are
632 $\varepsilon$-close  with respect to  this metric  if their  first $n$
633 iterates are $\varepsilon$-close.
634
635 This metric  allows one to distinguish  in a neighborhood  of an orbit
636 the points  that move away from  each other during  the iteration from
637 the points  that travel together.  A subset  $E$ of $M$ is  said to be
638 $(n, \varepsilon)$-separated if each pair of distinct points of $E$ is
639 at  least $\varepsilon$  apart in  the metric  $d_n$. Denote  by $H(n,
640 \varepsilon)$     the    maximum     cardinality     of    an     $(n,
641 \varepsilon)$-separated set,
642 \begin{definition}
643 The {\it topological entropy} of the  map $f$ is defined by (see e.g.,
644 Ref.~\cite{Adler65} or Ref.~\cite{Bowen})
645 $$h(f)=\lim_{\varepsilon\to      0}      \left(\limsup_{n\to      \infty}
646 \frac{1}{n}\log H(n,\varepsilon)\right) \enspace .$$
647 \end{definition}
648
649 Then we have the following result \cite{GuyeuxThese10},
650 \begin{theorem}
651 $\left( \mathcal{X},d\right)$  is compact and  the topological entropy
652 of $(\mathcal{X},G_{f_0})$ is infinite.
653 \end{theorem}
654
655 We have explained how to  construct truly chaotic neural networks, how
656 to check whether a  given MLP is chaotic or not, and  how to study its
657 topological behavior.   The last thing to  investigate, when comparing
658 neural  networks   and  Devaney's  chaos,  is   to  determine  whether
659 artificial neural networks  are able to learn or  predict some chaotic
660 behaviors, as  it is defined  in the Devaney's formulation  (when they
661 are not specifically constructed for this purpose).  This statement is
662 studied in the next section.
663
664 \section{Suitability of Artificial Neural Networks 
665 for Predicting Chaotic Behaviors}
666
667 In  the context  of computer  science  different topic  areas have  an
668 interest       in       chaos,       as       for       steganographic
669 techniques~\cite{1309431,Zhang2005759}.    Steganography  consists  in
670 embedding a  secret message within  an ordinary one, while  the secret
671 extraction takes place once  at destination.  The reverse ({\it i.e.},
672 automatically detecting the presence  of hidden messages inside media)
673 is  called   steganalysis.   Among  the   deployed  strategies  inside
674 detectors,          there         are          support         vectors
675 machines~\cite{Qiao:2009:SM:1704555.1704664},                    neural
676 networks~\cite{10.1109/ICME.2003.1221665,10.1109/CIMSiM.2010.36},  and
677 Markov   chains~\cite{Sullivan06steganalysisfor}.    Most   of   these
678 detectors  give quite  good results  and are  rather  competitive when
679 facing steganographic  tools.  However, to  the best of  our knowledge
680 none of the considered information hiding schemes fulfills the Devaney
681 definition  of chaos~\cite{Devaney}.  Indeed,  one can  wonder whether
682 detectors  continue to  give good  results when  facing  truly chaotic
683 schemes.  More  generally, there remains the open  problem of deciding
684 whether artificial intelligence is suitable for predicting topological
685 chaotic behaviors.
686
687 \subsection{Representing Chaotic Iterations for Neural Networks} 
688 \label{section:translation}
689
690 The  problem  of  deciding  whether  classical  feedforward  ANNs  are
691 suitable  to approximate  topological chaotic  iterations may  then be
692 reduced  to evaluate  ANNs on  iterations of  functions  with Strongly
693 Connected  Component  (SCC)~graph  of  iterations.   To  compare  with
694 non-chaotic  iterations,  the experiments  detailed  in the  following
695 sections are  carried out  using both kinds  of function  (chaotic and
696 non-chaotic). Let us emphasize on  the difference between this kind of
697 neural   networks  and  the   Chaotic  Iterations   based  MultiLayer
698 Perceptron.
699
700 We are  then left to compute  two disjoint function  sets that contain
701 either functions  with topological chaos properties  or not, depending
702 on  the strong  connectivity of  their iterations graph.  This  can be
703 achieved for  instance by removing a  set of edges  from the iteration
704 graph $\Gamma(f_0)$ of the vectorial negation function~$f_0$.  One can
705 deduce whether  a function verifies the topological  chaos property or
706 not  by checking  the strong  connectivity of  the resulting  graph of
707 iterations.
708
709 For instance let us consider  the functions $f$ and $g$ from $\Bool^4$
710 to $\Bool^4$ respectively defined by the following lists:
711 $$[0,  0,  2,   3,  13,  13,  6,   3,  8,  9,  10,  11,   8,  13,  14,
712   15]$$ $$\mbox{and } [11, 14, 13, 14, 11, 10, 1, 8, 7, 6, 5, 4, 3, 2,
713   1, 0]  \enspace.$$ In  other words,  the image of  $0011$ by  $g$ is
714 $1110$: it  is obtained as the  binary value of the  fourth element in
715 the  second  list  (namely~14).   It   is  not  hard  to  verify  that
716 $\Gamma(f)$ is  not SCC  (\textit{e.g.}, $f(1111)$ is  $1111$) whereas
717 $\Gamma(g)$  is.  Next section  shows how  to translate  iterations of
718 such functions into a model amenable to be learned by an ANN.
719   
720 This  section  presents how  (not)  chaotic  iterations  of $G_f$  are
721 translated  into  another  model  more  suited  to  artificial  neural
722 networks.  Formally, input and output vectors are pairs~$((S^t)^{t \in
723 \Nats},x)$ and $\left(\sigma((S^t)^{t \in \Nats}),F_{f}(S^0,x)\right)$
724 as defined in~Eq.~(\ref{eq:Gf}).
725
726 Firstly, let us focus on how to memorize configurations.  Two distinct
727 translations are  proposed.  In the first  case, we take  one input in
728 $\Bool$  per  component;  in   the  second  case,  configurations  are
729 memorized  as   natural  numbers.    A  coarse  attempt   to  memorize
730 configuration  as  natural  number  could  consist  in  labeling  each
731 configuration  with  its  translation  into  decimal  numeral  system.
732 However,  such a  representation induces  too many  changes  between a
733 configuration  labeled by  a  power  of two  and  its direct  previous
734 configuration: for instance, 16~(10000) and 15~(01111) are closed in a
735 decimal ordering, but  their Hamming distance is 5.   This is why Gray
736 codes~\cite{Gray47} have been preferred.
737
738 Let us secondly detail how to deal  with strategies.   Obviously,  it is  not
739 possible to  translate in a finite  way an infinite  strategy, even if
740 both $(S^t)^{t \in \Nats}$ and $\sigma((S^t)^{t \in \Nats})$ belong to
741 $\{1,\ldots,n\}^{\Nats}$.  Input strategies are then reduced to have a
742 length  of size  $l  \in  \llbracket 2,k\rrbracket$,  where  $k$ is  a
743 parameter of the evaluation. Notice  that $l$ is greater than or equal
744 to $2$ since  we do not want the shift  $\sigma$~function to return an
745 empty strategy.  Strategies are memorized as natural numbers expressed
746 in base  $n+1$.  At  each iteration, either  none or one  component is
747 modified  (among the  $n$ components)  leading to  a radix  with $n+1$
748 entries.  Finally,  we give an  other input, namely $m  \in \llbracket
749 1,l-1\rrbracket$, which  is the  number of successive  iterations that
750 are applied starting  from $x$.  Outputs are translated  with the same
751 rules.
752
753 To address  the complexity  issue of the  problem, let us  compute the
754 size of the data set an ANN has to deal with.  Each input vector of an
755 input-output pair  is composed of a configuration~$x$,  an excerpt $S$
756 of the strategy to iterate  of size $l \in \llbracket 2, k\rrbracket$,
757 and a  number $m \in  \llbracket 1, l-1\rrbracket$ of  iterations that
758 are executed.
759
760 Firstly, there are $2^n$  configurations $x$, with $n^l$ strategies of
761 size $l$ for  each of them. Secondly, for  a given configuration there
762 are $\omega = 1 \times n^2 +  2 \times n^3 + \ldots+ (k-1) \times n^k$
763 ways  of writing  the pair  $(m,S)$. Furthermore,  it is  not  hard to
764 establish that
765 \begin{equation}
766 \displaystyle{(n-1) \times \omega = (k-1)\times n^{k+1} - \sum_{i=2}^k n^i} \nonumber
767 \end{equation}
768 then
769 \begin{equation}
770 \omega =
771 \dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2} \enspace . \nonumber
772 \end{equation}
773 \noindent And then, finally, the number of  input-output pairs for our 
774 ANNs is 
775 $$
776 2^n \times \left(\dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2}\right) \enspace .
777 $$
778 For  instance, for $4$  binary components  and a  strategy of  at most
779 $3$~terms we obtain 2304~input-output pairs.
780
781 \subsection{Experiments}
782 \label{section:experiments}
783
784 To study  if chaotic iterations can  be predicted, we  choose to train
785 the MultiLayer Perceptron.  As stated  before, this kind of network is
786 in   particular    well-known   for   its    universal   approximation
787 property. Furthermore,  MLPs have been already  considered for chaotic
788 time series prediction.  For example, in~\cite{dalkiran10} the authors
789 have shown that a feedforward  MLP with two hidden layers, and trained
790 with Bayesian  Regulation backpropagation, can  learn successfully the
791 dynamics of Chua's circuit.
792
793 In these experimentations we consider  MLPs having one hidden layer of
794 sigmoidal  neurons  and  output   neurons  with  a  linear  activation
795 function.     They    are    trained    using    the    Limited-memory
796 Broyden-Fletcher-Goldfarb-Shanno quasi-newton algorithm in combination
797 with the Wolfe linear search.  The training process is performed until
798 a maximum number of epochs  is reached.  To prevent overfitting and to
799 estimate the  generalization performance we use  holdout validation by
800 splitting the  data set into  learning, validation, and  test subsets.
801 These subsets  are obtained through  random selection such  that their
802 respective size represents 65\%, 10\%, and 25\% of the whole data set.
803
804 Several  neural  networks  are  trained  for  both  iterations  coding
805 schemes.   In  both  cases   iterations  have  the  following  layout:
806 configurations of  four components and  strategies with at  most three
807 terms. Thus, for  the first coding scheme a data  set pair is composed
808 of 6~inputs and 5~outputs, while for the second one it is respectively
809 3~inputs and 2~outputs. As noticed at the end of the previous section,
810 this  leads to  data sets  that  consist of  2304~pairs. The  networks
811 differ  in the  size of  the hidden  layer and  the maximum  number of
812 training epochs.  We remember that  to evaluate the ability  of neural
813 networks to  predict a  chaotic behavior for  each coding  scheme, the
814 trainings of two data sets, one of them describing chaotic iterations,
815 are compared.
816
817 Thereafter we give,  for the different learning setups  and data sets,
818 the  mean prediction  success rate  obtained for  each  output.  These
819 values  are  computed  considering  10~trainings with  random  subsets
820 construction,  weights  and  biases initialization.   Firstly,  neural
821 networks having 10  and 25~hidden neurons are trained,  with a maximum
822 number  of  epochs that  takes  its  value  in $\{125,250,500\}$  (see
823 Tables~\ref{tab1}  and \ref{tab2}).   Secondly, we  refine  the second
824 coding scheme by splitting the  output vector such that each output is
825 learned by a specific  neural network (Table~\ref{tab3}). In this last
826 case, we increase  the size of the hidden layer  up to 40~neurons, and
827 we consider larger number of epochs.
828
829 \begin{table}[htbp!]
830 \caption{Prediction success rates for configurations expressed as boolean vectors.}
831 \label{tab1}
832 \centering {\small
833 \begin{tabular}{|c|c||c|c|c|}
834 \hline 
835 \multicolumn{5}{|c|}{Networks topology: 6~inputs, 5~outputs and one hidden layer} \\
836 \hline
837 \hline
838 \multicolumn{2}{|c||}{Hidden neurons} & \multicolumn{3}{c|}{10 neurons} \\
839 \cline{3-5} 
840 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ 
841 \hline
842 \multirow{6}{*}{\rotatebox{90}{Chaotic}}&Output~(1) & 90.92\% & 91.75\% & 91.82\% \\ 
843 & Output~(2) & 69.32\% & 78.46\% & 82.15\% \\
844 & Output~(3) & 68.47\% & 78.49\% & 82.22\% \\
845 & Output~(4) & 91.53\% & 92.37\% & 93.4\% \\
846 & Config. & 36.10\% & 51.35\% & 56.85\% \\
847 & Strategy~(5) & 1.91\% & 3.38\% & 2.43\% \\
848 \hline
849 \multirow{6}{*}{\rotatebox{90}{Non-chaotic}}&Output~(1) & 97.64\% & 98.10\% & 98.20\% \\
850 & Output~(2) & 95.15\% & 95.39\% & 95.46\% \\
851 & Output~(3) & 100\% & 100\% & 100\% \\
852 & Output~(4) & 97.47\% & 97.90\% & 97.99\% \\
853 & Config. & 90.52\% & 91.59\% & 91.73\% \\
854 & Strategy~(5) & 3.41\% & 3.40\% & 3.47\% \\
855 \hline
856 \hline
857 \multicolumn{2}{|c||}{Hidden neurons} & \multicolumn{3}{c|}{25 neurons} \\ %& \multicolumn{3}{|c|}{40 neurons} \\
858 \cline{3-5} 
859 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ %& 125 & 250 & 500 \\ 
860 \hline
861 \multirow{6}{*}{\rotatebox{90}{Chaotic}}&Output~(1) & 91.65\% & 92.69\% & 93.93\% \\ %& 91.94\% & 92.89\% & 94.00\% \\
862 & Output~(2) & 72.06\% & 88.46\% & 90.5\% \\ %& 74.97\% & 89.83\% & 91.14\% \\
863 & Output~(3) & 79.19\% & 89.83\% & 91.59\% \\ %& 76.69\% & 89.58\% & 91.84\% \\
864 & Output~(4) & 91.61\% & 92.34\% & 93.47\% \\% & 82.77\% & 92.93\% & 93.48\% \\
865 & Config. & 48.82\% & 67.80\% & 70.97\% \\%& 49.46\% & 68.94\% & 71.11\% \\
866 & Strategy~(5) & 2.62\% & 3.43\% & 3.78\% \\% & 3.10\% & 3.10\% & 3.03\% \\
867 \hline
868 \multirow{6}{*}{\rotatebox{90}{Non-chaotic}}&Output~(1) & 97.87\% & 97.99\% & 98.03\% \\ %& 98.16\% \\
869 & Output~(2) & 95.46\% & 95.84\% & 96.75\% \\ % & 97.4\% \\
870 & Output~(3) & 100\% & 100\% & 100\% \\%& 100\% \\
871 & Output~(4) & 97.77\% & 97.82\% & 98.06\% \\%& 98.31\% \\
872 & Config. & 91.36\% & 91.99\% & 93.03\% \\%& 93.98\% \\
873 & Strategy~(5) & 3.37\% & 3.44\% & 3.29\% \\%& 3.23\% \\
874 \hline
875 \end{tabular}
876 }
877 \end{table}
878
879 Table~\ref{tab1}  presents the  rates  obtained for  the first  coding
880 scheme.   For  the chaotic  data,  it can  be  seen  that as  expected
881 configuration  prediction becomes  better  when the  number of  hidden
882 neurons and maximum  epochs increases: an improvement by  a factor two
883 is observed (from 36.10\% for 10~neurons and 125~epochs to 70.97\% for
884 25~neurons  and  500~epochs). We  also  notice  that  the learning  of
885 outputs~(2)   and~(3)  is   more  difficult.    Conversely,   for  the
886 non-chaotic  case the  simplest training  setup is  enough  to predict
887 configurations.   For  all  network  topologies and  all  outputs  the
888 obtained  results  for the  non-chaotic  case  outperform the  chaotic
889 ones. Finally,  the rates for  the strategies show that  the different
890 networks are unable to learn them.
891
892 For the second coding  scheme (\textit{i.e.}, with Gray Codes)
893 Table~\ref{tab2} shows that any network
894 learns about  five times more non-chaotic  configurations than chaotic
895 ones. As in the previous scheme, the strategies cannot be predicted.
896
897 Let us now compare the  two coding schemes. Firstly, the second scheme
898 disturbs  the   learning  process.   In   fact  in  this   scheme  the
899 configuration is always expressed as  a natural number, whereas in the
900 first one  the number  of inputs follows  the increase of  the boolean
901 vectors coding configurations. In this latter case, the coding gives a
902 finer information on configuration evolution.
903
904 \begin{table}[b]
905 \caption{Prediction success rates for configurations expressed with Gray code}
906 \label{tab2}
907 \centering
908 \begin{tabular}{|c|c||c|c|c|}
909 \hline 
910 \multicolumn{5}{|c|}{Networks topology: 3~inputs, 2~outputs and one hidden layer} \\
911 \hline
912 \hline
913 & Hidden neurons & \multicolumn{3}{c|}{10 neurons} \\
914 \cline{2-5}
915 & Epochs & 125 & 250 & 500 \\ %& 1000 
916 \hline
917 \multirow{2}{*}{Chaotic}& Config.~(1) & 13.29\% & 13.55\% & 13.08\% \\ %& 12.5\%
918 & Strategy~(2) & 0.50\% & 0.52\% & 1.32\% \\ %& 1.42\%
919 \hline
920 \multirow{2}{*}{Non-Chaotic}&Config.~(1) & 77.12\% & 74.00\% & 72.60\% \\ %& 75.81\% 
921 & Strategy~(2) & 0.42\% & 0.80\% & 1.16\% \\ %& 1.42\% 
922 \hline
923 \hline
924 & Hidden neurons & \multicolumn{3}{c|}{25 neurons} \\
925 \cline{2-5}
926 & Epochs & 125 & 250 & 500 \\ %& 1000 
927 \hline
928 \multirow{2}{*}{Chaotic}& Config.~(1) & 12.27\% & 13.15\% & 13.05\% \\ %& 15.44\%
929 & Strategy~(2) & 0.71\% & 0.66\% & 0.88\% \\ %& 1.73\%
930 \hline
931 \multirow{2}{*}{Non-Chaotic}&Config.~(1) & 73.60\% & 74.70\% & 75.89\% \\ %& 68.32\%
932 & Strategy~(2) & 0.64\% & 0.97\% & 1.23\% \\ %& 1.80\%
933 \hline
934 \end{tabular}
935 \end{table}
936
937 Unfortunately, in  practical applications the number  of components is
938 usually  unknown.   Hence, the  first  coding  scheme  cannot be  used
939 systematically.   Therefore, we  provide  a refinement  of the  second
940 scheme: each  output is learned  by a different  ANN. Table~\ref{tab3}
941 presents the  results for  this approach.  In  any case,  whatever the
942 network  topologies,  the  maximum   epoch  number  and  the  kind  of
943 iterations,  the  configuration  success  rate is  slightly  improved.
944 Moreover, the strategies predictions  rates reach almost 12\%, whereas
945 in  Table~\ref{tab2}  they  never   exceed  1.5\%.   Despite  of  this
946 improvement, a long term prediction of chaotic iterations still 
947 appear to be
948 an open issue.
949
950 \begin{table}
951 \caption{Prediction success rates for split outputs.}
952 \label{tab3}
953 \centering
954 \begin{tabular}{|c||c|c|c|}
955 \hline 
956 \multicolumn{4}{|c|}{Networks topology: 3~inputs, 1~output and one hidden layer} \\
957 \hline
958 \hline
959 Epochs & 125 & 250 & 500 \\ 
960 \hline
961 \hline
962 Chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
963 \hline
964 10~neurons & 12.39\% & 14.06\% & 14.32\% \\
965 25~neurons & 13.00\% & 14.28\% & 14.58\% \\
966 40~neurons & 11.58\% & 13.47\% & 14.23\% \\
967 \hline
968 \hline
969 Non chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
970 \cline{2-4}
971 %Epochs & 125 & 250 & 500 \\ 
972 \hline
973 10~neurons & 76.01\% & 74.04\% & 78.16\% \\
974 25~neurons & 76.60\% & 72.13\% & 75.96\% \\
975 40~neurons & 76.34\% & 75.63\% & 77.50\% \\
976 \hline
977 \hline
978 Chaotic/non chaotic & \multicolumn{3}{c|}{Output = Strategy} \\
979 \cline{2-4}
980 %Epochs & 125 & 250 & 500 \\ 
981 \hline
982 10~neurons & 0.76\% & 0.97\% & 1.21\% \\
983 25~neurons & 1.09\% & 0.73\% & 1.79\% \\
984 40~neurons & 0.90\% & 1.02\% & 2.15\% \\
985 \hline
986 \multicolumn{4}{c}{} \\
987 \hline
988 Epochs & 1000 & 2500 & 5000 \\ 
989 \hline
990 \hline
991 Chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
992 \hline
993 10~neurons & 14.51\% & 15.22\% & 15.22\% \\
994 25~neurons & 16.95\% & 17.57\% & 18.46\% \\
995 40~neurons & 17.73\% & 20.75\% & 22.62\% \\
996 \hline
997 \hline
998 Non chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
999 \cline{2-4}
1000 %Epochs & 1000 & 2500 & 5000 \\ 
1001 \hline
1002 10~neurons & 78.98\% & 80.02\% & 79.97\% \\
1003 25~neurons & 79.19\% & 81.59\% & 81.53\% \\
1004 40~neurons & 79.64\% & 81.37\% & 81.37\% \\
1005 \hline
1006 \hline
1007 Chaotic/non chaotic & \multicolumn{3}{c|}{Output = Strategy} \\
1008 \cline{2-4}
1009 %Epochs & 1000 & 2500 & 5000 \\ 
1010 \hline
1011 10~neurons & 3.47\% & 9.98\% & 11.66\% \\
1012 25~neurons & 3.92\% & 8.63\% & 10.09\% \\
1013 40~neurons & 3.29\% & 7.19\% & 7.18\% \\
1014 \hline
1015 \end{tabular}
1016 \end{table}
1017
1018 \section{Conclusion}
1019
1020 In  this paper,  we have  established an  equivalence  between chaotic
1021 iterations,  according to  the Devaney's  definition of  chaos,  and a
1022 class  of  multilayer perceptron  neural  networks.  Firstly, we  have
1023 described how to build a neural network that can be trained to learn a
1024 given chaotic map function.  Then,  we found a condition that allow to
1025 check whether the iterations induced by a function are chaotic or not,
1026 and thus  if a chaotic map  is obtained. Thanks to  this condition our
1027 approach is not limited to a particular function. In the dual case, we
1028 show  that  checking  if  a  neural network  is  chaotic  consists  in
1029 verifying  a property  on an  associated  graph, called  the graph  of
1030 iterations.   These results  are valid  for recurrent  neural networks
1031 with a  particular architecture.  However,  we believe that  a similar
1032 work can be done for  other neural network architectures.  Finally, we
1033 have  discovered at  least one  family of  problems with  a reasonable
1034 size, such  that artificial neural  networks should not be  applied in
1035 the  presence  of chaos,  due  to  their  inability to  learn  chaotic
1036 behaviors in this  context.  Such a consideration is  not reduced to a
1037 theoretical detail:  this family of discrete  iterations is concretely
1038 implemented  in a  new steganographic  method  \cite{guyeux10ter}.  As
1039 steganographic   detectors  embed  tools   like  neural   networks  to
1040 distinguish between  original and stego contents, our  studies tend to
1041 prove that such  detectors might be unable to  tackle with chaos-based
1042 information hiding schemes.  Furthermore, iterations such that not all
1043 of  the  components  are updated  at  each  step  are very  common  in
1044 biological  and  physics mechanisms.   Therefore,  one can  reasonably
1045 wonder whether neural networks should be applied in these contexts.
1046
1047 In  future  work we  intend  to  enlarge  the comparison  between  the
1048 learning   of  truly   chaotic  and   non-chaotic   behaviors.   Other
1049 computational intelligence tools such  as support vector machines will
1050 be investigated  too, to  discover which tools  are the  most relevant
1051 when facing a truly chaotic phenomenon.  A comparison between learning
1052 rate  success  and  prediction  quality will  be  realized.   Concrete
1053 consequences in biology, physics, and computer science security fields
1054 will be  stated.  Lastly,  thresholds separating systems  depending on
1055 the ability to learn their dynamics will be established.
1056
1057 \bibliography{chaos-paper}% Produces the bibliography via BibTeX.
1058
1059 \end{document}
1060 %
1061 % ****** End of file chaos-paper.tex ******