Les réseaux de neurones

d'après le livre de Hervé Abdi

Valeurs singulières d'une matrice rectangulaire quelconque

Soit A une matrice rectangulaire. On peut exprimer cette matrice comme :

A = P D QT

avec :

On a :

Exemple :

    (  1.1547 -1.1547 )
A = ( -1.0774  0.0774 )      
    ( -0.0774  1.0774 )    

    ( 0.8165  0      )
P = (-0.4082 -0.7071 )    
    (-0.4082  0.7071 )

Q = ( 0.7071 -0.7071 )    
    ( 0.7071  0.7071 )

D = ( 2 0 )    
    ( 0 1 )

Pseudo-inverse

A+ = Q D-1 PT

= (  0.2887 -0.6443  0.3557 )  
  ( -0.2887 -0.3557  0.6443 )  

Mémoires hétéro-associatives linéaires

Sortie oj = c ( SiI xi wi,j) (III.1)

Avec : Le problème est de trouver W tel que pour tout k, tk = ok = WT xk.

Règle de Hebb : wi,j = tj xi.

Règle de Widrow-Hoff :
wi,j(t+1) = wi,j(t) + n (tj - oj) xi
avec t = réponse théorique désirée, n = constante positive.

Valeurs optimales pour les poids

On cherche w tel que o = XT w minimise eT e avec e = t - o.
Si les stimuli d'entrée sont linéairement indépendants, la solution est w = X (XT X)-1 t.
Dans ce cas, o = XT w = XT X (XT X)-1 t = t.
Lorsque les stimuli d'entrée ne sont pas linéairement indépendants, XT X n'est pas inversible et une solution n'est pas assurée. Dans le cas où le nombre de stimuli est inférieur au nombre de cellules d'entrée, une solution, si elle existe, s'obtient via l'inverse généralisée de Moore-Penrose : w = X+ t.

Valeurs et vecteurs propres


La règle de Widrow-Hoff n'agit que sur les valeurs propres de la matrice de connexions W.
X = P D QT

En réécrivant (III.1) en notation matricielle, le problème est de trouver W telle que O = WT X avec la contrainte :
min = trace ((T-O)T (T-O))

On peut exprimer la méthode de Widrow-Hoff par :
W(t+1)T = W(t)T + n (T - W(t)T X) XT

Lorsque n est convenablement choisi, l'apprentissage converge vers W(oo) = W~ = T X+

On a : W(t) = T Q (D-1 (I - (I - n L)t)) PT

W(t+1)T = W(t)T + n (T - W(t)T X) XT= ...
= T Q ( F(t) + n L (D-1 - F(t))) PT
On montreF(t) = D-1 ( n L Si=0t-1 (I - n L)i)

Les mémoires auto-associatives linéaires

Wij = poids de la connexion du neurone i vers le neurone j
Xik = état du neurone d'entrée i dans l'expérience k

Vecteurs et valeurs propres

X = P D QT

(QT = transposée de Q)

W = X XT = P D QT Q D PT = P D2 PT = P L PT

Avec constante d'apprentissage n :
n W = n P L PT = P n L PT

Apprentissage de Widrow-Hoff :

W(t) = P (I – (I – nL)t)PT
La procédure converge si limt->oo (I - n L)t = 0

W(oo) = W~ = P I PT = P PT

O = W~ X = P PT X = P PT P D QT = P D QT = X

Composantes principales

Le rappel d'un stimulus après apprentissage avec la loi de Widrow-Hoff par la mémoire est équivalent à l'ACP, qui revient à définir la décomposition en valeurs et vecteurs propres de W. On cherche une matrice P (IxL) telle que F = PT X avec F FT = PT X XT P diagonale avec 1er élément (1ère valeur propre) maximal et PT P = I.

On définit le lagrangien L = F FT - L (PT P - I) = PT X XT P - L (PT P - I)
que l'on dérive : dL/dP = 2 X XT P - 2 L P = 0
donc X XT P = L P avec L diagonale : problème de valeurs et vecteurs propres
P est la matrice des vecteurs propres de X XT = W et L est la matrice des valeurs propres.

Donc les coefficients des stimuli sont :
F = PT X = PT P = P D QT = DQT
et
F FT = D QT Q D = L.

Le rappel de la mémoire s'écrit : O = W(t)T X = P F(t) PT X avec F(t) = I - (I - n L)t

La matrice PT X est la matrice de projection de X sur les vecteurs propres P. On a :
PT X = PT D QT = D QT = F
et
O = W(t) X = P F(t) F.

L'ACP revient à définir la décomposition en valeurs et vecteurs propres de W. On veut trouver P tel que F = PT X avec F FT diagonale et PT P = I.

Extraction de vecteurs propres

Construire un réseau qui trouve les vecteurs propres de W : variante de la puissance itérée et de la déflation. La puissance itérée revient à implémenterla loi de Hebb de manière répétitive :

W(t+1) = Wt + D W = W(t) + n X O(t)T avec O(t) = W(t) X

On commence par initialiser la matrice W(0) = n X XT = P (n L) PT
puis W(1) = W(0) + n X OT = W(0) + n X XT W(0) = P (n L (I + n L)) PT
puis W(t+1) = W(t) + n X OT= P (n L (I + n L)t) PT

Normaliser la réponse pour éviter l'explosion : règle de Oja :W(t+1) = 1/b W^(t).
Choisir b tel que ||W(t+1)|| = 1.

W'(oo) = p1 p1T

Pour trouver les vecteurs propres suivants utiliser la déflation :
W- = W - p1 p1T

Les mémoires auto-associatives non linéaires : les réseaux de Hopfield

aj = SiI xi wi,javec :

oj = xj = sgn(aj - theta)

Energie E = -1/2 Si,j wi,j xi yj - Sj thetaj xj= -1/2 xT W x - xT theta

Rétro-propagation de l'erreur et réseaux à couches cachées

Minimiser la fonction d'erreur.

La fonction d'erreur pour la k-ième réponse est :

Ek = 1/2 (tk - ok)T(tk - ok)

(@ = dérivée partielle)

Correction pour la couche de sortie :

@Ek/@Z = @Ek/@ok @ok/@Zhk @Zhk/@Z

avec o = sorties, h = intermédiaires, Z = connexions

@Ek/@ok = - (tk - ok)T
@ok/@Zhk = okT (*) (1-ok)T
@Zhk/@Z = hk

-@Ek/@Z = (tk - ok)T (*) okT (*) (1 - ok)T hk

Correction pour la couche cachée :

@Ek/@W = @Ek/@ok@ok/@Zhk@Zhk/@hk@hk/@Wxk@Wxk/@Wk

@Zhk/@hk = ZT
@hk/@Wxk = hkT (*) (1 - hk)T
@Wxk/@Wk = xk

Apprentissage symbolique - Apprentissage à partir d'algorithmes génétiques par Kenneth de Jong

Rétropropagation

@E/@yj = Sk@E/@yk dyk/dxk dxk/dyj= Sk @E/@yk dyk/dxk wkj