X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/hdrcouchot.git/blobdiff_plain/1863b8b84356fa645dafb42dc9fe4028d825e54f..596713f36ad5e56e5860473b80cfcd4821a616c8:/chaosANN.tex?ds=sidebyside

diff --git a/chaosANN.tex b/chaosANN.tex
index cdcd912..b814c12 100644
--- a/chaosANN.tex
+++ b/chaosANN.tex
@@ -4,19 +4,19 @@
 Les rÃ©seaux de neurones chaotiques ont Ã©tÃ© Ã©tudiÃ©s Ã  de maintes reprises 
 par le passÃ© en raison notamment de leurs applications potentielles:
 %les mÃ©moires associatives~\cite{Crook2007267}  
-les  composants utils Ã  la  sÃ©curitÃ© comme les fonctions de 
+les  composants utiles Ã  la  sÃ©curitÃ© comme les fonctions de 
 hachage~\cite{Xiao10},
 le tatouage numÃ©rique~\cite{1309431,Zhang2005759}
 ou les schÃ©mas de chiffrement~\cite{Lian20091296}.  
 Dans tous ces cas, l'emploi de fonctions chaotiques est motivÃ© par 
-leur comportement imprÃ©visibile et proche de l'alÃ©a. 
+leur comportement imprÃ©visible et proche de l'alÃ©a. 
 
 
 Les rÃ©seaux de neurones chaotiques peuvent Ãªtre conÃ§us selon plusieurs 
 principes. Des neurones modifiant leur Ã©tat en suivant une fonction non 
 linÃ©aire son par exemple appelÃ©s neurones chaotiques~\cite{Crook2007267}.
 L'architecture de rÃ©seaux de neurones de type Perceptron multi-couches
-(MLP) n'iterent quant Ã  eux, pas nÃ©cesssairement de fonctions chaotiques.
+(MLP) n'itÃ¨rent quant Ã  eux, pas nÃ©cessairement de fonctions chaotiques.
 Il a cependant Ã©tÃ© dÃ©montrÃ©  que ce sont des approximateurs 
 universels~\cite{Cybenko89,DBLP:journals/nn/HornikSW89}.   
 Ils permettent, dans certains cas, de simuler des comportements 
@@ -64,7 +64,7 @@ $f:\Bool^n\to\Bool^n$ telle que  $\textsc{giu}(f)$ est fortement connexe.
 Ainsi $G_{f_u}$ est chaotique d'aprÃ¨s le thÃ©orÃ¨me~\ref{Th:CaracIC}.
 
 On considÃ¨re ici le schÃ©ma unaire dÃ©fini par l'Ã©quation (\ref{eq:asyn}).
-On construit un perceptron multi-couche associÃ© Ã  la fonction  
+On construit un Perceptron multi-couches associÃ© Ã  la fonction  
 $F_{f_u}$. 
 Plus prÃ©cisÃ©ment, pour chaque entrÃ©e 
  $(x,s)   \in  \mathds{B}^n \times [n]$,
@@ -83,7 +83,7 @@ On obtient une rÃ©seau de neurones dont le comportement est le suivant
   Ã  travers les liens de retours.
 \item Lorsque le rÃ©seau est  activÃ© Ã  la $t^{th}$  itÃ©ration, l'Ã©tat du 
   systÃ¨me $x^t  \in \mathds{B}^n$ reÃ§u depuis la couche de sortie ainsi que le 
-  premier terme de la  sequence $(S^t)^{t  \in \Nats}$
+  premier terme de la  sÃ©quence $(S^t)^{t  \in \Nats}$
   (\textit{i.e.},  $S^0  \in [n]$)  servent Ã  construire le nouveau vecteur de sortie.
   Ce nouveau vecteur, qui reprÃ©sente le nouvel Ã©tat du systÃ¨me dynamique, satisfait:
   \begin{equation}
@@ -94,7 +94,7 @@ On obtient une rÃ©seau de neurones dont le comportement est le suivant
 \begin{figure}
   \centering
   \includegraphics[scale=0.625]{images/perceptron}
-  \caption{Un perceptron Ã©quivalent  aux itÃ©rations unitaires}
+  \caption{Un Perceptron Ã©quivalent  aux itÃ©rations unitaires}
   \label{Fig:perceptron}
 \end{figure}
 
@@ -112,7 +112,7 @@ On peut donc le  qualifier de chaotique au sens de Devaney.
 \section{VÃ©rifier si un rÃ©seau de neurones est chaotique}
 \label{S3}
 On s'intÃ©resse maintenant au cas oÃ¹ l'on dispose d'un
-rÃ©seau de neurones de type perceptron multi-couches
+rÃ©seau de neurones de type Perceptron multi-couches
 dont on cherche Ã  savoir s'il est chaotique (parce qu'il a par exemple Ã©tÃ© 
 dÃ©clarÃ© comme tel) au sens de Devaney. 
 On considÃ¨re de plus que sa topologie est la suivante:
@@ -136,7 +136,7 @@ $\left(\left(x_1,\dots,x_n\right),s\right)    \in   \mathds{B}^n \times[n]$
 le vecteur 
 $\left(y_1,\dots,y_n\right)       \in       \mathds{B}^n$, oÃ¹
 $\left(y_1,\dots,y_n\right)$  sont les sorties du rÃ©seau neuronal
-Ã aprÃ¨s l'initialisation de la couche d'entrÃ©e avec 
+aprÃ¨s l'initialisation de la couche d'entrÃ©e avec 
 $\left(s,\left(x_1,\dots, x_n\right)\right)$.  Ensuite, on dÃ©finie $f:
 \mathds{B}^n       \rightarrow      \mathds{B}^n$  telle que 
 $f\left(x_1,x_2,\dots,x_n\right)$ est Ã©gal Ã  
@@ -158,402 +158,272 @@ de vÃ©rifier si le graphe d'itÃ©rations
 $\textsc{giu}(f)$ est fortement connexe.
 
 
-\section{Un rÃ©seau de neurones peut-il approximer un 
+\section{Un rÃ©seau de neurones peut-il approximer
 des itÃ©ration unaires chaotiques?}
 
 Cette section s'intÃ©resse Ã  Ã©tudier le comportement d'un rÃ©seau de neurones 
 face Ã  des itÃ©rations unaires chaotiques, comme dÃ©finies Ã  
 la section~\ref{sec:TIPE12}.
+Plus prÃ©cisÃ©ment, on considÃ¨re dans cette partie une fonction  dont le graphe 
+des itÃ©rations unaires est fortement connexe et une sÃ©quence dans 
+$[n]^{\mathds{N}}$. On cherche Ã  construire un rÃ©seau de neurones
+qui approximerait les itÃ©rations de la fonction $G_{f_u}$ comme dÃ©finie 
+Ã  l'Ã©quation~(\ref{eq:sch:unaire}).
 
+Sans perte de gÃ©nÃ©ralitÃ©, on considÃ¨re dans ce qui suit une instance
+de de fonction Ã  quatre Ã©lÃ©ments.
 
-\subsection{Representing Chaotic Iterations for Neural Networks} 
+\subsection{Construction du rÃ©seau} 
 \label{section:translation}
 
-The  problem  of  deciding  whether  classical  feedforward  ANNs  are
-suitable  to approximate  topological chaotic  iterations may  then be
-reduced to  evaluate such neural  networks on iterations  of functions
-with  Strongly  Connected  Component  (SCC)~graph of  iterations.   To
-compare with  non-chaotic iterations, the experiments  detailed in the
-following  sections  are carried  out  using  both  kinds of  function
-(chaotic and non-chaotic). Let  us emphasize on the difference between
-this  kind  of  neural  networks  and  the  Chaotic  Iterations  based
-multilayer peceptron.
-
-We are  then left to compute  two disjoint function  sets that contain
-either functions  with topological chaos properties  or not, depending
-on  the strong  connectivity of  their iterations graph.  This  can be
-achieved for  instance by removing a  set of edges  from the iteration
-graph $\Gamma(f_0)$ of the vectorial negation function~$f_0$.  One can
-deduce whether  a function verifies the topological  chaos property or
-not  by checking  the strong  connectivity of  the resulting  graph of
-iterations.
-
-For instance let us consider  the functions $f$ and $g$ from $\Bool^4$
-to $\Bool^4$ respectively defined by the following lists:
-$$[0,  0,  2,   3,  13,  13,  6,   3,  8,  9,  10,  11,   8,  13,  14,
-  15]$$ $$\mbox{and } [11, 14, 13, 14, 11, 10, 1, 8, 7, 6, 5, 4, 3, 2,
-  1, 0]  \enspace.$$ In  other words,  the image of  $0011$ by  $g$ is
-$1110$: it  is obtained as the  binary value of the  fourth element in
-the  second  list  (namely~14).   It   is  not  hard  to  verify  that
-$\Gamma(f)$ is  not SCC  (\textit{e.g.}, $f(1111)$ is  $1111$) whereas
-$\Gamma(g)$ is. The  remaining of this section shows  how to translate
-iterations of such functions into a model amenable to be learned by an
-ANN.   Formally, input  and  output vectors  are pairs~$((S^t)^{t  \in
-  \Nats},x)$          and          $\left(\sigma((S^t)^{t          \in
-  \Nats}),F_{f}(S^0,x)\right)$ as defined in~Eq.~(\ref{eq:Gf}).
-
-Firstly, let us focus on how to memorize configurations.  Two distinct
-translations are  proposed.  In the first  case, we take  one input in
-$\Bool$  per  component;  in   the  second  case,  configurations  are
-memorized  as   natural  numbers.    A  coarse  attempt   to  memorize
-configuration  as  natural  number  could  consist  in  labeling  each
-configuration  with  its  translation  into  decimal  numeral  system.
-However,  such a  representation induces  too many  changes  between a
-configuration  labeled by  a  power  of two  and  its direct  previous
-configuration: for instance, 16~(10000)  and 15~(01111) are close in a
-decimal ordering, but  their Hamming distance is 5.   This is why Gray
-codes~\cite{Gray47} have been preferred.
-
-Secondly, let us detail how to deal with strategies.  Obviously, it is
-not possible to  translate in a finite way  an infinite strategy, even
-if both $(S^t)^{t \in \Nats}$ and $\sigma((S^t)^{t \in \Nats})$ belong
-to  $\{1,\ldots,n\}^{\Nats}$.  Input  strategies are  then  reduced to
-have a length of size $l \in \llbracket 2,k\rrbracket$, where $k$ is a
-parameter of the evaluation. Notice  that $l$ is greater than or equal
-to $2$ since  we do not want the shift  $\sigma$~function to return an
-empty strategy.  Strategies are memorized as natural numbers expressed
-in base  $n+1$.  At  each iteration, either  none or one  component is
-modified  (among the  $n$ components)  leading to  a radix  with $n+1$
-entries.  Finally,  we give an  other input, namely $m  \in \llbracket
-1,l-1\rrbracket$, which  is the  number of successive  iterations that
-are applied starting  from $x$.  Outputs are translated  with the same
-rules.
-
-To address  the complexity  issue of the  problem, let us  compute the
-size of the data set an ANN has to deal with.  Each input vector of an
-input-output pair  is composed of a configuration~$x$,  an excerpt $S$
-of the strategy to iterate  of size $l \in \llbracket 2, k\rrbracket$,
-and a  number $m \in  \llbracket 1, l-1\rrbracket$ of  iterations that
-are executed.
-
-Firstly, there are $2^n$  configurations $x$, with $n^l$ strategies of
-size $l$ for  each of them. Secondly, for  a given configuration there
-are $\omega = 1 \times n^2 +  2 \times n^3 + \ldots+ (k-1) \times n^k$
-ways  of writing  the pair  $(m,S)$. Furthermore,  it is  not  hard to
-establish that
+On considÃ¨re par exemple les deux fonctions $f$ and $g$ de $\Bool^4$
+dans $\Bool^4$ dÃ©finies par:
+
+\begin{eqnarray*}
+f(x_1,x_2,x_3,x_4) &= &
+(x_1(x_2+x_4)+ \overline{x_2}x_3\overline{x_4},
+x_2,
+x_3(\overline{x_1}.\overline{x_4}+x_2x_4+x_1\overline{x_2}),
+x_4+\overline{x_2}x_3) \\
+g(x_1,x_2,x_3,x_4) &= &
+(\overline{x_1},
+\overline{x_2}+ x_1.\overline{x_3}.\overline{x_4},
+\overline{x_3}(x_1 + x_2+x_4),
+\overline{x_4}(x_1 + \overline{x_2}+\overline{x_3}))
+\end{eqnarray*}
+On peut vÃ©rifier facilement que le graphe $\textsc{giu}(f)$ 
+n'est pas fortement connexe car $(1,1,1,1)$ est un point fixe de $f$
+tandis que le graphe $\textsc{giu}(g)$ l'est.   
+
+L'entrÃ©e du rÃ©seau est une paire de la forme 
+$(x,(S^t)^{t  \in  \Nats})$ et sa sortie correspondante est
+de la forme  $\left(F_{h_u}(S^0,x), \sigma((S^t)^{t          \in
+  \Nats})\right)$ comme dÃ©finie Ã  l'Ã©quation~(\ref{eq:sch:unaire}).
+
+On s'intÃ©resse d'abord aux diffÃ©rentes maniÃ¨res de  
+mÃ©moriser des configurations. On en considÃ¨re deux principalement.
+Dans le premier cas, on considÃ¨re une entrÃ©e boolÃ©enne par Ã©lÃ©ment
+tandis que dans le second cas, les configurations  sont mÃ©morisÃ©es comme 
+des entiers naturels. Dans ce dernier cas, une approche naÃ¯ve pourrait 
+consister Ã  attribuer Ã  chaque configuration de $\Bool^n$ 
+l'entier naturel naturel correspondant.
+Cependant, une telle reprÃ©sentation rapproche 
+arbitrairement des configurations diamÃ©tralement
+opposÃ©es dans le $n$-cube comme  une puissance de
+deux et la configuration immÃ©diatement prÃ©cÃ©dente: 10000 serait modÃ©lisÃ©e 
+par 16 et  et 01111 par 15 alors que leur distance de Hamming est 15.
+De maniÃ¨re similaire, ce codage Ã©loigne des configurations qui sont 
+trÃ¨s proches: par exemple 10000 et 00000 ont une distance de Hamming 
+de 1 et sont respectivement reprÃ©sentÃ©es par 16 et 0.
+Pour ces raisons, le codage retenu est celui des codes de Gray~\cite{Gray47}.
+
+Concentrons nous sur la traduction de la stratÃ©gie.
+Il n'est naturellement pas possible de traduire une stratÃ©gie 
+infinie quelconque Ã  l'aide d'un nombre fini d'Ã©lÃ©ments.
+On se restreint donc Ã  des stratÃ©gies de taille 
+$l \in \llbracket 2,k\rrbracket$, oÃ¹ $k$ est un paramÃ¨tre dÃ©fini
+initialement. 
+Chaque stratÃ©gie est mÃ©morisÃ©e comme un entier naturel exprimÃ© en base 
+$n+1$: Ã  chaque itÃ©ration, soit aucun Ã©lÃ©ment n'est modifiÃ©, soit un 
+Ã©lÃ©ment l'est. 
+Enfin, on donne une derniÃ¨re entrÃ©e: $m  \in \llbracket
+1,l-1\rrbracket$, qui est le nombre d'itÃ©rations successives que l'on applique 
+en commenÃ§ant Ã  $x$. 
+Les sorties (stratÃ©gies et configurations) sont mÃ©morisÃ©es 
+selon les mÃªmes rÃ¨gles.
+
+Concentrons nous sur la complexitÃ© du problÃ¨me.
+Chaque entrÃ©e, de l'entrÃ©e-sortie de l'outil est un triplet 
+composÃ© d'une configuration $x$, d'un extrait  $S$ de la stratÃ©gie Ã  
+itÃ©rer de taille $l \in \llbracket 2, k\rrbracket$ et d'un nombre $m \in  \llbracket 1, l-1\rrbracket$ d'itÃ©rations Ã  exÃ©cuter.
+Il y a  $2^n$  configurations $x$ et  $n^l$ stratÃ©gies de
+taille $l$. 
+De plus, pour une  configuration donnÃ©e, il y a 
+$\omega = 1 \times n^2 +  2 \times n^3 + \ldots+ (k-1) \times n^k$
+maniÃ¨res d'Ã©crire le couple $(m,S)$. Il n'est pas difficile d'Ã©tablir que 
 \begin{equation}
 \displaystyle{(n-1) \times \omega = (k-1)\times n^{k+1} - \sum_{i=2}^k n^i} \nonumber
 \end{equation}
-then
+donc
 \begin{equation}
 \omega =
 \dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2} \enspace . \nonumber
 \end{equation}
-\noindent And then, finally, the number of  input-output pairs for our 
-ANNs is 
+\noindent
+Ainsi le nombre de paire d'entrÃ©e-sortie pour les rÃ©seaux de neurones considÃ©rÃ©s
+est 
 $$
 2^n \times \left(\dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2}\right) \enspace .
 $$
-For  instance, for $4$  binary components  and a  strategy of  at most
-$3$~terms we obtain 2304~input-output pairs.
+Par exemple, pour $4$   Ã©lÃ©ments binaires et une stratÃ©gie d'au plus 
+$3$~termes on obtient 2304 couples d'entrÃ©e-sortie.
 
-\subsection{Experiments}
+\subsection{ExpÃ©rimentations}
 \label{section:experiments}
+On se focalise dans cette section sur l'entraÃ®nement d'un Perceptron 
+multi-couches pour apprendre des itÃ©rations chaotiques. Ce type de rÃ©seau
+ayant dÃ©jÃ  Ã©tÃ© Ã©valuÃ© avec succÃ¨s dans la prÃ©diction de 
+sÃ©ries chaotiques temporelles. En effet, les auteurs de~\cite{dalkiran10} 
+ont montrÃ© qu'un MLP pouvait apprendre la dynamique du circuit de Chua.
+Ce rÃ©seau avec rÃ©tropropagation est composÃ© de  deux couches 
+et entraÃ®nÃ© Ã  l'aide d'une  propagation arriÃ¨re Bayesienne.
+
+Le choix de l'architecture du rÃ©seau ainsi que de la mÃ©thode d'apprentissage 
+ont Ã©tÃ© dÃ©taillÃ© dans~\cite{bcgs12:ij}.
+En pratique, nous avons considÃ©rÃ© des configurations de
+quatre Ã©lÃ©ments boolÃ©ens 
+et une stratÃ©gie fixe de longueur 3.
+Pour le premier codage, nous avons ainsi 6~entrÃ©es et 5~sorties
+tandis que pour le second, uniquement  3 entrÃ©es et 2 sorties.
+Cela engendre ainsi 2304~combinaisons possibles comme dÃ©taillÃ© Ã  la 
+section prÃ©cÃ©dente.
+
 
-To study  if chaotic iterations can  be predicted, we  choose to train
-the multilayer perceptron.  As stated  before, this kind of network is
-in  particular  well-known for  its  universal approximation  property
-\cite{Cybenko89,DBLP:journals/nn/HornikSW89}.  Furthermore,  MLPs have
-been  already  considered for  chaotic  time  series prediction.   For
-example,   in~\cite{dalkiran10}  the   authors  have   shown   that  a
-feedforward  MLP with  two hidden  layers, and  trained  with Bayesian
-Regulation  back-propagation, can learn  successfully the  dynamics of
-Chua's circuit.
-
-In  these experiments  we consider  MLPs  having one  hidden layer  of
-sigmoidal  neurons  and  output   neurons  with  a  linear  activation
-function.     They    are    trained    using    the    Limited-memory
-Broyden-Fletcher-Goldfarb-Shanno quasi-newton algorithm in combination
-with the Wolfe linear search.  The training process is performed until
-a maximum number of epochs  is reached.  To prevent overfitting and to
-estimate the  generalization performance we use  holdout validation by
-splitting the  data set into  learning, validation, and  test subsets.
-These subsets  are obtained through  random selection such  that their
-respective size represents 65\%, 10\%, and 25\% of the whole data set.
-
-Several  neural  networks  are  trained  for  both  iterations  coding
-schemes.   In  both  cases   iterations  have  the  following  layout:
-configurations of  four components and  strategies with at  most three
-terms. Thus, for  the first coding scheme a data  set pair is composed
-of 6~inputs and 5~outputs, while for the second one it is respectively
-3~inputs and 2~outputs. As noticed at the end of the previous section,
-this  leads to  data sets  that  consist of  2304~pairs. The  networks
-differ  in the  size of  the hidden  layer and  the maximum  number of
-training epochs.  We remember that  to evaluate the ability  of neural
-networks to  predict a  chaotic behavior for  each coding  scheme, the
-trainings of two data sets, one of them describing chaotic iterations,
-are compared.
-
-Thereafter we give,  for the different learning setups  and data sets,
-the mean prediction success rate obtained for each output. Such a rate
-represents the percentage of  input-output pairs belonging to the test
-subset  for  which  the   corresponding  output  value  was  correctly
-predicted.   These values are  computed considering  10~trainings with
-random  subsets  construction,   weights  and  biases  initialization.
-Firstly, neural networks having  10 and 25~hidden neurons are trained,
-with   a  maximum   number  of   epochs  that   takes  its   value  in
-$\{125,250,500\}$  (see Tables~\ref{tab1} and  \ref{tab2}).  Secondly,
-we refine the second coding scheme by splitting the output vector such
-that   each  output   is  learned   by  a   specific   neural  network
-(Table~\ref{tab3}). In  this last  case, we increase  the size  of the
-hidden layer up to 40~neurons and we consider larger number of epochs.
 
 \begin{table}[htbp!]
-\caption{Prediction success rates for configurations expressed as boolean vectors.}
-\label{tab1}
 \centering {\small
 \begin{tabular}{|c|c||c|c|c|}
 \hline 
-\multicolumn{5}{|c|}{Networks topology: 6~inputs, 5~outputs, and one hidden layer} \\
+\multicolumn{5}{|c|}{Topologie du rÃ©seau: 6~entrÃ©es, 5~sorties, 1~couche cachÃ©e} \\
 \hline
 \hline
-\multicolumn{2}{|c||}{Hidden neurons} & \multicolumn{3}{c|}{10 neurons} \\
+\multicolumn{2}{|c||}{Neurones cachÃ©s} & \multicolumn{3}{c|}{10 neurones} \\
 \cline{3-5} 
 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ 
 \hline
-\multirow{6}{*}{\rotatebox{90}{Chaotic}}&Output~(1) & 90.92\% & 91.75\% & 91.82\% \\ 
-& Output~(2) & 69.32\% & 78.46\% & 82.15\% \\
-& Output~(3) & 68.47\% & 78.49\% & 82.22\% \\
-& Output~(4) & 91.53\% & 92.37\% & 93.4\% \\
+\multirow{6}{*}{\rotatebox{90}{Chaotique $g$ }}&EntrÃ©e~(1) & 90.92\% & 91.75\% & 91.82\% \\ 
+& EntrÃ©e~(2) & 69.32\% & 78.46\% & 82.15\% \\
+& EntrÃ©e~(3) & 68.47\% & 78.49\% & 82.22\% \\
+& EntrÃ©e~(4) & 91.53\% & 92.37\% & 93.4\% \\
 & Config. & 36.10\% & 51.35\% & 56.85\% \\
-& Strategy~(5) & 1.91\% & 3.38\% & 2.43\% \\
+& StratÃ©gie~(5) & 1.91\% & 3.38\% & 2.43\% \\
 \hline
-\multirow{6}{*}{\rotatebox{90}{Non-chaotic}}&Output~(1) & 97.64\% & 98.10\% & 98.20\% \\
-& Output~(2) & 95.15\% & 95.39\% & 95.46\% \\
-& Output~(3) & 100\% & 100\% & 100\% \\
-& Output~(4) & 97.47\% & 97.90\% & 97.99\% \\
+\multirow{6}{*}{\rotatebox{90}{Non-chaotic $f$}}&EntrÃ©e~(1) & 97.64\% & 98.10\% & 98.20\% \\
+& EntrÃ©e~(2) & 95.15\% & 95.39\% & 95.46\% \\
+& EntrÃ©e~(3) & 100\% & 100\% & 100\% \\
+& EntrÃ©e~(4) & 97.47\% & 97.90\% & 97.99\% \\
 & Config. & 90.52\% & 91.59\% & 91.73\% \\
-& Strategy~(5) & 3.41\% & 3.40\% & 3.47\% \\
+& StratÃ©gie~(5) & 3.41\% & 3.40\% & 3.47\% \\
 \hline
 \hline
-\multicolumn{2}{|c||}{Hidden neurons} & \multicolumn{3}{c|}{25 neurons} \\ %& \multicolumn{3}{|c|}{40 neurons} \\
-\cline{3-5} 
+\multicolumn{2}{|c||}{Neurones cachÃ©s} & \multicolumn{3}{c|}{25 neurones} \\
+\cline{3-5} \\%& \multicolumn{3}{|c|}{40 neurons} \\
 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ %& 125 & 250 & 500 \\ 
 \hline
-\multirow{6}{*}{\rotatebox{90}{Chaotic}}&Output~(1) & 91.65\% & 92.69\% & 93.93\% \\ %& 91.94\% & 92.89\% & 94.00\% \\
-& Output~(2) & 72.06\% & 88.46\% & 90.5\% \\ %& 74.97\% & 89.83\% & 91.14\% \\
-& Output~(3) & 79.19\% & 89.83\% & 91.59\% \\ %& 76.69\% & 89.58\% & 91.84\% \\
-& Output~(4) & 91.61\% & 92.34\% & 93.47\% \\% & 82.77\% & 92.93\% & 93.48\% \\
+\multirow{6}{*}{\rotatebox{90}{Chaotique $g$}}&EntrÃ©e~(1) & 91.65\% & 92.69\% & 93.93\% \\ %& 91.94\% & 92.89\% & 94.00\% \\
+& EntrÃ©e~(2) & 72.06\% & 88.46\% & 90.5\% \\ %& 74.97\% & 89.83\% & 91.14\% \\
+& EntrÃ©e~(3) & 79.19\% & 89.83\% & 91.59\% \\ %& 76.69\% & 89.58\% & 91.84\% \\
+& EntrÃ©e~(4) & 91.61\% & 92.34\% & 93.47\% \\% & 82.77\% & 92.93\% & 93.48\% \\
 & Config. & 48.82\% & 67.80\% & 70.97\% \\%& 49.46\% & 68.94\% & 71.11\% \\
-& Strategy~(5) & 2.62\% & 3.43\% & 3.78\% \\% & 3.10\% & 3.10\% & 3.03\% \\
+& StratÃ©gie~(5) & 2.62\% & 3.43\% & 3.78\% \\% & 3.10\% & 3.10\% & 3.03\% \\
 \hline
-\multirow{6}{*}{\rotatebox{90}{Non-chaotic}}&Output~(1) & 97.87\% & 97.99\% & 98.03\% \\ %& 98.16\% \\
-& Output~(2) & 95.46\% & 95.84\% & 96.75\% \\ % & 97.4\% \\
-& Output~(3) & 100\% & 100\% & 100\% \\%& 100\% \\
-& Output~(4) & 97.77\% & 97.82\% & 98.06\% \\%& 98.31\% \\
+\multirow{6}{*}{\rotatebox{90}{Non-chaotique $f$}}&EntrÃ©e~(1) & 97.87\% & 97.99\% & 98.03\% \\ %& 98.16\% \\
+& EntrÃ©e~(2) & 95.46\% & 95.84\% & 96.75\% \\ % & 97.4\% \\
+& EntrÃ©e~(3) & 100\% & 100\% & 100\% \\%& 100\% \\
+& EntrÃ©e~(4) & 97.77\% & 97.82\% & 98.06\% \\%& 98.31\% \\
 & Config. & 91.36\% & 91.99\% & 93.03\% \\%& 93.98\% \\
-& Strategy~(5) & 3.37\% & 3.44\% & 3.29\% \\%& 3.23\% \\
+& StratÃ©gie~(5) & 3.37\% & 3.44\% & 3.29\% \\%& 3.23\% \\
 \hline
 \end{tabular}
 }
+\caption{Taux de prÃ©diction lorsque les configurations sont exprimÃ©es comme un vecteur boolÃ©en.}
+\label{tab1}
 \end{table}
+Le tableau~\ref{tab1} synthÃ©tise les rÃ©sultats obtenus avec le premier 
+codage. Sans surprise, la prÃ©cision de la prÃ©diction croit 
+avec l'Epoch et le nombre de neurones sur la couche cachÃ©e.
+Dans tous les cas, les rÃ©sultats sont plus prÃ©cis dans le cas non 
+chaotique que dans l'autre. Enfin, le rÃ©seau ne parvient jamais Ã 
+apprendre le comportement de la stratÃ©gie.
 
-Table~\ref{tab1}  presents the  rates  obtained for  the first  coding
-scheme.   For  the chaotic  data,  it can  be  seen  that as  expected
-configuration  prediction becomes  better  when the  number of  hidden
-neurons and maximum  epochs increases: an improvement by  a factor two
-is observed (from 36.10\% for 10~neurons and 125~epochs to 70.97\% for
-25~neurons  and  500~epochs). We  also  notice  that  the learning  of
-outputs~(2)   and~(3)  is   more  difficult.    Conversely,   for  the
-non-chaotic  case the  simplest training  setup is  enough  to predict
-configurations.  For all these  feedforward network topologies and all
-outputs the  obtained results for the non-chaotic  case outperform the
-chaotic  ones. Finally,  the rates  for the  strategies show  that the
-different feedforward networks are unable to learn them.
-
-For  the  second  coding   scheme  (\textit{i.e.},  with  Gray  Codes)
-Table~\ref{tab2} shows  that any network learns about  five times more
-non-chaotic  configurations than  chaotic  ones.  As  in the  previous
-scheme,       the      strategies      cannot       be      predicted.
-Figures~\ref{Fig:chaotic_predictions}                              and
-\ref{Fig:non-chaotic_predictions} present the predictions given by two
-feedforward multilayer  perceptrons that were  respectively trained to
-learn chaotic  and non-chaotic data,  using the second  coding scheme.
-Each figure  shows for  each sample of  the test  subset (577~samples,
-representing 25\%  of the 2304~samples) the  configuration that should
-have been predicted and the one given by the multilayer perceptron. It
-can be  seen that for  the chaotic data  the predictions are  far away
-from the  expected configurations.  Obviously,  the better predictions
-for the non-chaotic data reflect their regularity.
-
-Let us now compare the  two coding schemes. Firstly, the second scheme
-disturbs  the   learning  process.   In   fact  in  this   scheme  the
-configuration is always expressed as  a natural number, whereas in the
-first one  the number  of inputs follows  the increase of  the Boolean
-vectors coding configurations. In this latter case, the coding gives a
-finer information on configuration evolution.
 \begin{table}[b]
-\caption{Prediction success rates for configurations expressed with Gray code}
-\label{tab2}
 \centering
 \begin{tabular}{|c|c||c|c|c|}
 \hline 
-\multicolumn{5}{|c|}{Networks topology: 3~inputs, 2~outputs, and one hidden layer} \\
+\multicolumn{5}{|c|}{Topologie du rÃ©seau: 3~entrÃ©es, 2~sorties, 1~couche cachÃ©e} \\
 \hline
 \hline
-& Hidden neurons & \multicolumn{3}{c|}{10 neurons} \\
+& Neurones cachÃ©s & \multicolumn{3}{c|}{10 neurones} \\
 \cline{2-5}
 & Epochs & 125 & 250 & 500 \\ %& 1000 
 \hline
-\multirow{2}{*}{Chaotic}& Config.~(1) & 13.29\% & 13.55\% & 13.08\% \\ %& 12.5\%
-& Strategy~(2) & 0.50\% & 0.52\% & 1.32\% \\ %& 1.42\%
+\multirow{2}{*}{Chaotique $g$}& Config.~(1) & 13.29\% & 13.55\% & 13.08\% \\ %& 12.5\%
+& StratÃ©gie~(2) & 0.50\% & 0.52\% & 1.32\% \\ %& 1.42\%
 \hline
-\multirow{2}{*}{Non-Chaotic}&Config.~(1) & 77.12\% & 74.00\% & 72.60\% \\ %& 75.81\% 
-& Strategy~(2) & 0.42\% & 0.80\% & 1.16\% \\ %& 1.42\% 
+\multirow{2}{*}{Non-Chaotique $f$}&Config.~(1) & 77.12\% & 74.00\% & 72.60\% \\ %& 75.81\% 
+& StratÃ©gie~(2) & 0.42\% & 0.80\% & 1.16\% \\ %& 1.42\% 
 \hline
 \hline
-& Hidden neurons & \multicolumn{3}{c|}{25 neurons} \\
+& Neurones cachÃ©s& \multicolumn{3}{c|}{25 neurones} \\
 \cline{2-5}
 & Epochs & 125 & 250 & 500 \\ %& 1000 
 \hline
-\multirow{2}{*}{Chaotic}& Config.~(1) & 12.27\% & 13.15\% & 13.05\% \\ %& 15.44\%
-& Strategy~(2) & 0.71\% & 0.66\% & 0.88\% \\ %& 1.73\%
+\multirow{2}{*}{Chaotique $g$ }& Config.~(1) & 12.27\% & 13.15\% & 13.05\% \\ %& 15.44\%
+& StratÃ©gie~(2) & 0.71\% & 0.66\% & 0.88\% \\ %& 1.73\%
 \hline
-\multirow{2}{*}{Non-Chaotic}&Config.~(1) & 73.60\% & 74.70\% & 75.89\% \\ %& 68.32\%
-& Strategy~(2) & 0.64\% & 0.97\% & 1.23\% \\ %& 1.80\%
+\multirow{2}{*}{Non-Chaotique $f$}&Config.~(1) & 73.60\% & 74.70\% & 75.89\% \\ %& 68.32\%
+& StratÃ©gie~(2) & 0.64\% & 0.97\% & 1.23\% \\ %& 1.80\%
 \hline
 \end{tabular}
+\caption{Taux de prÃ©diction lorsque les configurations sont exprimÃ©es 
+Ã  l'aide de codes de Gray.}
+\label{tab2}
 \end{table}
 
-\begin{figure}
-  \centering
-  \includegraphics[scale=0.5]{images/chaotic_trace2}
-  \caption {Second coding scheme - Predictions obtained for a chaotic test subset.}
-  \label{Fig:chaotic_predictions}
-\end{figure}
 
-\begin{figure}
-  \centering
-  \includegraphics[scale=0.5]{images/non-chaotic_trace2} 
-  \caption{Second coding scheme - Predictions obtained for a non-chaotic test subset.}
-  \label{Fig:non-chaotic_predictions}
+
+Les rÃ©sultats concernant le second codage  (\textit{i.e.},  avec les codes
+de   Gray) sont synthÃ©tisÃ©s dans le tableau~\ref{tab2}. On constate 
+que le rÃ©seau apprend cinq fois mieux les comportement non chaotiques
+que ceux qui le sont. Ceci est est illustrÃ© au travers des 
+figures~\ref{Fig:chaotic_predictions} et~\ref{Fig:non-chaotic_predictions}.
+De plus, comme dans le codage prÃ©cÃ©dent, les stratÃ©gies ne peuvent pas Ãªtre 
+prÃ©dites.  
+On constate que ce second codage rÃ©duit certes le nombre de sorties, mais est 
+largement moins performant que le premier.
+On peut expliquer ceci par le fait
+que ce second codage garantit que deux entiers successifs correspondent 
+Ã  deux configurations voisines, \textit{i.e.}, qui ne diffÃ¨rent que d'un 
+Ã©lÃ©ment.
+La rÃ©ciproque n'est cependant pas Ã©tablie et deux configurations voisines
+peuvent Ãªtre traduites par des entiers trÃ¨s Ã©loignÃ©s et ainsi difficiles 
+ Ã  apprendre. 
+
+
+\begin{figure}[ht]
+  \begin{center}
+    \subfigure[Fonction chaotique $g$]{
+      \begin{minipage}{0.48\textwidth}
+        \begin{center}
+          \includegraphics[scale=0.37]{images/chaotic_trace2}
+        \end{center}
+      \end{minipage}
+      \label{Fig:chaotic_predictions}
+    }
+    \subfigure[Fonction non-chaotique $f$]{
+      \begin{minipage}{0.48\textwidth}
+        \begin{center}
+          \includegraphics[scale=0.37]{images/non-chaotic_trace2} 
+        \end{center}
+      \end{minipage}
+      \label{Fig:non-chaotic_predictions}
+    }
+  \end{center}
+  \caption {PrÃ©diction lorsque les configurations sont exprimÃ©es 
+Ã  l'aide de codes de Gray.}
 \end{figure}
 
-Unfortunately, in  practical applications the number  of components is
-usually  unknown.   Hence, the  first  coding  scheme  cannot be  used
-systematically.   Therefore, we  provide  a refinement  of the  second
-scheme: each  output is learned  by a different  ANN. Table~\ref{tab3}
-presents the  results for  this approach.  In  any case,  whatever the
-considered feedforward  network topologies, the  maximum epoch number,
-and the kind of iterations, the configuration success rate is slightly
-improved.   Moreover, the  strategies predictions  rates  reach almost
-12\%, whereas in Table~\ref{tab2} they never exceed 1.5\%.  Despite of
-this improvement,  a long term prediction of  chaotic iterations still
-appear to be an open issue.
-
-\begin{table}
-\caption{Prediction success rates for split outputs.}
-\label{tab3}
-\centering
-\begin{tabular}{|c||c|c|c|}
-\hline 
-\multicolumn{4}{|c|}{Networks topology: 3~inputs, 1~output, and one hidden layer} \\
-\hline
-\hline
-Epochs & 125 & 250 & 500 \\ 
-\hline
-\hline
-Chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
-\hline
-10~neurons & 12.39\% & 14.06\% & 14.32\% \\
-25~neurons & 13.00\% & 14.28\% & 14.58\% \\
-40~neurons & 11.58\% & 13.47\% & 14.23\% \\
-\hline
-\hline
-Non chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
-\cline{2-4}
-%Epochs & 125 & 250 & 500 \\ 
-\hline
-10~neurons & 76.01\% & 74.04\% & 78.16\% \\
-25~neurons & 76.60\% & 72.13\% & 75.96\% \\
-40~neurons & 76.34\% & 75.63\% & 77.50\% \\
-\hline
-\hline
-Chaotic/non chaotic & \multicolumn{3}{c|}{Output = Strategy} \\
-\cline{2-4}
-%Epochs & 125 & 250 & 500 \\ 
-\hline
-10~neurons & 0.76\% & 0.97\% & 1.21\% \\
-25~neurons & 1.09\% & 0.73\% & 1.79\% \\
-40~neurons & 0.90\% & 1.02\% & 2.15\% \\
-\hline
-\multicolumn{4}{c}{} \\
-\hline
-Epochs & 1000 & 2500 & 5000 \\ 
-\hline
-\hline
-Chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
-\hline
-10~neurons & 14.51\% & 15.22\% & 15.22\% \\
-25~neurons & 16.95\% & 17.57\% & 18.46\% \\
-40~neurons & 17.73\% & 20.75\% & 22.62\% \\
-\hline
-\hline
-Non chaotic & \multicolumn{3}{c|}{Output = Configuration} \\
-\cline{2-4}
-%Epochs & 1000 & 2500 & 5000 \\ 
-\hline
-10~neurons & 78.98\% & 80.02\% & 79.97\% \\
-25~neurons & 79.19\% & 81.59\% & 81.53\% \\
-40~neurons & 79.64\% & 81.37\% & 81.37\% \\
-\hline
-\hline
-Chaotic/non chaotic & \multicolumn{3}{c|}{Output = Strategy} \\
-\cline{2-4}
-%Epochs & 1000 & 2500 & 5000 \\ 
-\hline
-10~neurons & 3.47\% & 9.98\% & 11.66\% \\
-25~neurons & 3.92\% & 8.63\% & 10.09\% \\
-40~neurons & 3.29\% & 7.19\% & 7.18\% \\
-\hline
-\end{tabular}
-\end{table}
 
 \section{Conclusion}
-
-In  this paper,  we have  established an  equivalence  between chaotic
-iterations,  according to  the Devaney's  definition of  chaos,  and a
-class  of multilayer  perceptron  neural networks.   Firstly, we  have
-described how to build a neural network that can be trained to learn a
-given chaotic map function. Secondly,  we found a condition that allow
-to check whether  the iterations induced by a  function are chaotic or
-not, and thus  if a chaotic map is obtained.  Thanks to this condition
-our  approach is not  limited to  a particular  function. In  the dual
-case, we show that checking if a neural network is chaotic consists in
-verifying  a property  on an  associated  graph, called  the graph  of
-iterations.   These results  are valid  for recurrent  neural networks
-with a  particular architecture.  However,  we believe that  a similar
-work can be done for  other neural network architectures.  Finally, we
-have  discovered at  least one  family of  problems with  a reasonable
-size, such  that artificial neural  networks should not be  applied in
-the  presence  of chaos,  due  to  their  inability to  learn  chaotic
-behaviors in this  context.  Such a consideration is  not reduced to a
-theoretical detail:  this family of discrete  iterations is concretely
-implemented  in a  new steganographic  method  \cite{guyeux10ter}.  As
-steganographic   detectors  embed  tools   like  neural   networks  to
-distinguish between  original and stego contents, our  studies tend to
-prove that such  detectors might be unable to  tackle with chaos-based
-information  hiding  schemes.
-
-In  future  work we  intend  to  enlarge  the comparison  between  the
-learning   of  truly   chaotic  and   non-chaotic   behaviors.   Other
-computational intelligence tools such  as support vector machines will
-be investigated  too, to  discover which tools  are the  most relevant
-when facing a truly chaotic phenomenon.  A comparison between learning
-rate  success  and  prediction  quality will  be  realized.   Concrete
-consequences in biology, physics, and computer science security fields
-will then be stated.
-
+Dans ce chapitre, nous avons Ã©tabli une similitude entre les itÃ©rations 
+chaotiques et une famille  de Perceptrons multi-couches.
+Nous avons d'abord montrÃ© comment  construire un rÃ©seau de neurones 
+ayant un comportement chaotique.
+Nous avons prÃ©sentÃ© ensuite comment vÃ©rifier si un rÃ©seau de neurones 
+Ã©tabli Ã©tait chaotique.
+Nous avons enfin montrÃ© en pratique qu'il est difficile pour un 
+rÃ©seau de neurones d'apprendre le comportement global d'itÃ©rations
+chaotiques.
 % \appendix{}
 
 % \begin{Def} \label{def2}
