Teoría de resonancia adaptativa (ART)

Contenido

Problema 19.1

P19_1.png
i)
syms n11(t) n12(t)
b_ma = sym([2 2]');
b_me = sym([3 3]');
epsilon = sym(0.01);
W21 = sym([0 1;1 1]);
W1 = sym([1 1;1 1]);
p = sym([1 1]');
a2 = sym([1 0]');
n1 = [n11;n12];
% cuidado con la notación de Hagan
ecudif1 = epsilon * diff(n1,t) == ...
-n1 + (b_ma - n1).*(p + W21*a2) - (n1+b_me).*W1*a2
ecudif1(t) = 
cond = [n11(0)==0;n12(0)==0];
[n11s,n12s]=dsolve(ecudif1,cond)
n11s = 
n12s = 
fplot(n11s,[0 0.02])
hold on
fplot(n12s,[0 0.02])
legend('n11s','n12s')
La salida es [0 1]'
ii)
Si se satisface (las condiciones de los bias se satisfacen)

Problema 19.2

P19_2.png
P19_2_1.png
i)
f2 = @(n) 10*n.^2.*(n>=0);
a1 = [1 0]';
sis = @(t,n2) [(-n2(1) + (2-n2(1)).*(f2(n2(1)) + [0.5 0.5]*a1)-(n2(1)+2)*f2(n2(2)))*10;...
(-n2(2) + (2-n2(2)).*(f2(n2(2)) + [1 0]*a1)-(n2(2)+2)*f2(n2(1)))*10];
n20 = [0 0]';
tin = [0 0.2];
[t,n2s] = ode45(sis,tin,n20);
figure
subplot(1,2,1)
plot(t,n2s(:,1),'r',t,n2s(:,2),'b')
legend("n21","n22")
subplot(1,2,2)
plot(n2s(:,1),n2s(:,2))
La salida es [0 1]'
Al comparar con el ejemplo del capítulo
ii)
En estado estacionario (cuidado Hagan lo tiene al reves)
Que coinide con

Problema 19.3

P19_3.png
i)
syms n0(t)
epsilon = 0.1;
alpha = 0.5;
beta = 2;
b_ma = 0.5;
b_me = 0.5;
W0ma = [alpha alpha alpha];
W0me = [beta beta beta];
p = [1 1 1]';
a1 = [1 0 1]';
ecudif1 = epsilon * diff(n0,t) == ...
-n0 + (b_ma - n0)*(W0ma*p) - (n0+b_me)*W0me*a1
ecudif1(t) = 
cond = [n0(0)==0];
n0s=dsolve(ecudif1,cond)
n0s = 
fplot(n0s,[0 0.2])
por lo que no se mandará el reset
ii)
El estado estacionario
Para el problema
lo cual coincide con el resultado del apartado anterior.

Problema 19.4

P19_4.png
La regla de aprendizaje L2:L1
Se toma la aproximación
Se sustituye despeja
es equivalente a la estructura outstar.

Problema 19.5

P19_5.png
z = 2;
rho = 0.4;
s = 3;
p1 = [0 1 0]';
p2 = [1 0 0]';
p3 = [1 1 0]';
% inicializamos
W21 = ones(3)
W21 = 3×3
1 1 1 1 1 1 1 1 1
w12_ij = z / (z+ s - 1);
W12 = [w12_ij w12_ij w12_ij;
w12_ij w12_ij w12_ij;
w12_ij w12_ij w12_ij]
W12 = 3×3
0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000
% 1. repuesta de la capa 1
a1 = p1;
% 2. entrada de la capa 2
W12*a1
ans = 3×1
0.5000 0.5000 0.5000
Como es empate se toma el promer indice
a2 = [1 0 0]'
a2 = 3×1
1 0 0
% 3. Se calcula la espectativa L2-L1
w21 = W21*a2 %se rescata la primer columna por la forma de a2
w21 = 3×1
1 1 1
% 4. Se calcula la salida de la capa 1
a1 = p1 & w21;
a1 = double(a1) % operatividad matlab
a1 = 3×1
0 1 0
% 5. Sistema de orientacion (parecido entradas y espectativas)
norm(a1)^2/norm(p1)^2 < rho % no hay reset
ans = logical
0
Como no hay reset se va al paso 7
%7. ocurre resonancia se actualiza la fila 1 de W12
W12(1,:) = 2*a1./(2 + norm(a1)^2 - 1)
W12 = 3×3
0 1.0000 0 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000
%8. Se actualiza la columna 1 de W21
W21(:,1) = a1
W21 = 3×3
0 1 1 1 1 1 0 1 1
9. Se remueve p1, y se regresa al paso 1 con p2
% 1. repuesta de la capa 1
a1 = p2;
% 2. entrada de la capa 2
W12*a1
ans = 3×1
0 0.5000 0.5000
Como es empate se toma el primer indice ganador
a2 = [0 1 0]'
a2 = 3×1
0 1 0
% 3. Se calcula la espectativa L2-L1
w21 = W21*a2 %se rescata la segunda columna por la forma de a2
w21 = 3×1
1 1 1
% 4. Se calcula la salida de la capa 1
a1 = p2 & w21;
a1 = double(a1) % operatividad matlab
a1 = 3×1
1 0 0
% 5. Sistema de orientacion (parecido entradas y espectativas)
norm(a1)^2/norm(p2)^2 < rho % no hay reset
ans = logical
0
Como no hay reset se va al paso 7
%7. ocurre resonancia se actualiza la fila 2 de W12
W12(2,:) = 2*a1./(2 + norm(a1)^2 - 1)
W12 = 3×3
0 1.0000 0 1.0000 0 0 0.5000 0.5000 0.5000
%8. Se actualiza la columna 2 de W21
W21(:,2) = a1
W21 = 3×3
0 1 1 1 0 1 0 0 1
9. Se remueve p2, y se regresa al paso 1 con p3
% 1. repuesta de la capa 1
a1 = p3;
% 2. entrada de la capa 2
W12*a1
ans = 3×1
1 1 1
Como es empate se toma el primer indice ganador
a2 = [1 0 0]'
a2 = 3×1
1 0 0
% 3. Se calcula la espectativa L2-L1
w21 = W21*a2 %se rescata la primer columna por la forma de a2
w21 = 3×1
0 1 0
% 4. Se calcula la salida de la capa 1
a1 = p3 & w21;
a1 = double(a1) % operatividad matlab
a1 = 3×1
0 1 0
% 5. Sistema de orientacion (parecido entradas y espectativas)
norm(a1)^2/norm(p3)^2 < rho % no hay reset
ans = logical
0
Como no hay reset se va al paso 7
%7. ocurre resonancia se actualiza la fila 1 de W12
W12(1,:) = 2*a1./(2 + norm(a1)^2 - 1)
W12 = 3×3
0 1.0000 0 1.0000 0 0 0.5000 0.5000 0.5000
%8. Se actualiza la columna 1 de W21
W21(:,1) = a1
W21 = 3×3
0 1 1 1 0 1 0 0 1
Se completa el entrenamiento (ya no habrá cambios).

Problema 19.6

P19_6.png
rho = 0.6;
El entrenamiento es el mimo del probelma anterior, hasta antes de p3, escribimos los pesos en ese momento y continuamos el entrenamiento.
W12 = [0 1 0;1 0 0;0.5 0.5 0.5];
W21 = [0 1 1;1 0 1;0 0 1];
% 1. repuesta de la capa 1
a1 = p3;
% 2. entrada de la capa 2
W12*a1
ans = 3×1
1 1 1
Como es empate se toma el primer indice ganador
a2 = [1 0 0]'
a2 = 3×1
1 0 0
% 3. Se calcula la espectativa L2-L1
w21 = W21*a2 %se rescata la primer columna por la forma de a2
w21 = 3×1
0 1 0
% 4. Se calcula la salida de la capa 1
a1 = p3 & w21;
a1 = double(a1) % operatividad matlab
a1 = 3×1
0 1 0
% 5. Sistema de orientacion (parecido entradas y espectativas)
norm(a1)^2/norm(p3)^2 < rho % hay reset
ans = logical
1
Hay reset, hasta que qeu ocurre match (resonancia), se regresa al paso 1.
% 1. repuesta de la capa 1
a1 = p3;
% 2. entrada de la capa 2
W12*a1
ans = 3×1
1 1 1
Como la neurona 1 esta inhibida se toma la neurona 2.
a2 = [0 1 0]'
a2 = 3×1
0 1 0
% 3. Se calcula la espectativa L2-L1
w21 = W21*a2 %se rescata la segunda columna por la forma de a2
w21 = 3×1
1 0 0
% 4. Se calcula la salida de la capa 1
a1 = p3 & w21;
a1 = double(a1) % operatividad matlab
a1 = 3×1
1 0 0
% 5. Sistema de orientacion (parecido entradas y espectativas)
norm(a1)^2/norm(p3)^2 < rho % hay reset
ans = logical
1
Hay reset, hasta que ocurre match (resonancia), se regresa al paso 1.
% 1. repuesta de la capa 1
a1 = p3;
% 2. entrada de la capa 2
W12*a1
ans = 3×1
1 1 1
Como la neurona 1 y 2 estan inhibidas, se toma la neurona 3.
a2 = [0 0 1]'
a2 = 3×1
0 0 1
% 3. Se calcula la espectativa L2-L1
w21 = W21*a2 %se rescata la tercera columna por la forma de a2
w21 = 3×1
1 1 1
% 4. Se calcula la salida de la capa 1
a1 = p3 & w21;
a1 = double(a1) % operatividad matlab
a1 = 3×1
1 1 0
% 5. Sistema de orientacion (parecido entradas y espectativas)
norm(a1)^2/norm(p3)^2 < rho % no hay reset
ans = logical
0
Como no hay reset se va al paso 7
%7. ocurre resonancia se actualiza la fila 3 de W12
W12(3,:) = 2*a1./(2 + norm(a1)^2 - 1)
W12 = 3×3
0 1.0000 0 1.0000 0 0 0.6667 0.6667 0
%8. Se actualiza la columna 3 de W21
W21(:,3) = a1
W21 = 3×3
0 1 1 1 0 1 0 0 0
Se completa el entrenamiento (ya no habrá cambios). Cuando el parámetro de vigilancia es cercano a uno, se utilizan mñas categorias. Cuando la vigilancia es cercana a cero, varisos patrones de entrada se incorporan dentro del mimso prototipo.

Problema 19.7

P19_7.png
P19_7_1.png
nnd16a1

App

ART1 Layer 1
nnd16al1
ART1 Layer 2
nnd16al2
Orienting Subsystem
nnd16os

ART1

nnd16a1

Referencias

El material se toma del libro de Martin Hagan et. al. enlace