X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/hdrcouchot.git/blobdiff_plain/fa0f3e5db965380aa9a72b5098cd11cfee161c6d..416d383eafc79d519cc2910697507e81bdc0d3c7:/chaosANN.tex?ds=inline diff --git a/chaosANN.tex b/chaosANN.tex index 239251e..4ea34b9 100644 --- a/chaosANN.tex +++ b/chaosANN.tex @@ -1,22 +1,20 @@ -% \section{Introduction} -% \label{S1} 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 @@ -28,8 +26,6 @@ fonctions chaotiques. - - Ces réseaux de neurones partagent le fait qu'ils sont qualifiés de ``chaotiques'' sous prétexte qu'ils embarquent une fonction de ce type et ce sans aucune preuve rigoureuse. Ce chapitre caractérise la @@ -37,23 +33,13 @@ classe des réseaux de neurones MLP chaotiques. Il s'intéresse ensuite à l'étude de prévisibilité de systèmes dynamiques discrets chaotiques par cette famille de MLP. -\JFC{revoir plan} - -The remainder of this research work is organized as follows. The next -section is devoted to the basics of Devaney's chaos. Section~\ref{S2} -formally describes how to build a neural network that operates -chaotically. Section~\ref{S3} is devoted to the dual case of checking -whether an existing neural network is chaotic or not. Topological -properties of chaotic neural networks are discussed in Sect.~\ref{S4}. -The Section~\ref{section:translation} shows how to translate such -iterations into an Artificial Neural Network (ANN), in order to -evaluate the capability for this latter to learn chaotic behaviors. -This ability is studied in Sect.~\ref{section:experiments}, where -various ANNs try to learn two sets of data: the first one is obtained -by chaotic iterations while the second one results from a non-chaotic -system. Prediction success rates are given and discussed for the two -sets. The paper ends with a conclusion section where our contribution -is summed up and intended future work is exposed. +La section~\ref{S2} définit la construction d'un réseau de neurones +chaotique selon Devanay. La section~\ref{S3} présente l'approche duale +de vérification si un réseau de neurones est chaotique ou non. +La section~\ref{sec:ann:approx} s'intéresse à étudier pratiquement +si un réseau de +neurones peut approximer des itération unaires chaotiques. Ces itérations +étant obtenues à partir de fonction générées à l'aide du chapitre précédent. \section{Un réseau de neurones chaotique au sens de Devaney} @@ -64,7 +50,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 +69,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 +80,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 +98,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 +122,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 à @@ -159,12 +145,12 @@ $\textsc{giu}(f)$ est fortement connexe. \section{Un réseau de neurones peut-il approximer -des itération unaires chaotiques?} +des itération unaires chaotiques?}\label{sec:ann:approx} 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écésment, on considère dans cette partie une fonction dont le graphe +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 @@ -211,17 +197,17 @@ 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 alros que leur distance de Hamming est 15. +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 stragté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 parametre défini +$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 @@ -232,7 +218,7 @@ 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èmew. +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. @@ -256,19 +242,19 @@ $$ 2^n \times \left(\dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2}\right) \enspace . $$ Par exemple, pour $4$ éléments binaires et une stratégie d'au plus -$3$~termes on obtient 2304 couples d'entrée-sorties. +$3$~termes on obtient 2304 couples d'entrée-sortie. \subsection{Expérimentations} \label{section:experiments} -On se focalise dans cette section sur l'entraînement d'un perceptron -multi-couche pour apprendre des itérations chaotiques. Ce type de réseau +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 entrainé à l'aide d'une propagation arrière Bayesienne. +et entraîné à l'aide d'une propagation arrière Bayesienne. -Le choix de l'achitecture du réseau ainsi que de la méthode d'apprentissage +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 @@ -379,15 +365,15 @@ 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 certe le nombre de sorties, mais est +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{ie.e}, qui ne diffèrent que d'un +à 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 traduitent par des entiers très éloignés et ainsi difficils -àapprendre. +peuvent être traduites par des entiers très éloignés et ainsi difficiles + à apprendre. \begin{figure}[ht] @@ -415,8 +401,8 @@ peuvent être traduitent par des entiers très éloignés et ainsi difficils \section{Conclusion} -Dans ce chapitre, nous avons établi une simlilitude entre les itérations -chaotiques et une famille de perceptrons multicouches. +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 @@ -424,6 +410,11 @@ Nous avons présenté ensuite comment vérifier si un réseau de neurones 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. +Comme il est difficile (voir impossible) d'apprendre le comportement +de telles fonction, il paraît naturelle de savoir si celles ci peuvent être +utilisées pour générer des nombres pseudo aléatoires. + + % \appendix{} % \begin{Def} \label{def2}