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}.
+linéaire sont par exemple appelés neurones chaotiques~\cite{Crook2007267}.
L'architecture de réseaux de neurones de type Perceptron multi-couches
-(MLP) n'itèrent quant à eux, pas nécessairement de fonctions chaotiques.
+(MLP) n'itèrent quant à eux classiquement pas de fonction chaotique:
+leurs fonctions d'activation sont usuellement choisies parmi les sigmoïdes
+(la fonction tangeante hyperbolique par exemple).
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
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 ne soit fournie.
+et ce sans qu'aucune preuve rigoureuse ne soit fournie.
Ce chapitre caractérise la
classe des réseaux de neurones MLP chaotiques. Il
s'intéresse ensuite à l'étude de prévisibilité de systèmes dynamiques
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
+neurones peut approximer des itérations unaires chaotiques,
+ces itérations
étant obtenues à partir de fonctions issues de la démarche détaillée dans
le chapitre précédent.
Ce travail a été publié dans~\cite{bcgs12:ij}.
$(x,s) \in \mathds{B}^{\mathsf{N}} \times [{\mathsf{N}}]$,
la couche de sortie doit générer $F_{f_u}(x,s)$.
On peut ainsi lier la couche de sortie avec celle d'entrée pour représenter
-les dépendance entre deux itérations successives.
+les dépendances entre deux itérations successives.
On obtient une réseau de neurones dont le comportement est le suivant
(voir Figure.~\ref{Fig:perceptron}):
et calcule le vecteur de sortie
$x^1=F_{f_u}\left(x^0,S^0\right)$.
Ce vecteur est publié comme une sortie et est aussi retourné sur la couche d'entrée
- à travers les liens de retours.
-\item Lorsque le réseau est activé à la $t^{th}$ itération, l'état du
+ à travers les liens de retour.
+\item Lorsque le réseau est activé à la $t^{\textrm{ème}}$ itération, l'état du
système $x^t \in \mathds{B}^{\mathsf{N}}$ reçu depuis la couche de sortie ainsi que le
premier terme de la séquence $(S^t)^{t \in \Nats}$
(\textit{i.e.}, $S^0 \in [{\mathsf{N}}]$) servent à construire le nouveau vecteur de sortie.
\begin{figure}
\centering
\includegraphics[scale=0.625]{images/perceptron}
- \caption{Un Perceptron équivalent aux itérations unitaires}
+ \caption{Un Perceptron équivalent aux itérations unaires}
\label{Fig:perceptron}
\end{figure}
$(S^t)^{t \in \Nats}$, alors la séquence contenant les vecteurs successifs
publiés $\left(x^t\right)^{t \in \mathds{N}^{\ast}}$ est exactement celle produite
par les itérations unaires décrites à la section~\ref{sec:TIPE12}.
-Mathématiquement, cela signifie que si on utilise les mêmes vecteurs d'entrées
+Mathématiquement, cela signifie que si on utilise les mêmes vecteurs d'entrée
les deux approches génèrent successivement les mêmes sorties.
En d'autres termes ce réseau de neurones modélise le comportement de
$G_{f_u}$, dont les itérations sont chaotiques sur $\mathcal{X}_u$.
F\left(\left(x_1,x_2,\dots,x_{\mathsf{N}}\right),j\right)$.
Si ce réseau de neurones est initialisé avec
$\left(x_1^0,\dots,x_{\mathsf{N}}^0\right)$ et $S \in [{\mathsf{N}}]^{\mathds{N}}$,
-il produit exactement les même sorties que les itérations de $F_{f_u}$ avec une
+il produit exactement les mêmes sorties que les itérations de $F_{f_u}$ avec une
condition initiale $\left((x_1^0,\dots, x_{\mathsf{N}}^0),S\right) \in \mathds{B}^{\mathsf{N}} \times [{\mathsf{N}}]^{\mathds{N}}$.
Les itérations de $F_{f_u}$
-sont donc un modèle formel de cette classe de réseau de neurones.
+sont donc un modèle formel de cette classe de réseaux de neurones.
Pour vérifier si un de ces représentants est chaotique, il suffit ainsi
de vérifier si le graphe d'itérations
$\textsc{giu}(f)$ est fortement connexe.
à 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.
+ de fonction à quatre éléments.
\subsection{Construction du réseau}
\label{section:translation}
-On considère par exemple les deux fonctions $f$ and $g$ de $\Bool^4$
+On considère par exemple les deux fonctions $f$ et $g$ de $\Bool^4$
dans $\Bool^4$ définies par:
\begin{eqnarray*}
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^{\mathsf{N}}$
-l'entier naturel naturel correspondant.
+l'entier naturel correspondant.
Cependant, une telle représentation rapproche
arbitrairement des configurations diamétralement
opposées dans le ${\mathsf{N}}$-cube comme une puissance de
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
+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$, $2 \le l \le k$ et d'un nombre $m \in [l-1]$ d'itérations à exécuter.
Il y a $2^{\mathsf{N}}$ configurations $x$ et ${\mathsf{N}}^l$ stratégies de
\dfrac{(k-1)\times {\mathsf{N}}^{k+1}}{{\mathsf{N}}-1} - \dfrac{{\mathsf{N}}^{k+1}-{\mathsf{N}}^2}{({\mathsf{N}}-1)^2} \enspace . \nonumber
\end{equation}
\noindent
-Ainsi le nombre de paire d'entrée-sortie pour les réseaux de neurones considérés
+Ainsi le nombre de paires d'entrée-sortie pour les réseaux de neurones considérés
est
$$
2^{\mathsf{N}} \times \left(\dfrac{(k-1)\times {\mathsf{N}}^{k+1}}{{\mathsf{N}}-1} - \dfrac{{\mathsf{N}}^{k+1}-{\mathsf{N}}^2}{({\mathsf{N}}-1)^2}\right) \enspace .
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}.
+Les choix de l'architecture de réseau ainsi que ceux concernant les
+ méthodes d'apprentissage
+ont été détaillés 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.
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
+que le réseau apprend cinq fois mieux les comportements non chaotiques
+que ceux qui le sont. Ceci 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.
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, ce que propose la partie
+de telles fonctions, il paraît naturel de savoir si celles ci peuvent être
+utilisées pour générer des nombres pseudo-aléatoires, ce que propose la partie
suivante.