Modelli Non-lineari di Circuiti CMOS per la

Modelli Non-lineari di Circuiti CMOS per la
Realizzazione VLSI Analogica di Algoritmi Neurali
H. Chible, M. Valle
DIBE-Dipartmento di Ingegneria Biosica ed Elettronica
Universita di Genova-Via Opera Pia 11/A-16145 Genova-ITALIA
ph: +39 10 3532163, fax: +39 10 3532795,e-mail:[email protected]
RIASSUNTO
La realizzazione analogica VLSI rappresenta una via eciente per la realizzazione di reti
neurali: essa infatti permette di ottenere un'area ridotta, una bassa potenza dissipata ed elevate
prestazioni. Tuttavia, il principale inconveniente risulta essere la bassa precisione ed il comportamento non-lineare delle primitive computazionali neurali analogiche. In un precedente
articolo, sono state presentate primitive circuitali analogiche neurali in tecnologia CMOS. In
questa memoria vengono presentati i modelli funzionali delle primitive circuitali che tengono
conto sia delle non-linearita che degli eetti ambientali (variazioni di temperatura, segnali di
riferimento, etc.) che inuenzano il funzionamento dei circuiti. Tali modelli funzionali sono
stati utilizzati nella simulazione di una architettura neurale del tipo Multi-Layer-Perceptron addestrata con l'algoritmo di apprendimento di Back-Propagation in modo da valutare gli eetti
sul comportamento della rete. I risultati ottenuti evidenziano che il numero delle iterazioni
necessarie a completare l'apprendimento aumenta in modo contenuto per cui le prestazioni
della rete non vengono degradate in modo signicativo.
1 Introduzione
Tra le possibilita per l'implementazione hardware di reti neurali ( circuiti dedicati sia
digitali che analogici), alcuni autori, [1], [2], [3], hanno evidenziato i vantaggi (i.e. dimensioni
ridotte, bassa potenza dissipata, etc.) dell'approccio VLSI analogico. In un precedente articolo,
[4], abbiamo presentato una realizzazione analogica di un Multi-Layer-Perceptron (MLP) che
realizza l'algoritmo della Back-Propagation (BP) su chip, [5], e valutato il comportamento
usando un semplice esempio di apprendimento.
In questa memoria, analizziamo le funzionalita dei circuiti analogici che realizzano le primitive computazionali. Di tali circuiti sono presentati i modelli funzionali che tengono conto
delle non-linearita introdotte dal circuito e degli eetti amientali.
Nel paragrafo 2 vengono presentati i circuiti che realizzano le funzionalita del neurone e
della sinapsi. Nel paragrafo 3 viene analizzato il moltiplicatore sinaptico in avanti. Nel paragrafo 4 viene analizzato il moltiplicatore sinaptico per l'aggiornamento dei pesi. La funzione
di attivazione del neurone viene analizzata nel paragrafo 5. I risultati delle simulazioni funzionali che utilizzano i modelli non-lineari ricavati nei paragra precedenti per i moltiplicatori
sinaptici vengono presentati nel paragrafo 6. Le conclusioni sono esposte nel paragrafo 7.
2 Circuiti del Neurone e della Sinapsi
In [4], abbiamo presentato un'architettura VLSI analogica per la realizzazione di un MLP
addestrato con l'algoritmo di BP. Ogni strato del MLP contiene una matrice di sinapsi [Sji]
e un vettore di neuroni [Pj ] (i=1,N) (j=1,M) dove N e il numero degli ingressi e M il numero
delle uscite e N M il numero di sinapsi nel generico strato della rete.
Lo schema funzionale del modulo sinaptico Sji e illustrato in Fig. 1a. Il blocco F esegue
la moltiplicazione in avanti tra la tensione di ingresso alla sinapsi Xi ed il peso sinaptico
(codicato attraverso il valore di una transconduttanza) Wji e genera la corrente di uscita
IFji = Wji Xi ; il blocco B1 esegue la moltiplicazione all'indietro tra la tensione di errore j e
il peso Wji , ottenendo la corrente IB1ji ; il blocco B2 eettua l' aggiornamento del peso dopo
la presentazione di un esemplare in ingresso (fase Q1) ed esegue la moltiplicazione tra Xi e
j , ottenendo la corrente IB2ji ; il blocco somma gli aggiornamenti dei pesi che seguono
alla presentazione di tutti gli esemplari e aggiorna il peso sinaptico (fase Q2); il blocco W
memorizza la tensione di peso VWji.
I Fji
Xi
IFj
A
Oj
F
Q1
Q2
Σ
B2
1- Oj
VWji
W
I B2ji
B1
δj
IDj
D
I B1ji
Tj / IBi
R
δj
(b)
(a)
Figure 1: (a) Schema funzionale del modulo sinaptico Sji; (b) Schema funzionale del modulo
del neurone Pj .
Lo schema funzionale del modulo del neurone Pj e illustrato in Fig. 1b. Il blocco A e il
circuito base del neurone, il suo ingresso e la corrente IFj (che e la somma di tutte le correnti
di uscita di una riga di sinapsi, IFj = Ni=1 IFji): esso applica la funzione di attivazione,
f(.), e genera la tensione di uscita non invertente Oj , e quella invertente (1 ? Oj ); il blocco
D approssima la derivata della funzione di attivazione e genera la corrente IDj ; il blocco
R moltiplica la corrente IDj con la dierenza tra la tensione desiderata Tj e la tensione di
uscita Oj (strato di uscita) oppure con la corrente IBi generata dallo strato successivo (strato
intermedio).
3 Il Moltiplicatore Sinaptico F
Il circuito del moltiplicatore sinaptico F proposto in [4], e illustrato in Fig. 2a. Esso con∆ Vref
VDD
M3
∆T
M5
M10
∆ Gmji( ∆T, ∆Vref)
M11
IFji
Gmji
M1
VWji
M6
M7
M12 M13
M2
-
Vref
M8
Xi -Vref
M9
M4
+
+
Gmji
M14
Σ
IFji,reale
+
N1( Xi -Vref )
Xi
(a)
(b)
Figure 2: (a) Schema del circuito del moltiplicatore F; (b) Modello funzionale del moltiplicatore
F.
siste di una cella di immagazzinamento della tensione di peso VWji (M1 ; M2 ; M3 ; M4 ) e di due
(OTA)1 complementari (M5 ; M6 ; M7 ; M8 ; M9 ) e (M10 ; M11 ; M12 ; M13 ; M14 ). La cella di immagazzinamento fornisce una azione complementare: essa converte la tensione del peso VWji
1
amplicatore a transconduttanza (Operational Transconductance Amplier)
in due correnti che polarizzano i due OTA, in modo da controllare il valore delle transconduttanze Gm1ji e Gm2ji , (Gmji = Gm1ji + Gm2ji ). Il moltiplicatore F lavora sottosoglia per
cui la transconduttanza e proporzionale alla corrente di canale rispettivamente dei transistori
M5 ,M14 . I pesi sono positivi quando VWji e maggiore del segnale di riferimento (Vref =2.5V)
e negativi quando VWji e minore di Vref .
La corrente di uscita puo essere espressa nella forma seguente[2]:
kVWji ?Vref
kVWji ?Vref
? Io2 e? VT ) tanh k(Xi2?V Vref )
IFji = (Io1 e VT
(1)
T
dove k e un parametro di tipo tecnologico che varia da 0.6 a 0.8, VT = KT=q (K costante di
Boltzmann, q carica dell'elettrone e T temperatura ambiente), Io1 e Io2 sono costanti relative
ai transistori M1 , M2 rispettivamente. Usando l'approssimazione polinomiale di Taylor per la
tangente iperbolica nella Eq.( 1), otteniamo:
IFji = Gmji (Xi ? Vref ) + N1 (Xi ? Vref ) = IFji;ideale + N1 (Xi ? Vref )
(2)
dove la transconduttanza Gmji , che codica il valore del peso Wji, e data dalla relazione
seguente:
Gmji = (Io1 e
kVWji ?Vref
VT
? Io2e?
kVWji ?Vref
VT
)
k
2VT
La funzione non-lineare N1 (Xi ? Vref ) e data da:
N1 (Xi ? Vref ) = (Io1 e
kVWji ?Vref
VT
? Io2e?
kVWji ?Vref
VT
)(? 1 ( k(Xi ? Vref ) )3 + :::)
3
2VT
Le variazioni ambientali (come la temperatura, il segnale di referimento) inuenzano IFji
nella Eq.( 2). In questa analisi, noi non prendiamo in considerazione gli eetti ambientali
sul termine non-lineare N1 (Xi ? Vref ). Come conseguenza, possiamo esprimere la corrente di
uscita IFji;reale come segue:
IFji;reale = IFji;ideale + 4IFji;ideale(4T; 4Vref ) + N1 (Xi ? Vref )
(3)
Possiamo approssimare 4IFji;ideale(4T; 4Vref ) come segue:
@I
4IFji;ideale(4T; 4Vref ) = @IFji;ideale
4
T + Fji;ideale 4Vref
@T
@V
ref
(4)
dove
@IFji @Gmji
= @T (Xi ? Vref )
@T
@IFji @Gmji
=
(X ? V ) ? Gmji
@Vref @Vref i ref
e
kVWji ?Vref
@Gmji
=
?
(
Io1 e VT
@T
? Io2e?
(5)
(6)
kVWji ?Vref k
VT
)
q 1
2 K T2
kVWji ?Vref k
kVWji ?Vref
@Gmji
+
Io2 e? VT )
=
?
(
Io1 e VT
@Vref
2VT
Sostituendo l'Eq.( 5) e l'Eq.( 6) nella Eq.( 4), si ottiene:
mji (X ? V ) ? G )4V
4IFji(4T; 4Vref ) = @G@Tmji (Xi ? Vref )4T + ( @G
i
mji
ref
ref
@V
ref
(7)
Possiamo esprimere l'ultima equazione come segue:
4IFji(4T; 4Vref ) = (Xi ? Vref )4Gmji(4T; 4Vref ) ? Gmji4Vref
(8)
mji
dove 4Gmji(4T; 4Vref ) = @G@Tmji 4T + @G
@Vref 4Vref . La corrente di uscita del moltiplicatore,Eq.( 3), sara:
IFji;reale = fGmji + 4Gmji(4T; 4Vref )g(Xi ? Vref ) ? Gmji 4Vref + N1 (Xi ? Vref ) (9)
Rispetto a queste considerazioni, il modello funzionale del moltiplicatore e illustrato in
Fig. 2b. Una analisi analoga puo essere eseguita per il moltiplicatore B1 perche ha la stessa
realizzazione di F. L'analisi dei blocchi R e e simile perche essi sono basati su circuiti che
utilizzano OTA.
4 Il Moltiplicatore Sinaptico B2
Il circuito del moltiplicatore per l'aggiornamento dei pesi, B2, e illustrato in Fig. 3a. Esso
e basato sul four-quadrant Gilbert multiplier,[2]. La corrente di uscita e data da:
k(j ? Vref )
k(Xi ? Vref )
tanh
(10)
IB2ji = Ib tanh
2VT
2VT
dove Ib e la corrente costante di polarizzazione. Applicando lo stesso procedimento visto in
Vdd
M8
M7
ΙB2ji
∆T
∆Φ(∆T)
δj
M3
M4
M5
M6
+
δj
Vref
X
i
∆ Vref
Φ
Σ
+
M1
M2
Vref
X -Vref
i
Φ
Vb
Ib
Mb
δ j- Vref
(a)
-
+
+
Σ
+
IB2ji,reale
N(X -Vref ,δ j- Vref )
2 i
(b)
Figure 3: (a) Schema del circuito moltiplicatore B2;(b) Modello funzionale del moltiplicatore
sinaptico B2.
precedenza, approssimando con la serie di Taylor la funzione tangente iperbolica, si ottiene
per la corrente di uscita la seguente espressione:
IB2ji = (Xi ? Vref )(j ? Vref ) + N2 (Xi ? Vref ; j ? Vref )
IB2ji = IB2ji;ideale + N2 (Xi ? Vref ; j ? Vref )
(11)
dove = Ib k2 =(4VT2 ) e N2 (Xi ? Vref ; j ? Vref ) e il termine non-lineare. Nell'analisi eettuata
non sono state considerate le variazioni degli eetti ambientali sul termine non lineare. La
variazione della temperatura 4T e della tensione di riferimento di segnale introducono una
variazione nella corrente IB2ji :
IB2ji;reale = IB2ji;ideale + 4IB2ji;ideale (4T; 4Vref ) + N2 (Xi ? Vref ; j ? Vref )
(12)
Possiamo approssimare 4IB2ji;ideale (4T; 4Vref ) come segue:
dove:
e
ji;ideale 4T + @IB2ji;ideale 4V
4IB2ji;ideale(4T; 4Vref ) = @IB2@T
ref
@V
ref
(13)
@IB2ji;ideale @ = @T (Xi ? Vref )(j ? Vref )
@T
@IB2ji;ideale
= ?(Xi + j ? 2Vref )
@Vref
@
k2 q2 1
=
?
Ib
@T
2 K2 T 3
La corrente di uscita del circuito reale puo quindi essere espressa come:
IB2ji;reale = ( + 4)(Xi ? Vref )(j ? Vref ) ? (Xi + j ? 2Vref )4Vref
+N2 (Xi ? Vref ; j ? Vref )
dove
(14)
4 = @@T 4T
L'eq.( 14) puo essere rappresentata attraverso il modello funzionale illustrato in Fig. 3b. La
stessa analisi e stata eettuata per il blocco derivativo D, poiche basato su un four-quadrant
Gilbert multiplier.
5 Circuito della Funzione di Attivazione del Neurone
Il circuito A in Fig.1b realizza la funzione di attivazione del neurone f(.). Lo schema
circuitale e illustrato in Fig. 4a: esso e costituito da un amplicatore a singolo ingresso e
uscita dierenziale (guadagno ad anello aperto a) e da un blocco di retroazione (f = 1=RF ).
L'amplicatore e costituito da due stadi: il primo e uno stadio di guadagno realizzato con due
invertitori (M1 ; M2 ; M3 ; M4 ); il circuito RC di reazione sul secondo invertitore garantisce la stabilita nella congurazione ad anello chiuso. Il secondo stadio (M5 ; M6 ; M7 ; M8 ; M9 ; M10 ; M11 ; M12 )
e uno stadio di uscita dierenziale: esso genera le due tensioni di uscita 1 ? Oj e Oj (Vcco Oj Vsso and Vcco 1 ? Oj Vsso ). Lo stadio di uscita dierenziale lavora come un amplicatore in classe AB. Le tensioni S1 = Vcco ? 2:5V e S2 = Vsso ? 2:5V sono i valori di saturazione
della funzione di attivazione f(.). La funzione di attivazione del neurone presenta andamento
di tipo lineare a tratti.L'espressione dalla funzione di attivazione del neurone e la seguente:
8
>< S1
per IFj > S1 =
Oj = f (IFj ) = > IFj per S2 = < IFj < S1 =
(15)
: S2
per IFj < S2 =
dove e la pendenza nella zona lineare ( = a=(1+ af )). Possiamo scrivere l'ultima equazione
nella forma seguente:
S
S
S
S2
)
?
u(IFj ? 1 )g + S1 (IFj ? 1 ) + S2 (1 ? u(IFj ? 2 ))
(16)
dove u(.) e la funzione a gradino. Gli eetti ambientali su Oj sono determinati da T (tramite
la pendenza ); Vsso ; Vcco , per cui la variazione 4Oj determinata dagli eetti ambientali e data
Oj = IFj fu(IFj ?
da:
j 4T + @Oj 4V + @Oj 4V
4Oj = @O
cco @V
sso
@T
@V
cco
sso
(17)
Vdd
M5
Vdd
Vcco
M9
I
Fj
M1
M3
M6
∆T
1- Oj
M2
M7
∆Vsso
∆ Oj( ∆T, ∆Vcco, ∆Vsso, IFj )
M12
M4
∆Vcco
M11 O
j
M10
+
R C
M8
Vsso
RF
IFj
f(I Fj )
+
Σ
Oj,reale
(b)
(a)
Figure 4: (a) Schema circuitale del modulo A del neurone; (b) Modello funzionale del modulo
A del neurone.
Possiamo calcolare la derivata di Oj rispetto alla temperatura nella zona lineare come segue:
da ? a2 df
@Oj @Oj @
dT
=
=
IFji dT
@T
@ @T
(1 + af )2
(18)
La derivata di Oj rispetto a T al di fuori della zona lineare e nulla. Le derivate @V@Occoj e @V@Ossoj non
sono esprimibili in forma esplicita in quanto determinano la variazione dei valori di saturazione
di Oj , rilevabili spermentalmente.
La tensione di uscita reale puo essere espressa come:
Oj;reale = Oj + 4Oj (IFj ; 4T; 4Vcco; 4Vsso )
(19)
L'Eq.( 19) puo essere rappresentata attraverso il modello funzionale illustrato in Fig. 4b.
6 Simulazione Funzionale della Architettura Neurale
I modelli funzionali dei moltiplicatori sinaptici esposti in precedenza sono stati utilizzati
per simulare l'architettura neurale in modo funzionale. La simulazione e relativa all'algoritmo
di BP applicato ad una rete MLP con un unico strato intermedio; nell'algoritmo e stato
realizzata l'accelerazione di Vogl [6]: l'apprendimento avviene by epoch. La rete neurale cosi
denita e stata addestrata per eettuare il riconoscimento di caratteri numerici manoscritti.
Gli esemplari sono caratteri numerici manoscritti (da 0 a 9): ogni esemplare e codicato tramite
una matrice di pixel binari di dimensioni 2816, alla quale e applicata una semplice fase di
pre-elaborazione per la compressione dell'informazione, in modo da ridurre gli ingressi a 28.
Nella fase di apprendimento si usa l'algoritmo di BP per far apprendere alla rete gli esemplari
del training set (100 esemplari, 10 per ogni classe). Nella fase di classicazione la rete deve
classicare esemplari appartenenti al test set (100 esemplari, 10 per ogni classe).
Nella Tabella 1 sono riportati i risultati ottenuti nella simulazione della fase di apprendimento e di test della rete considerando le non linearita dei moltiplicatori F, B1, B2, (Eq.( 1),( 10)).Le
simulazioni sono state eseguite ponendo il momento = 0 ed il learning rate iniziale = 0:1
e utilizzando nello strato nascosto 12 neuroni. Nella Tabella e riportato il numero di epoch
(iterazioni) necessarie per raggiungere il riconoscimento di tutti gli esemplari del training set
e la percentuale di riconoscimento sul test set (capacita di generalizzazione).
Tabella 1
Acc.
Moltiplicazioni Non-linearita Non-linearita
Vogl
ideali
F, B1
F, B1,B2
Si N o di Epoch
119
130
137
Test set [%]
65
64
57
No N o di Epoch
2939
3071
3855
Test set [%]
63
61
59
Dai risultati ottenuti si nota che, a causa dell'introduzione del modello della non linearita
dei circuiti sinaptici, si ottiene un aumento del numero di iterazioni necessarie per eettuare
l'apprendimento della rete, e si abbassa (anche se in modo poco rilevante) la precisione di
classicazione del test set. Tuttavia, le prestazioni della rete non sono degradate in modo
signicativo.
7 Conclusioni
Come evidenziato in [7], i moltiplicatori analogici in passato sono stati progettati avendo in
mente applicazioni convenzionali. Mentre l'elevata linearita rappresenta il principale obiettivo
in tali applicazioni, i sistemi neurali richiedono che le loro primitive circuitali (principalmente
basate su moltiplicatori) siano di dimensioni ridotte e modulari e che presentino una bassa
dissipazione di potenza. Modelli accurati per la descrizione a livello funzionale del comportamento delle primitive neurali analogiche permetteranno di analizzare e validare la realizzazione
di algoritmi neurali tramite sistemi VLSI analogici. Sara quindi possibile ottenere una solida
base per specicare e validare le caratteristiche di questo tipo di realizzazioni. I risultati
presentati in questa memoria si pongono in questo campo di attivita di ricerca.
8 BIBLIOGRAFIA
References
[1] Y. Tsividis, "Analog MOS Integrated Circuits - Certain New Ideas, Trends and Obstacles",
IEEE Journal of Solid State Circuits, Vol. SC-22, No. 3, June 1987, pp. 317 - 312.
[2] C.A. Mead, Analog VLSI and Neural Systems, Addison-Wesley, Reading, 1989.
[3] E.A. Vittoz, "Analog VLSI Implementation of Neural Networks", in Proc. of ISCAS'90,
1990, pp. 2524 - 2527.
[4] M. Valle, D.D. Caviglia, e G.M. Bisio, "An Experimental Analog VLSI Neural Network
with On-Chip Back-Propagation Learning", in Analog Integrated Circuits for Signal Processing,1996 (accepted for pubblication).
[5] D.E. Rumelhart e J.L. McClelland, Parallel Distribuited Processing, MIT Press, Cambridge,
Mass., 1986.
[6] T. P. Vogl, J. K. Mangis, A. K. Rigler, W.T.Zink, e D.L. Alkon, Accelerating the Convergence of the Back-Propagation Method, Biological Cybernetics, pp. 257-263, 1988.
[7] N. Saxen e J. Clark, "A Four-Quadrant CMOS Analog Multiplier for Analog Neural Networks", IEEE Journal of Solid State Circuits, Vol. SC-29, No. 6, June 1994, pp. 746 749.
[8] H. Chible e M.Valle, "Design and Non-linear Modelling of CMOS Multipliers for Analog
VLSI Implementation of Neural Algorithms", in Proc. of MIPRO'95, 1995.