Nella presente lezione faremo vedere il comportamento di una rete CTRNN costituita da un solo neurone, in particolare:
Studiamo ora più da vicino la dinamica di una CTRNN costituita da un unico nodo ed una unica connessione su se stesso.
Abbiamo, cioè, la seguente:
dy/dt=f(y,w,b,I,τ)=(1/τ)(-y+wσ(y+b)+I) (1)
Se non ci fosse la connessione su se stesso (w=0) la soluzione della (1) sarebbe ovviamente un esponenziale che va ad I con una costante di tempo pari a τ.
Come già detto i punti fissi della (1) corrispondono agli zero di f(y,w,b,I,τ)
(in questo caso dy/dt=0).
Gli zero di f(y,w,b,I,τ) evidentemente non dipendono da τ quindi possiamo assumere τ =1.
La (1) può essere riscritta, senza perdere di generalità, come
dy/dt=f(y,w,b,I,τ)= -y+wσ(y+b)+I (2)
La stabilità di tali punti dipende dal segno della derivata prima di f(y,w,b,I,τ) rispetto a y, ∂f/∂y.
Indicata con f’ tale derivata, abbiamo, allora, le seguenti condizioni di stabilità per un punto di equilibrio y0:
y0 è un punto di equilibrio stabile se f’(y0,w,b,I)<0
y0 è un punto di equilibrio instabile se f’(y0,w,b,I)>0
Vediamo allora quali sono, nel nostro caso, i valori dei parametri che rendono f’(y0,w,b,I)<0.
Ricordando che f(y,w,b,I,τ)= -y+wσ(y+b)+I si ha:
f’(y0,w,b,I)=-1+wσ’(y+b)
Sapendo che σ’(x)=σ(x)(1-σ(x)) si ottiene
f’(y0,w,b,I)=-1+wσ(y+b) (1-σ(y+b)) (3)
Dobbiamo appurare quali sono i valori di b e w che rendono la (3) negativa:
-1+wσ(y+b) (1-σ(y+b))<0
Il che equivale a:
wσ(y+b) (1-σ(y+b)) <1
Osserviamo che
0<σ(x)<1
quindi
0≤σ(y+b) (1-σ(y+b)) ≤1/4
Questo significa che per w <4 tutti i punti di equilibrio sono stabili. Mentre per w>4 il segno della (3) dipende da w,y e b.
Quindi è possibile un cambiamento “drastico” del comportamento della rete quando w passa da valori minori di 4 a valori maggiori di 4 (punto di biforcazione).
Cerchiamo di analizzare, ora, quali sono i punti fissi.
Come già detto, abbiamo supposto σ=1 quindi si ha
f(y,w,b,I,σ)= f(y,w,b,I)
I punti di equilibrio sono dati dagli y tale che f(y,w,b,I)=0.
Indichiamo con y(w,b,I) la superficie composta dai punti di equilibrio, cioè dagli y tale che f(y,w,b,I)=0.
Nel nostro caso tali punti sono definiti dall’equazione:
-y+wσ(y+b)+I=0
Quindi
y-wσ(y+b) =I (4)
Tale equazione, sfortunatamente, non può essere algebricamente risolta.
Se assumiamo, ad esempio, b=0 e w=-20.
In questo caso si ha un unico punto di equilibrio stabile per qualunque valore di I (necessariamente stabile perché w<4).
Se assumiamo b=0 e w=20. In questo caso si vede che esistono due valore di I, chiamiamoli I1 e I2 con I1 < I2, in modo tale che per I< I1 e I>I2 si ha un unico punto di equilibrio e tale punto è anche stabile, mentre per I1< I2 si hanno tre punti di equilibrio due stabile e uno instabile. In questo ultimo caso il punto di equilibrio
instabile separa i bacini di attrazione dei due punti stabili.
Osservo come in questo caso si ha una biforcazione in quanto al passaggio di I dall’esterno all’interno dell’intervallo (I1 , I2), e viceversa, c’è un cambiamento qualitativo del comportamento del sistema.
Implementiamo in matlab una rete DTRNN con un unico nodo.
function y=ctrnnSingleNeuron(w_auto,teta,I,y0,c,N)
% I parametri w_auto,teta,I,y0,c,N sono tutti scalari
% Ad esempio: I=10,w_auto=2,y0=1,c=0.1, N=100
% y è una matrice 2xN, la prima riga è l'attività del
% neurone nel tempo, la seconda riga il suo output
t=zeros(2,N);
y(1,1)=y0;
y(2,1)=sigmoid(y0+teta);
for i=2:N
y(1,i)=y(1,i-1)+c*(-y(1,i-1)+w_auto*y(2,i-1)+I);
y(2,i)=sigmoid(y(1,i) + teta);
end
Dove la funzione sigmoid è così implementata.
function y=sigmoid(x)
…………. y= 1 ./(1 + exp(-x));
Allora se consideriamo w=-20, b=0, e I=-20,
Per ogni valore iniziale di y, la soluzione Converge ad un unico punto fisso (vedi figura).
Possiamo verificare tale comportamento in Matlab:
w=-20;
b=0;
I=-20
hold on;
for y0=-30:2:30
y=ctrnnSingleNeuron(w,b,I,y0,0.1,50);
plot(y(1,:),'*');
end
Se consideriamo, invece, w=20, b=0, e I=-10,
La soluzione può convergere a differenti punti fissi a secondo del valore iniziale assunto da y (vedi figura).
Possiamo verificare tale comportamento in Matlab:
w=20;
b=0;
I=-10
hold on;
for y0=-30:2:30
y=ctrnnSingleNeuron(w,b,I,y0,0.1,50);
plot(y(1,:),'*');
end
Se consideriamo, invece, w=20, b=0, e I=-20,
La soluzione converge di nuovo ad un unico punto fisso (vedi figura).
Possiamo verificare tale comportamento in Matlab:
w=20;
b=0;
I=-20
hold on;
for y0=-30:2:30
y=ctrnnSingleNeuron(w,b,I,y0,0.1,50);
plot(y(1,:),'*');
end
Oppure se consideriamo, invece, w=20, b=0, e I=20,
La soluzione converge ancora ad un unico punto fisso (vedi figura).
Possiamo verificare tale comportamento in Matlab:
w=20;
b=0;
I=20
hold on;
for y0=-30:2:30
y=ctrnnSingleNeuron(w,b,I,y0,0.1,50);
plot(y(1,:),'*');
end
Abbiamo visto, allora, come se consideriamo b=0 e w=20 esiste
un valore di I, compreso tra -20 e -10, per cui il sistema passa da un comportamento in cui ha un unico punto fisso ad uno in cui ci sono due punti fissi.
un valore di I, compreso tra -10 e 20, per cui il sistema passa da un comportamento in cui ha due punti fissi ad uno in cui c’è un unico punto fisso.
Osservo come in questo caso si ha una biforcazione in quanto al passaggio di I dall’esterno all’interno dell’intervallo (I1 , I2), e viceversa, c’è un cambiamento qualitativo del comportamento del sistema.
1. Informazioni generali sul corso
3. Un modello computazionale del neurone biologico
4. Possibili problemi risolvibili con Reti Neurali
5. Problemi di Classificazione ed approccio probabilistico
7. Capacità rappresentativa delle reti neurali - parte prima
8. Capacità rappresentativa delle reti neurali - Parte seconda
9. Apprendimento e generalizzazione
10. Discesa del gradiente e backpropagation
11. Back-Propagation
13. Interpretazione output di una rete neural feed-forward
14. Complessità della rete, generalizzazione e termini di regolari...
15. Cross-entropy e variazioni sulla discesa del gradiente
16. Verso le reti neurali RBF: interpolazione esatta.
17. Reti neurali RBF
18. Addestramento di una rete RBF
19. Parametri delle funzioni a base radiale
20. Un primo modello di reti neurali ricorrenti: formalismo di Caia...