Nella presente lezione descriveremo un particolare tipo di reti neurali ricorrenti,
in particolare
Le reti neurali ricorrenti a tempo continuo (Continuous Time Recurrent Neural Network – CTRNN) sono reti costituite da n neuroni modellati ciascuno con una equazione differenziale del primo ordine:
dy1/dt=f1(y1,y2, ….,yn)=(1/τ1)(-y1 +∑j=1…n wij σ(yj+b1)+ Ie1 )
dy2/dt=f2(y1,y2, ….,yn)=(1/τ2)(-y2 +∑j=1…n wij σ(yj+b2)+ Ie2 )
.
.
.
dyn/dt=fn(y1,y2, ….,yn)=(1/τn)(-yn +∑j=1…n wij σ(yj+bn)+ Ien )
In ciascuna equazione differenziale:
dyi/dt=fi(y1,y2, ….,yi)=(1/τi)(-yi +∑j=1…n wij σ(yj+bj)+ Ii )
τi è lo stato (o l’attivazione) di ciascun neurone (da un punto di vista biologico rappresenta il potenziale di membrana).
yi è una costante di tempo.
wij è il peso associato alla connessione che va dal neurone j al neurone i.
Si noti che ogni nodo i riceve connessioni da tutti i nodi, compreso se stesso.
σ(x) è la classica sigmoide. Da un punto di vista biologico σ(yi) rappresenta la frequenza di sparo media (nel tempo).
Ii è un input esterno.
Si noti che:
L’ input esterno, Ii, ricevuto dall’ i-simo nodo può assumere la seguente forma:
Ii =∑ j=1…d w’ij xj(t)
In questo modo la rete neurale riceve d input x1(t), x1(t), …,xd(t), variabili nel tempo, che sono inviati a ciascuno nodo i tramite d connessioni. A ciascuna connessione è associato un peso w’ij.
Una osservazione (1).
Tale modello nasce da una semplificazione del modello di Hodgkin-Huxley descritto nella lezione precedente.
Infatti, se consideriamo l’equazione del modello di Hodgkin-Huxley per un neuone:
C(dVm/dt)= I(t) -(gl + gNa + gK )Vm+ gl El +gNaENa+ gKEK
Questa può essere riscritta come:
dVm/dt= -(1/C)(gl + gNa + gK )Vm+ (1/C)[gl El +gNaENa+ gKEK+ I(t)]
Una osservazione (2).
Ed ancora, trascurando i termini con gNa e gK, da
dVm/dt= -(1/C)(gl + gNa + gK )Vm+ (1/C)[gl El +gNaENa+ gKEK+ I(t)]
Possiamo scrivere:
dVm/dt= -(gl/C) [Vm+ (1/gl )(gl El + I(t))]
Ed ancora: dVm/dt= -(1/τ) [Vm+ (1/gl )(gl El + I(t))]
Avendo posto τ=C/gl
Una osservazione (3).
Se osserviamo, allora, l’equazione
dVm/dt= -(1/τ) [Vm+ (1/gl )(gl El + I(t))]
E la generica equazione di un nodo di una CTRNN:
dyi/dt=fi(y1,y2, ….,yn)=(1/τi)(-yi +∑j=1…n wijσ(yj+bj)+ Ii )
Si possono notare le somiglianze, considerando:
Vm come yi
Vm+ (1/gl )(gl El + I(t)) come l’input proveniente dagli altri nodi della rete e
dall’input esterno.
Oppure in un formalismo più compatto:
τdy/dt= -y + W σ(y+b) + I
Cosa ci interessa di tali reti?
Risulta importante la dinamica della rete, e in particolare:
Punti fissi
Attrattori
Biforcazioni
Prima di dare una definizione più precisa di tali concetti, affrontiamo il problema di come implementare al calcolatore il sistema di equazioni differenziali che definisce una CTRNN.
Naturalmente molti sono i possibili metodici numerici per risolvere una equazione differenziale del tipo che abbiamo visto, tra i tanti mostriamo uno tra i più usati:
il metodo di Eulero.
Il metodo di Eulero.
Data una equazione differenziale del tipo:
dy/dt=f(y) ……………………………………… (1)
con condizione iniziale y(0)=y0 ………… (2)
sappiamo, dal teorema di Cauchy, che sotto opportune ipotesi per la f(y) esiste, ed è unica,
la soluzione y(t) per la (1) e la (2).
Il metodo di Eulero.
Scelto un intervallo di tempo DT, possiamo considerare i tempi
t0=0,
t1= t0 +DT=DT,
t2= t1 +DT= 2DT, …,
tn= tn-1+DT=nDT, …
e cercare di calcolare numericamente quali sono i valori della soluzione a tali tempi.
Il metodo di Eulero.
Dallo sviluppo in serie di Taylor possiamo scrivere:
y(t1)=y(t0)+ [dy/dt]t=t0 DT + R (3)
dove R è il resto di Lagrange ed, in questo caso, risulta
R=(( t1 – t0)2/2)[d2y/dt2]t=t* con t* ∈[t0, t1].
Il metodo di Eulero.
Allora y(t1) può essere approssimato con un errore conosciuto da un valore numerico y1 dato da
y1 = y(t0)+ [dy/dt]t=t0 DT (4)
ma sapendo, dalle (1) e (2), che
y(t0=0)=y0 …………. e …………. [dy/dt]t=t0 = f(y(t0))=f(y0)
si ha:
y1 = y0+ f(y0)DT
Il metodo di Eulero.
Quindi supposto di conoscere l’approssimazione numerica yn-1 di y(tn-1) possiamo
ripetere lo stesso ragionamento di prima è ottenere, in generale, l’approssimazione
numerica di y(tn) come
yn = yn-1+ f(yn-1)DT (5)
Il metodo di Eulero (una osservazione).
In genere per un metodo di approssimazione numerica sono importanti due proprietà:
L’accuratezza. Cioè che i valori numerici siano effettivamente vicini ai valori
reali della soluzione. Nel nostro caso è necessario minimizzare il termine di
errore dello sviluppo in serie di Taylor.
La stabilità numerica. Vogliamo che la sequenza di valori numerici
y1,y2, yk, … sia poco sensibile alle variazioni di y0.
Più formalmente: ∀ε>0 ∃δε>0 : |y0- y’0| < δε allora ∀k |yk – y’k| < ε
dove y’1, y’2, … è la sequenza di valori numerici calcolati a partire da y’0.
Il metodo di Eulero.
Applicando la (5) alle equazioni differenziali della CTRNN si ottiene:
yi[n] = yi[n-1] +(DT/τi)(-yi[n-1]+∑j=1…n wij σ( yj[n-1]+bj)+ Ii)
con i=1,2, …,n (6)
Osserviamo che la (6) ha una doppia interpretazione:
Nella seconda interpretazione, allora, possiamo parlare di Reti neurali ricorrenti a tempo discreto.
Osservo subito che la scelta opportuna di DT (in genere DT<2τi) fa sì che il modello di rete descritto dalla (6) abbia lo stesso comportamento di quello descritto dalle CTRNN.
Molto spesso, quindi, si preferisce studiare analiticamente un modello di rete CTRNN per
poi utilizzare i risultati ottenuti con un tipo di rete DTRNN.
Vediamo, però, meglio che tipo di rete individua la (6):
Vediamo, però, meglio che tipo di rete individua la (6):
Alcune osservazioni.
Le reti DTRNN ricadono nella caratterizzazione generale di una rete neurale che abbiamo dato nella lezione 6.
I risultati di uno studio teorico delle CTRNN possono essere riportati facilmente alle reti DTRNN in quanto queste ultime possono essere viste come una soluzione numerica delle prime (se abbiamo accuratezza e stabilità del metodo numerico).
Questo ci permette di focalizzare l’attenzione sulle CTRNN.
Prossime lezioni.
Dato che tali reti CTRNN sono definite da un insieme di equazioni differenziali ordinarie del primo ordine, il loro comportamento (e quindi quello di una DTRNN) può essere studiato nell’ambito della teoria dei sistemi dinamici.
Questo studio ci permette di capire quale può essere il comportamento di una rete se conosciamo il valore dei pesi e, viceversa, come scegliere i valori dei pesi in modo da avere particolari comportamenti.
A tale scopo, allora, nella prossima lezione faremo un richiamo di alcuni elementi di base della teoria dei sistemi dinamici.
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...