1.2 Transformation inverse
La transformation est biunivoque et la transformation inverse
s'obtient en multipliant le vecteur transformé par la matrice
P-1.
1
1
1
1
1
1
1
1
1
e
c a
f
d
~ ~
~ b ~
a
b
c
d
e
~ ~
~ f ~
? 1 1 1 1
1
1
1
1
0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0
1 0 0 0 0 0
~ 1
~ 0 0 0 1 0 0 ~
2- Mémorisation par superposition de vecteurs
transformés
2.1- Généralités
Le principe de base d'une mémoire associative est que
tout élément nouveau est interprété comme un bruit
par rapport à l'ensemble des éléments déjà
mémorisés par la structure. La réciproque est que les
éléments mémorisés forment un bruit pour un vecteur
donné.
Dans une mémoire associative de type Hopfield, le vecteur
à mémoriser modifie une matrice de valeurs constituée par
les éléments déjà mémorisés.
Dans notre modèle le vecteur, après transformation,
est superposé aux vecteurs déjà mémorisés et
il est considéré comme un bruit par le réseau.
Les vecteurs utilisés ont 120 composantes. Chaque
composante a pour valeur un niveau de gris {0..100} d'une image 1D.
Exemple:
2.2 Phase de stockage
On transforme le vecteur d'origine O de composantes Ci , i
{1..n}, en un vecteur transformé T de composantes C'i ,
i {1..d} de dimension différente (d) très supérieure
à celle du vecteur origine (n).
La formule (1) de calcul de A'i devient
alors:
A'i = i * b mod (d+1)
où i{1..d} b premier par rapport à (d+1)
Les composantes C'i d'adresse A'i , i {1..n},
ont pour valeurs V'i celles, permutées, du vecteur d'origine.
Les composantes C'i d'adresse A'i , i {n+1..d},
ont pour valeur V'i = 0.
Un paramètre b, choisi dans la suite des nombres premiers,
est affecté à chaque vecteur O à mémoriser.
Exemple
V1 V9
Ok b = 7
1 3 6 9
k V7 0 V5 0 V3 0 V1 V8 0 V6 0 V4 0 V2 V9
T d = 15
1 3 6 9 12 15
On mémorise T, on modifie d , b ne change pas, c'est la
clé affectée au vecteur
k 0 V3 0 V7 0 0 V1 0 V4 0 V8 0 0 V2 0 V6
V5 V9
T' d = 18
1 3 6 9 12 15 18
On obtient ainsi pour chaque vecteur Ok, k {1, ...,
K}, un ensemble de transformés de Ok, {Tk,
T'k, T»k,...} de dimensions d (m1, m2, ... , mM)
différentes.
On fait de même pour chaque vecteur Ok, à
mémoriser. On additionne ensuite les vecteurs de même dimension
d.
La j-ième composante d'un vecteur résultat,
Qd, d{1=m1, ..., D=mM} est, pour une dimension d donnée
K
Qj d = T(j*b k )mod(d+1)
k
k =1
La variation de d va générer, pour chaque zone
de stockage, un vecteur transformé différent. Un vecteur
d'origine de clé «b» va donc être inscrit, sous forme de
plusieurs vecteurs transformés, dans des "bruits" différents.
Les vecteurs sont associés par deux, la dimension de
l'un diminue lorsque la dimension de l'autre augmente. La longueur
résultante et le nombre (D) de vecteurs de stockage sont des
paramètres du modèle.
|