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

Private GIT Repository
c134123771b8a29154e07475414f153722d706fe
[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 is seeded 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$. If this recurrent  neural network is seeded with 
533 $\left(x_1^0,\dots,x_n^0\right)$    and   $S   \in    \llbracket   1;n
534 \rrbracket^{\mathds{N}}$, it produces  exactly the
535 same      output      vectors  than the 
536 chaotic iterations of $F_f$  with initial
537 condition  $\left(S,(x_1^0,\dots,  x_n^0)\right)  \in  \llbracket  1;n
538 \rrbracket^{\mathds{N}}  \times \mathds{B}^n$.
539 Theoretically speakig, such iterations of $F_f$ are thus a formal model of  
540 these kind of recurrent neural networks. In the  rest  of this
541 paper,  we will  call such  multilayer perceptrons  CI-MLP($f$), which
542 stands for ``Chaotic Iterations based MultiLayer Perceptron''.
543
544 Checking  if CI-MLP($f$)  behaves chaotically  according  to Devaney's
545 definition  of  chaos  is  simple:  we  need just  to  verify  if  the
546 associated graph  of iterations  $\Gamma(f)$ is strongly  connected or
547 not. As  an incidental consequence,  we finally obtain  an equivalence
548 between  chaotic  iterations   and  CI-MLP($f$).   Therefore,  we  can
549 obviously  study such multilayer  perceptrons with  mathematical tools
550 like  topology  to  establish,  for  example,  their  convergence  or,
551 contrarily, their unpredictable behavior.   An example of such a study
552 is given in the next section.
553
554 \section{Topological properties of chaotic neural networks}
555 \label{S4}
556
557 Let us first recall  two fundamental definitions from the mathematical
558 theory of chaos.
559
560 \begin{definition} \label{def8}
561 A  function   $f$  is   said  to  be   {\bf  expansive}   if  $\exists
562 \varepsilon>0$, $\forall  x \neq y$,  $\exists n \in  \mathds{N}$ such
563 that $d\left(f^n(x),f^n(y)\right) \geq \varepsilon$.
564 \end{definition}
565
566 \begin{definition} \label{def9}
567 A discrete dynamical  system is said to be  {\bf topologically mixing}
568 if  and only  if,  for any  pair  of disjoint  open  sets $U$,$V  \neq
569 \emptyset$, we can find some $n_0  \in \mathds{N}$ such that  for any $n$, 
570 $n\geq n_0$, we have $f^n(U) \cap V \neq \emptyset$.
571 \end{definition}
572
573 As  proven in Ref.~\cite{gfb10:ip},  chaotic iterations  are expansive
574 and  topologically mixing when  $f$ is  the vectorial  negation $f_0$.
575 Consequently,  these  properties are  inherited  by the  CI-MLP($f_0$)
576 recurrent neural network previously presented, which induce a greater
577 unpredictability.  Any  difference on the  initial value of  the input
578 layer is  in particular  magnified up to  be equal to  the expansivity
579 constant.
580
581 Let us then focus on the consequences for  a neural  network to  be chaotic
582 according  to  Devaney's definition.  First  of  all, the  topological
583 transitivity property implies indecomposability.
584
585 \begin{definition} \label{def10}
586 A   dynamical   system   $\left(   \mathcal{X},  f\right)$   is   {\bf
587 indecomposable}  if it  is not  the  union of  two closed  sets $A,  B
588 \subset \mathcal{X}$ such that $f(A) \subset A, f(B) \subset B$.
589 \end{definition}
590
591 \noindent Hence, reducing the set of outputs generated by CI-MLP($f$),
592 in order to  simplify its complexity, is impossible  if $\Gamma(f)$ is
593 strongly connected.  Moreover, under this  hypothesis CI-MLPs($f$) are
594 strongly transitive:
595
596 \begin{definition} \label{def11}
597 A  dynamical system  $\left( \mathcal{X},  f\right)$ is  {\bf strongly
598 transitive} if $\forall x,y  \in \mathcal{X}$, $\forall r>0$, $\exists
599 z  \in  \mathcal{X}$,  $d(z,x)~\leq~r  \Rightarrow  \exists  n  \in
600 \mathds{N}^{\ast}$, $f^n(z)=y$.
601 \end{definition}
602 According to this definition, for all  pairs of points $(x, y)$ in the
603 phase space, a point $z$ can  be found in the neighborhood of $x$ such
604 that one of its iterates $f^n(z)$ is $y$. Indeed, this result has been
605 established  during  the  proof   of  the  transitivity  presented  in
606 Ref.~\cite{guyeux09}.  Among  other  things, the  strong  transitivity
607 leads  to the fact  that without  the knowledge  of the  initial input
608 layer, all outputs are possible.  Additionally, no point of the output
609 space  can   be  discarded  when  studying  CI-MLPs:   this  space  is
610 intrinsically complicated and it cannot be decomposed or simplified.
611
612 Furthermore, those  recurrent neural networks  exhibit the instability
613 property:
614 \begin{definition}
615 A dynamical  system $\left( \mathcal{X}, f\right)$ is  unstable if for
616 all  $x  \in  \mathcal{X}$,   the  orbit  $\gamma_x:n  \in  \mathds{N}
617 \longmapsto f^n(x)$  is unstable,  that means: $\exists  \varepsilon >
618 0$, $\forall  \delta>0$, $\exists y  \in \mathcal{X}$, $\exists  n \in
619 \mathds{N}$,        such        that        $d(x,y)<\delta$        and
620 $d\left(\gamma_x(n),\gamma_y(n)\right) \geq \varepsilon$.
621 \end{definition}
622 This property, which  is implied by the sensitive  point dependence on
623 initial conditions, leads to the fact that in all neighborhoods of any
624 point $x$, there are points that  can be apart by $\varepsilon$ in the
625 future through iterations of the  CI-MLP($f$). Thus, we can claim that
626 the behavior of  these MLPs is unstable when  $\Gamma (f)$ is strongly
627 connected.
628
629 Let  us  now consider  a  compact  metric space  $(M,  d)$  and $f:  M
630 \rightarrow M$  a continuous map. For  each natural number  $n$, a new
631 metric $d_n$ is defined on $M$ by
632 $$d_n(x,y)=\max\{d(f^i(x),f^i(y)): 0\leq i<n\} \enspace .$$
633
634 Given any $\varepsilon > 0$ and $n \geqslant 1$, two points of $M$ are
635 $\varepsilon$-close  with respect to  this metric  if their  first $n$
636 iterates are $\varepsilon$-close.
637
638 This metric  allows one to distinguish  in a neighborhood  of an orbit
639 the points  that move away from  each other during  the iteration from
640 the points  that travel together.  A subset  $E$ of $M$ is  said to be
641 $(n, \varepsilon)$-separated if each pair of distinct points of $E$ is
642 at  least $\varepsilon$  apart in  the metric  $d_n$. Denote  by $H(n,
643 \varepsilon)$     the    maximum     cardinality     of    an     $(n,
644 \varepsilon)$-separated set,
645 \begin{definition}
646 The {\it topological entropy} of the  map $f$ is defined by (see e.g.,
647 Ref.~\cite{Adler65} or Ref.~\cite{Bowen})
648 $$h(f)=\lim_{\varepsilon\to      0}      \left(\limsup_{n\to      \infty}
649 \frac{1}{n}\log H(n,\varepsilon)\right) \enspace .$$
650 \end{definition}
651
652 Then we have the following result \cite{GuyeuxThese10},
653 \begin{theorem}
654 $\left( \mathcal{X},d\right)$  is compact and  the topological entropy
655 of $(\mathcal{X},G_{f_0})$ is infinite.
656 \end{theorem}
657
658 \begin{figure}
659   \centering
660   \includegraphics[scale=0.625]{scheme}
661   \caption{Summary of addressed membership problems}
662   \label{Fig:scheme}
663 \end{figure}
664
665 The Figure~\ref{Fig:scheme} is a summary of the addressed problems.
666 Section~\ref{S2} has explained how to  construct a truly chaotic neural
667 networks $A$ for instance.
668 Section~\ref{S3} has shown how to check whether a  given MLP
669 $A$ or $C$ is chaotic or not in the sens of Devaney.
670 %, and  how to study its topological behavior. 
671 The last thing to  investigate, when comparing
672 neural  networks   and  Devaney's  chaos,  is to  determine  whether
673 an artificial neural network $A$  is able to learn or  predict some chaotic
674 behaviors of $B$, as  it is defined  in the Devaney's formulation  (when they
675 are not specifically constructed for this purpose).  This statement is
676 studied in the next section.
677
678
679
680
681
682
683
684 \section{Suitability of Artificial Neural Networks 
685 for Predicting Chaotic Behaviors}
686
687 In  the context  of computer  science  different topic  areas have  an
688 interest       in       chaos,       as       for       steganographic
689 techniques~\cite{1309431,Zhang2005759}.    Steganography  consists  in
690 embedding a  secret message within  an ordinary one, while  the secret
691 extraction takes place once  at destination.  The reverse ({\it i.e.},
692 automatically detecting the presence  of hidden messages inside media)
693 is  called   steganalysis.   Among  the   deployed  strategies  inside
694 detectors,          there         are          support         vectors
695 machines~\cite{Qiao:2009:SM:1704555.1704664},                    neural
696 networks~\cite{10.1109/ICME.2003.1221665,10.1109/CIMSiM.2010.36},  and
697 Markov   chains~\cite{Sullivan06steganalysisfor}.    Most   of   these
698 detectors  give quite  good results  and are  rather  competitive when
699 facing steganographic  tools.  However, to  the best of  our knowledge
700 none of the considered information hiding schemes fulfills the Devaney
701 definition  of chaos~\cite{Devaney}.  Indeed,  one can  wonder whether
702 detectors  continue to  give good  results when  facing  truly chaotic
703 schemes.  More  generally, there remains the open  problem of deciding
704 whether artificial intelligence is suitable for predicting topological
705 chaotic behaviors.
706
707 \subsection{Representing Chaotic Iterations for Neural Networks} 
708 \label{section:translation}
709
710 The  problem  of  deciding  whether  classical  feedforward  ANNs  are
711 suitable  to approximate  topological chaotic  iterations may  then be
712 reduced  to evaluate  ANNs on  iterations of  functions  with Strongly
713 Connected  Component  (SCC)~graph  of  iterations.   To  compare  with
714 non-chaotic  iterations,  the experiments  detailed  in the  following
715 sections are  carried out  using both kinds  of function  (chaotic and
716 non-chaotic). Let us emphasize on  the difference between this kind of
717 neural   networks  and  the   Chaotic  Iterations   based  MultiLayer
718 Perceptron.
719
720 We are  then left to compute  two disjoint function  sets that contain
721 either functions  with topological chaos properties  or not, depending
722 on  the strong  connectivity of  their iterations graph.  This  can be
723 achieved for  instance by removing a  set of edges  from the iteration
724 graph $\Gamma(f_0)$ of the vectorial negation function~$f_0$.  One can
725 deduce whether  a function verifies the topological  chaos property or
726 not  by checking  the strong  connectivity of  the resulting  graph of
727 iterations.
728
729 For instance let us consider  the functions $f$ and $g$ from $\Bool^4$
730 to $\Bool^4$ respectively defined by the following lists:
731 $$[0,  0,  2,   3,  13,  13,  6,   3,  8,  9,  10,  11,   8,  13,  14,
732   15]$$ $$\mbox{and } [11, 14, 13, 14, 11, 10, 1, 8, 7, 6, 5, 4, 3, 2,
733   1, 0]  \enspace.$$ In  other words,  the image of  $0011$ by  $g$ is
734 $1110$: it  is obtained as the  binary value of the  fourth element in
735 the  second  list  (namely~14).   It   is  not  hard  to  verify  that
736 $\Gamma(f)$ is  not SCC  (\textit{e.g.}, $f(1111)$ is  $1111$) whereas
737 $\Gamma(g)$  is.  Next section  shows how  to translate  iterations of
738 such functions into a model amenable to be learned by an ANN.
739   
740 This  section  presents how  (not)  chaotic  iterations  of $G_f$  are
741 translated  into  another  model  more  suited  to  artificial  neural
742 networks.  Formally, input and output vectors are pairs~$((S^t)^{t \in
743 \Nats},x)$ and $\left(\sigma((S^t)^{t \in \Nats}),F_{f}(S^0,x)\right)$
744 as defined in~Eq.~(\ref{eq:Gf}).
745
746 Firstly, let us focus on how to memorize configurations.  Two distinct
747 translations are  proposed.  In the first  case, we take  one input in
748 $\Bool$  per  component;  in   the  second  case,  configurations  are
749 memorized  as   natural  numbers.    A  coarse  attempt   to  memorize
750 configuration  as  natural  number  could  consist  in  labeling  each
751 configuration  with  its  translation  into  decimal  numeral  system.
752 However,  such a  representation induces  too many  changes  between a
753 configuration  labeled by  a  power  of two  and  its direct  previous
754 configuration: for instance, 16~(10000) and 15~(01111) are closed in a
755 decimal ordering, but  their Hamming distance is 5.   This is why Gray
756 codes~\cite{Gray47} have been preferred.
757
758 Let us secondly detail how to deal  with strategies.   Obviously,  it is  not
759 possible to  translate in a finite  way an infinite  strategy, even if
760 both $(S^t)^{t \in \Nats}$ and $\sigma((S^t)^{t \in \Nats})$ belong to
761 $\{1,\ldots,n\}^{\Nats}$.  Input strategies are then reduced to have a
762 length  of size  $l  \in  \llbracket 2,k\rrbracket$,  where  $k$ is  a
763 parameter of the evaluation. Notice  that $l$ is greater than or equal
764 to $2$ since  we do not want the shift  $\sigma$~function to return an
765 empty strategy.  Strategies are memorized as natural numbers expressed
766 in base  $n+1$.  At  each iteration, either  none or one  component is
767 modified  (among the  $n$ components)  leading to  a radix  with $n+1$
768 entries.  Finally,  we give an  other input, namely $m  \in \llbracket
769 1,l-1\rrbracket$, which  is the  number of successive  iterations that
770 are applied starting  from $x$.  Outputs are translated  with the same
771 rules.
772
773 To address  the complexity  issue of the  problem, let us  compute the
774 size of the data set an ANN has to deal with.  Each input vector of an
775 input-output pair  is composed of a configuration~$x$,  an excerpt $S$
776 of the strategy to iterate  of size $l \in \llbracket 2, k\rrbracket$,
777 and a  number $m \in  \llbracket 1, l-1\rrbracket$ of  iterations that
778 are executed.
779
780 Firstly, there are $2^n$  configurations $x$, with $n^l$ strategies of
781 size $l$ for  each of them. Secondly, for  a given configuration there
782 are $\omega = 1 \times n^2 +  2 \times n^3 + \ldots+ (k-1) \times n^k$
783 ways  of writing  the pair  $(m,S)$. Furthermore,  it is  not  hard to
784 establish that
785 \begin{equation}
786 \displaystyle{(n-1) \times \omega = (k-1)\times n^{k+1} - \sum_{i=2}^k n^i} \nonumber
787 \end{equation}
788 then
789 \begin{equation}
790 \omega =
791 \dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2} \enspace . \nonumber
792 \end{equation}
793 \noindent And then, finally, the number of  input-output pairs for our 
794 ANNs is 
795 $$
796 2^n \times \left(\dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2}\right) \enspace .
797 $$
798 For  instance, for $4$  binary components  and a  strategy of  at most
799 $3$~terms we obtain 2304~input-output pairs.
800
801 \subsection{Experiments}
802 \label{section:experiments}
803
804 To study  if chaotic iterations can  be predicted, we  choose to train
805 the MultiLayer Perceptron.  As stated  before, this kind of network is
806 in   particular    well-known   for   its    universal   approximation
807 property. Furthermore,  MLPs have been already  considered for chaotic
808 time series prediction.  For example, in~\cite{dalkiran10} the authors
809 have shown that a feedforward  MLP with two hidden layers, and trained
810 with Bayesian  Regulation backpropagation, can  learn successfully the
811 dynamics of Chua's circuit.
812
813 In these experimentations we consider  MLPs having one hidden layer of
814 sigmoidal  neurons  and  output   neurons  with  a  linear  activation
815 function.     They    are    trained    using    the    Limited-memory
816 Broyden-Fletcher-Goldfarb-Shanno quasi-newton algorithm in combination
817 with the Wolfe linear search.  The training process is performed until
818 a maximum number of epochs  is reached.  To prevent overfitting and to
819 estimate the  generalization performance we use  holdout validation by
820 splitting the  data set into  learning, validation, and  test subsets.
821 These subsets  are obtained through  random selection such  that their
822 respective size represents 65\%, 10\%, and 25\% of the whole data set.
823
824 Several  neural  networks  are  trained  for  both  iterations  coding
825 schemes.   In  both  cases   iterations  have  the  following  layout:
826 configurations of  four components and  strategies with at  most three
827 terms. Thus, for  the first coding scheme a data  set pair is composed
828 of 6~inputs and 5~outputs, while for the second one it is respectively
829 3~inputs and 2~outputs. As noticed at the end of the previous section,
830 this  leads to  data sets  that  consist of  2304~pairs. The  networks
831 differ  in the  size of  the hidden  layer and  the maximum  number of
832 training epochs.  We remember that  to evaluate the ability  of neural
833 networks to  predict a  chaotic behavior for  each coding  scheme, the
834 trainings of two data sets, one of them describing chaotic iterations,
835 are compared.
836
837 Thereafter we give,  for the different learning setups  and data sets,
838 the  mean prediction  success rate  obtained for  each  output.  These
839 values  are  computed  considering  10~trainings with  random  subsets
840 construction,  weights  and  biases initialization.   Firstly,  neural
841 networks having 10  and 25~hidden neurons are trained,  with a maximum
842 number  of  epochs that  takes  its  value  in $\{125,250,500\}$  (see
843 Tables~\ref{tab1}  and \ref{tab2}).   Secondly, we  refine  the second
844 coding scheme by splitting the  output vector such that each output is
845 learned by a specific  neural network (Table~\ref{tab3}). In this last
846 case, we increase  the size of the hidden layer  up to 40~neurons, and
847 we consider larger number of epochs.
848
849 \begin{table}[htbp!]
850 \caption{Prediction success rates for configurations expressed as boolean vectors.}
851 \label{tab1}
852 \centering {\small
853 \begin{tabular}{|c|c||c|c|c|}
854 \hline 
855 \multicolumn{5}{|c|}{Networks topology: 6~inputs, 5~outputs and one hidden layer} \\
856 \hline
857 \hline
858 \multicolumn{2}{|c||}{Hidden neurons} & \multicolumn{3}{c|}{10 neurons} \\
859 \cline{3-5} 
860 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ 
861 \hline
862 \multirow{6}{*}{\rotatebox{90}{Chaotic}}&Output~(1) & 90.92\% & 91.75\% & 91.82\% \\ 
863 & Output~(2) & 69.32\% & 78.46\% & 82.15\% \\
864 & Output~(3) & 68.47\% & 78.49\% & 82.22\% \\
865 & Output~(4) & 91.53\% & 92.37\% & 93.4\% \\
866 & Config. & 36.10\% & 51.35\% & 56.85\% \\
867 & Strategy~(5) & 1.91\% & 3.38\% & 2.43\% \\
868 \hline
869 \multirow{6}{*}{\rotatebox{90}{Non-chaotic}}&Output~(1) & 97.64\% & 98.10\% & 98.20\% \\
870 & Output~(2) & 95.15\% & 95.39\% & 95.46\% \\
871 & Output~(3) & 100\% & 100\% & 100\% \\
872 & Output~(4) & 97.47\% & 97.90\% & 97.99\% \\
873 & Config. & 90.52\% & 91.59\% & 91.73\% \\
874 & Strategy~(5) & 3.41\% & 3.40\% & 3.47\% \\
875 \hline
876 \hline
877 \multicolumn{2}{|c||}{Hidden neurons} & \multicolumn{3}{c|}{25 neurons} \\ %& \multicolumn{3}{|c|}{40 neurons} \\
878 \cline{3-5} 
879 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ %& 125 & 250 & 500 \\ 
880 \hline
881 \multirow{6}{*}{\rotatebox{90}{Chaotic}}&Output~(1) & 91.65\% & 92.69\% & 93.93\% \\ %& 91.94\% & 92.89\% & 94.00\% \\
882 & Output~(2) & 72.06\% & 88.46\% & 90.5\% \\ %& 74.97\% & 89.83\% & 91.14\% \\
883 & Output~(3) & 79.19\% & 89.83\% & 91.59\% \\ %& 76.69\% & 89.58\% & 91.84\% \\
884 & Output~(4) & 91.61\% & 92.34\% & 93.47\% \\% & 82.77\% & 92.93\% & 93.48\% \\
885 & Config. & 48.82\% & 67.80\% & 70.97\% \\%& 49.46\% & 68.94\% & 71.11\% \\
886 & Strategy~(5) & 2.62\% & 3.43\% & 3.78\% \\% & 3.10\% & 3.10\% & 3.03\% \\
887 \hline
888 \multirow{6}{*}{\rotatebox{90}{Non-chaotic}}&Output~(1) & 97.87\% & 97.99\% & 98.03\% \\ %& 98.16\% \\
889 & Output~(2) & 95.46\% & 95.84\% & 96.75\% \\ % & 97.4\% \\
890 & Output~(3) & 100\% & 100\% & 100\% \\%& 100\% \\
891 & Output~(4) & 97.77\% & 97.82\% & 98.06\% \\%& 98.31\% \\
892 & Config. & 91.36\% & 91.99\% & 93.03\% \\%& 93.98\% \\
893 & Strategy~(5) & 3.37\% & 3.44\% & 3.29\% \\%& 3.23\% \\
894 \hline
895 \end{tabular}
896 }
897 \end{table}
898
899 Table~\ref{tab1}  presents the  rates  obtained for  the first  coding
900 scheme.   For  the chaotic  data,  it can  be  seen  that as  expected
901 configuration  prediction becomes  better  when the  number of  hidden
902 neurons and maximum  epochs increases: an improvement by  a factor two
903 is observed (from 36.10\% for 10~neurons and 125~epochs to 70.97\% for
904 25~neurons  and  500~epochs). We  also  notice  that  the learning  of
905 outputs~(2)   and~(3)  is   more  difficult.    Conversely,   for  the
906 non-chaotic  case the  simplest training  setup is  enough  to predict
907 configurations.   For  all  network  topologies and  all  outputs  the
908 obtained  results  for the  non-chaotic  case  outperform the  chaotic
909 ones. Finally,  the rates for  the strategies show that  the different
910 networks are unable to learn them.
911
912 For the second coding  scheme (\textit{i.e.}, with Gray Codes)
913 Table~\ref{tab2} shows that any network
914 learns about  five times more non-chaotic  configurations than chaotic
915 ones. As in the previous scheme, the strategies cannot be predicted.
916
917 Let us now compare the  two coding schemes. Firstly, the second scheme
918 disturbs  the   learning  process.   In   fact  in  this   scheme  the
919 configuration is always expressed as  a natural number, whereas in the
920 first one  the number  of inputs follows  the increase of  the boolean
921 vectors coding configurations. In this latter case, the coding gives a
922 finer information on configuration evolution.
923
924 \begin{table}[b]
925 \caption{Prediction success rates for configurations expressed with Gray code}
926 \label{tab2}
927 \centering
928 \begin{tabular}{|c|c||c|c|c|}
929 \hline 
930 \multicolumn{5}{|c|}{Networks topology: 3~inputs, 2~outputs and one hidden layer} \\
931 \hline
932 \hline
933 & Hidden neurons & \multicolumn{3}{c|}{10 neurons} \\
934 \cline{2-5}
935 & Epochs & 125 & 250 & 500 \\ %& 1000 
936 \hline
937 \multirow{2}{*}{Chaotic}& Config.~(1) & 13.29\% & 13.55\% & 13.08\% \\ %& 12.5\%
938 & Strategy~(2) & 0.50\% & 0.52\% & 1.32\% \\ %& 1.42\%
939 \hline
940 \multirow{2}{*}{Non-Chaotic}&Config.~(1) & 77.12\% & 74.00\% & 72.60\% \\ %& 75.81\% 
941 & Strategy~(2) & 0.42\% & 0.80\% & 1.16\% \\ %& 1.42\% 
942 \hline
943 \hline
944 & Hidden neurons & \multicolumn{3}{c|}{25 neurons} \\
945 \cline{2-5}
946 & Epochs & 125 & 250 & 500 \\ %& 1000 
947 \hline
948 \multirow{2}{*}{Chaotic}& Config.~(1) & 12.27\% & 13.15\% & 13.05\% \\ %& 15.44\%
949 & Strategy~(2) & 0.71\% & 0.66\% & 0.88\% \\ %& 1.73\%
950 \hline
951 \multirow{2}{*}{Non-Chaotic}&Config.~(1) & 73.60\% & 74.70\% & 75.89\% \\ %& 68.32\%
952 & Strategy~(2) & 0.64\% & 0.97\% & 1.23\% \\ %& 1.80\%
953 \hline
954 \end{tabular}
955 \end{table}
956
957 Unfortunately, in  practical applications the number  of components is
958 usually  unknown.   Hence, the  first  coding  scheme  cannot be  used
959 systematically.   Therefore, we  provide  a refinement  of the  second
960 scheme: each  output is learned  by a different  ANN. Table~\ref{tab3}
961 presents the  results for  this approach.  In  any case,  whatever the
962 network  topologies,  the  maximum   epoch  number  and  the  kind  of
963 iterations,  the  configuration  success  rate is  slightly  improved.
964 Moreover, the strategies predictions  rates reach almost 12\%, whereas
965 in  Table~\ref{tab2}  they  never   exceed  1.5\%.   Despite  of  this
966 improvement, a long term prediction of chaotic iterations still 
967 appear to be
968 an open issue.
969
970 \begin{table}
971 \caption{Prediction success rates for split outputs.}
972 \label{tab3}
973 \centering
974 \begin{tabular}{|c||c|c|c|}
975 \hline 
976 \multicolumn{4}{|c|}{Networks topology: 3~inputs, 1~output and one hidden layer} \\
977 \hline
978 \hline
979 Epochs & 125 & 250 & 500 \\ 
980 \hline
981 \hline
982 Chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
983 \hline
984 10~neurons & 12.39\% & 14.06\% & 14.32\% \\
985 25~neurons & 13.00\% & 14.28\% & 14.58\% \\
986 40~neurons & 11.58\% & 13.47\% & 14.23\% \\
987 \hline
988 \hline
989 Non chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
990 \cline{2-4}
991 %Epochs & 125 & 250 & 500 \\ 
992 \hline
993 10~neurons & 76.01\% & 74.04\% & 78.16\% \\
994 25~neurons & 76.60\% & 72.13\% & 75.96\% \\
995 40~neurons & 76.34\% & 75.63\% & 77.50\% \\
996 \hline
997 \hline
998 Chaotic/non chaotic & \multicolumn{3}{c|}{Output = Strategy} \\
999 \cline{2-4}
1000 %Epochs & 125 & 250 & 500 \\ 
1001 \hline
1002 10~neurons & 0.76\% & 0.97\% & 1.21\% \\
1003 25~neurons & 1.09\% & 0.73\% & 1.79\% \\
1004 40~neurons & 0.90\% & 1.02\% & 2.15\% \\
1005 \hline
1006 \multicolumn{4}{c}{} \\
1007 \hline
1008 Epochs & 1000 & 2500 & 5000 \\ 
1009 \hline
1010 \hline
1011 Chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
1012 \hline
1013 10~neurons & 14.51\% & 15.22\% & 15.22\% \\
1014 25~neurons & 16.95\% & 17.57\% & 18.46\% \\
1015 40~neurons & 17.73\% & 20.75\% & 22.62\% \\
1016 \hline
1017 \hline
1018 Non chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
1019 \cline{2-4}
1020 %Epochs & 1000 & 2500 & 5000 \\ 
1021 \hline
1022 10~neurons & 78.98\% & 80.02\% & 79.97\% \\
1023 25~neurons & 79.19\% & 81.59\% & 81.53\% \\
1024 40~neurons & 79.64\% & 81.37\% & 81.37\% \\
1025 \hline
1026 \hline
1027 Chaotic/non chaotic & \multicolumn{3}{c|}{Output = Strategy} \\
1028 \cline{2-4}
1029 %Epochs & 1000 & 2500 & 5000 \\ 
1030 \hline
1031 10~neurons & 3.47\% & 9.98\% & 11.66\% \\
1032 25~neurons & 3.92\% & 8.63\% & 10.09\% \\
1033 40~neurons & 3.29\% & 7.19\% & 7.18\% \\
1034 \hline
1035 \end{tabular}
1036 \end{table}
1037
1038 \section{Conclusion}
1039
1040 In  this paper,  we have  established an  equivalence  between chaotic
1041 iterations,  according to  the Devaney's  definition of  chaos,  and a
1042 class  of  multilayer perceptron  neural  networks.  Firstly, we  have
1043 described how to build a neural network that can be trained to learn a
1044 given chaotic map function.  Then,  we found a condition that allow to
1045 check whether the iterations induced by a function are chaotic or not,
1046 and thus  if a chaotic map  is obtained. Thanks to  this condition our
1047 approach is not limited to a particular function. In the dual case, we
1048 show  that  checking  if  a  neural network  is  chaotic  consists  in
1049 verifying  a property  on an  associated  graph, called  the graph  of
1050 iterations.   These results  are valid  for recurrent  neural networks
1051 with a  particular architecture.  However,  we believe that  a similar
1052 work can be done for  other neural network architectures.  Finally, we
1053 have  discovered at  least one  family of  problems with  a reasonable
1054 size, such  that artificial neural  networks should not be  applied in
1055 the  presence  of chaos,  due  to  their  inability to  learn  chaotic
1056 behaviors in this  context.  Such a consideration is  not reduced to a
1057 theoretical detail:  this family of discrete  iterations is concretely
1058 implemented  in a  new steganographic  method  \cite{guyeux10ter}.  As
1059 steganographic   detectors  embed  tools   like  neural   networks  to
1060 distinguish between  original and stego contents, our  studies tend to
1061 prove that such  detectors might be unable to  tackle with chaos-based
1062 information hiding schemes.  Furthermore, iterations such that not all
1063 of  the  components  are updated  at  each  step  are very  common  in
1064 biological  and  physics mechanisms.   Therefore,  one can  reasonably
1065 wonder whether neural networks should be applied in these contexts.
1066
1067 In  future  work we  intend  to  enlarge  the comparison  between  the
1068 learning   of  truly   chaotic  and   non-chaotic   behaviors.   Other
1069 computational intelligence tools such  as support vector machines will
1070 be investigated  too, to  discover which tools  are the  most relevant
1071 when facing a truly chaotic phenomenon.  A comparison between learning
1072 rate  success  and  prediction  quality will  be  realized.   Concrete
1073 consequences in biology, physics, and computer science security fields
1074 will be  stated.  Lastly,  thresholds separating systems  depending on
1075 the ability to learn their dynamics will be established.
1076
1077 \bibliography{chaos-paper}% Produces the bibliography via BibTeX.
1078
1079 \end{document}
1080 %
1081 % ****** End of file chaos-paper.tex ******