Sei sulla pagina 1di 28

Classificatori basati

su approccio
connessionistico
Neuroni biologici e
neuroni artificiali
Threshold Logic Unit

Come si costruisce il
classificatore ?
z Appurate le caratteristiche che dovrebbe esibire un
classificatore efficiente, si pone il problema della
costruzione del classificatore.
z E’ possibile una soluzione algoritmica ?
E’, cioè possibile, definire un algoritmo per
classificare caratteri, parlato, immagini,… ?
z Dopo 40 anni di sforzi in questo senso la risposta è
chiaramente negativa.
z Perché ?
z Ci sono alternative ?
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 1 di Cassino

1
L’apprendimento
z L’unica alternativa percorribile è quella di
apperendere a risolvere i problemi a partire da
esempi (learning by examples).
z Apprendimento (learning): ogni metodo che, nella
costruzione di un classificatore, combina
informazioni empiriche provenienti dall’ambiente e
conoscenza a priori del contesto del problema.
z Le informazioni empiriche sono di solito nella forma
vista di campioni di esempio (training set).
z Conoscenza a priori: invarianti, correlazioni, …
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 2 di Cassino

Paradigmi di apprendimento
Esistono diversi paradigmi di apprendimento:
z Apprendimento supervisionato (supervised):
per ogni campione del training set è provvista la classe di
appartenenza. Obiettivo dell’apprendimento è quello di
minimizzare gli errori (o il costo di classificazione).
z Apprendimento non supervisionato (unsupervised):
non sono fornite esplicite informazioni sulla classe dei
campioni del training set. Obiettivo dell’apprendimento è
quello di formare dei raggruppamenti (clusters) dei
campioni generalmente sulla base di una distanza. Spesso
è definito dall’esterno il numero dei clusters da produrre.
Questo paradigma viene definito anche clustering.
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 3 di Cassino

2
Origini delle reti neurali
z La storia delle reti neurali si innesta in quella
dell’Intelligenza Artificiale.
z Obiettivo dell’IA:
replicare per mezzo di macchine quanto più
possibile dell’attività mentale umana
z Tesi forte dell’IA:
L’attività mentale risulta dall’esecuzione di qualche
sequenza ben definita di operazioni di
manipolazione di simboli (algoritmo) .
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 4 di Cassino

Ci vuole un po’ di cervello…

Ogni tentativo di
replicazione
dell’attività mentale
deve fare i conti con
il cervello umano.

The brain –
that's my second most favourite organ!
Woody Allen
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 5 di Cassino

3
Confronto cervello-calcolatore

apprendimento
elaborazione
elaborazione
el. di calcolo
Dimensione

Intelligenza
Capacità di
# Elementi

Tolleranza
Velocità di

coscienza
di calcolo

ai guasti
Tipo di
1014 Parallela,
10-6m 100 Hz si si si
sinapsi distribuita

108 Seriale,
10-6m 1 GHz no poca no
transistor centralizzata

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 6 di Cassino

Reti neurali biologiche


Gli elementi fondamentali del sistema nervoso centrale
sono i neuroni (presenti in misura di circa 1011).

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 7 di Cassino

4
Il neurone Un neurone è composto di
tre parti: il corpo cellulare
biologico (o soma), le dendriti e
La comunicazione l’assone (o cilindrasse).
tra neuroni avviene
tramite segnali
elettrici che sono
trasmessi lungo
l’assone.
Questo si connette
ad una dendrite di
un altro neurone
tramite un terminale
detto sinapsi.

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 8 di Cassino

Attivazione del neurone


• L‘impulso arrivato alla
sinapsi stimola il rilascio di
neurotrasmettitori
• Questi, captati dai ricettori
posti sulla dendrite,
inducono una modifica nel
potenziale della membrana
dendritica (PSP)
• Il PSP può iperpolarizzare o
depolarizzare la membrana
dendritica, tendendo a
inibire o a eccitare la
generazione di nuovi
impulsi.

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 9 di Cassino

5
Attivazione del neurone
z Ogni PSP attraversa la dendrite su cui è stato
generato e si diffonde sul soma,
raggiungendo la base dell'assone. Il neurone
integra gli effetti delle migliaia di PSP
presenti sulle sue dendriti
z Nel caso superi una soglia, genera un
impulso che inizia a propagarsi lungo
l'assone, così da ricominciare l'intero
processo in un nuovo neurone.
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 10 di Cassino

Il modello di neurone artificiale


di McCulloch-Pitts (1943)
Caratteristiche:
TLU:
Threshold • I segnali sono binari (xi=0/1)
Logic • La funzione di attivazione è
Unit definita come:
n
a = ∑ wi xi
i =1

• L’uscita è definita in base


alla regola:

1 if a ≥ϑ
y=
0 if a <ϑ
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 11 di Cassino

6
Il Perceptron (Rosenblatt, 1962)

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 12 di Cassino

2 classi linearmente separabili

Con una TLU è possibile


risolvere i problemi in cui
le classi siano
linearmente separabili.

E se le classi sono
più di 2?

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 13 di Cassino

7
4 classi linearmente separabili

In questo problema le 4
classi sono separabili a
coppie.
(A,B) - (C,D)
(A,D) - (B,C)

E’ possibile costruire
un classificatore basato
su TLU ?
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 14 di Cassino

4 classi linearmente separabili

Possiamo utilizzare due


variabili binarie per codificare
le due partizioni.

Sulla base dei valori che


queste assumono, è possibile
risalire alla singola classe.

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 15 di Cassino

8
4 classi linearmente separabili
Per realizzare il
classificatore, bisogna
addestrare due TLU che,
in fase operativa,
dovranno essere
completate con altre unità y1 y2
che realizzano opportune Nodi
funzioni logiche. “nascosti”

Es.:
A = y1 and y2
B = y1 and not y2 F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition Università degli Studi
di Cassino
Reti Neurali 16

Informazioni necessarie

Possiamo costruire una rete di TLU che risolve il


problema. Da notare:
z E’ necessario dapprima addestrare le TLU e quindi
definire i pesi delle TLU del livello di uscita che
realizzano le funzioni logiche
z Il raggruppamento (A,C) (D,B) non avrebbe funzionato
z Altre disposizioni delle classi nello spazio delle features
avrebbe richiesto una differente organizzazione del
classificatore
z Due tipi di informazione necessari per addestrare le due
TLU:
1. Le 4 classi possono essere separate da iperpiani
2. AB è linearmente separabile da CD così come AD da BC
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 17 di Cassino

9
Esiste un modo automatico ?
z E’ possibile realizzare un algoritmo che si occupi in
toto della costruzione della rete ?
z Tale algoritmo dovrebbe fissare i pesi delle TLU
appartenenti ai due livelli
z Possiamo adattare l’algoritmo visto per una sola
TLU ?
z Quali sono i problemi ?
z Definire la funzione di errore
z Relazione tra l’uscita ed i pesi
z Rete su più livelli
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 18 di Cassino

Struttura della rete


(feed forward compl. connessa)
hidden layer
feature vector

output 1

output 2

output layer
input layer
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 19 di Cassino

10
Definizione della rete
Ogni nodo è strutturato come:

aj
nodo j j Livello k
Σ f (aj)
wji

Per il momento, non i Livello k-1


facciamo ipotesi su f (.)
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 20 di Cassino

Definizione della rete

nodo di output
ak

Σ f (ak) ok

ok: uscita effettiva del nodo di out. k-mo


dk: uscita desiderata del nodo di out. k-mo

Sindrome di errore su k: |dk-ok| F. Tortorella © 2005


Università degli Studi
di Cassino

11
Definizione della funzione di
errore
z Possiamo far riferimento alla somma dell’errore
quadratico rilevato sul livello di uscita:

1
∑ (dk − ok )
2
E=
2 k

z L’errore misura lo scostamento tra output


desiderato e output effettivo
z E’ facilmente differenziabile
z E’ adatto per molte applicazioni
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 22 di Cassino

L’algoritmo di training
z Cerchiamo di applicare l’algoritmo a gradiente
discendente.
z Anche qui sarà valida l’equazione di
aggiornamento dei pesi:
∂E
w nji +1 = w nji − η
∂ w ji
wn

z Che cosa cambia rispetto al caso della TLU ?

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 23 di Cassino

12
Calcoliamo il gradiente
z Per la chain rule:

∂E ∂ E ∂ o k ∂a k
=
∂ w kj ∂o k ∂a k ∂ w kj

z Calcoliamo i singoli termini:

∂E
= −(dk − o k )
∂o k
?
∂ak ∂
∂ok ∂f (ak )
= = f ′(ak ) =
∂w kj ∂w kj
∑w j kj xj = xj
∂ak ∂ak
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 24 di Cassino

L’equazione di aggiornamento

z L’equazione di aggiornamento è allora:

w nkj+1 = w nkj + η(d k − o k ) f ′(a k ) x j


wn

z Achtung!
Questa regola è applicabile solo ai neuroni del
livello di output. Perché ?
z Come si aggiornano i pesi degli altri neuroni ?

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 25 di Cassino

13
L’equazione di aggiornamento
per i neuroni interni
xi wji aj oj

Σ f (aj) …
Per valutare l’equazione di
aggiornamento:
∂E
w nji +1 = w nji − η
∂ w ji
w n
∂E
dobbiamo calcolare il gradiente:
∂ w ji
che possiamo scrivere:
∂E ∂E ∂o j ∂a j
=
∂ w ji ∂ o j ∂ a j ∂ w ji
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 26 di Cassino

L’equazione di aggiornamento
per i neuroni interni
z Gli ultimi termini sono semplicemente:

∂o j ∂ f (a j ) ∂a j ∂
∂a j
=
∂a j
= f ′(a j )
∂w ji
=
∂w ji
∑wi ji xi = xi

∂E
z Come calcolare ?
∂o j

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 27 di Cassino

14
L’equazione di aggiornamento
per i neuroni interni
xi wji
aj oj
wkj
Σ f (aj) ak
ok
Σ f (ak)

xj
Possiamo porre:

∂E ∂ 1  
= ∑ (dk − o k )2 dove: o k = f  ∑ w kj o j 
∂o j ∂o j 2 k  j 
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 28 di Cassino

L’equazione di aggiornamento
per i neuroni interni
∂E
Si ha, quindi: = − ∑ (dk − o k ) f ′(a k )w kj
∂o j k

Per cui, il gradiente diventa:

∂E  
= − ∑ (dk − o k ) f ′(a k )w kj  f ′(a j ) x i
∂ w ji  k 

E arriviamo finalmente all’equazione di aggiornamento:

 
w nji+1 = w nji + η∑ (dk − ok ) f ′(ak )w kj  f ′(a j ) x i
k  wn

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 29 di Cassino

15
Riassumendo
z Neuroni di output:
w nkj+1 = w nkj + η(dk − ok ) f ′(ak ) x j = w nkj + ηδ k x j
wn wn

z Neuroni interni:
 
w nji +1 = w nji + η ∑ (dk − o k ) f ′(a k )w kj  f ′(a j ) x i =
 k  wn

 
w nji + η ∑ δ k w kj  f ′(a j ) x i = w nji + ηδ j x i wn
 k  w n

 
avendo posto: δ k = (dk − ok ) f ′(ak ) e δ j = ∑ δ k w kj  f ′(a j )
 k 
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 30 di Cassino

Algoritmo di Back Propagation


1. si pone in ingresso ai nodi di input un campione del TS
2. i nodi del primo livello nascosto calcolano le loro uscite che
vengono poste in ingresso ai nodi del livello successivo (…)
3. i nodi di output calcolano le uscite della rete
4. conoscendo l’uscita desiderata, viene calcolato l’errore
presente su ogni nodo del livello di output
si calcolano i δ k = (dk − o k ) f (a k )per ogni nodo del livello di

5.
output e si applica l’equazione di aggiornamento ai pesi
relativi
 
6. per ogni nodo del penultimo livello si calcolano i δ j = ∑ k
δ k w kj  f ′(a j )

e si applica l’equazione di aggiornamento ai pesi relativi

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 31 di Cassino

16
Algoritmo di Back Propagation
z I passi 1-3 si indicano con il termine forward pass,
mentre i passi 4-6 costituiscono il backward pass.
z L’algoritmo di apprendimento è quindi:
repeat
for j=1,M
forward pass
backward pass
end for
until condizione di fine learning

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 32 di Cassino

Punti da risolvere
Alcuni punti in sospeso:
z quale funzione di uscita f (.) ?

z quale condizione di fine learning ?

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 33 di Cassino

17
La funzione di uscita
z Per quanto abbiamo visto, la funzione di
uscita deve essere differenziabile
z Le funzioni maggiormente usate sono:
z funzione lineare
z sigmoide
z tanh
z gaussiana

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 34 di Cassino

Condizione di termine
z Valore di E
z Numero di epoche
z Andamento del gradiente
z Problemi di generalizzazione
z validazione

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 35 di Cassino

18
Curve di apprendimento
z All’inizio della fase di training, l’errore sul training set
è tipicamente alto.
z Con il procedere dell’apprendimento, l’errore tende
a diminuire, raggiungendo alla fine un valore
asintotico che dipende da:
z errore di Bayes del training set
z dimensioni del training set
z numero di pesi della rete
z valore iniziale dei pesi
z L’andamento dell’errore rispetto al numero di
epoche realizzate è visualizzato su una curva di
apprendimento (learning curve).
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 36 di Cassino

Curve di apprendimento
E/n

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 37 di Cassino

19
Curve di apprendimento e
condizioni di termine
z Potrebbe essere possibile utilizzare le curve
di apprendimento per decidere quando
terminare il training ?
z A prima vista, potremmo arrestare
l’apprendimento quando si è raggiunto un
valore soddisfacente dell’errore o quando si
raggiunge l’asintoto.
z E’ davvero un buona idea ? Perché ?
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 38 di Cassino

Curve di apprendimento
E/n

test

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 39 di Cassino

20
Curve di apprendimento e
condizioni di termine
z Al procedere del learning, la rete si
specializza sempre meglio sul training set,
migliorando l’accuratezza e garantendo una
buona generalizzazione.
z Da un certo punto, però, la rete comincia a
specializzarsi troppo sul training set
perdendone in generalizzazione.

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 40 di Cassino

Apprendimento con un
insieme di validazione
z Per controllare la capacità di generalizzazione che
la rete sta acquisendo durante il training si effettua
periodicamente la classificazione di un insieme di
campioni non appartenenti al training set (insieme di
validazione o validation set).
z L’andamento dell’apprendimento è quindi
visualizzato da due curve, una valutata sul training
set ed una sul validation set.
z L’arresto dell’apprendimento si può quindi realizzare
in corrispondenza di un minimo sulla curva relativa
al validation set.
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 41 di Cassino

21
Terminazione
dell’apprendimento
E/n terminazione
dell’apprendimento

test validation

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 42 di Cassino

Migliorare il training
z Problema dei minimi locali

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 43 di Cassino

22
Migliorare il training
z Tecnica del momento

All’ aggiornamento del peso, viene aggiunta una


percentuale dell’aggiornamento precedente

∂E
∆w nji +1 = − η + µ∆w nji
∂ w ji
wn

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 44 di Cassino

Altri algoritmi di training


z Gradiente coniugato
z Newton
z quasi-Newton
z Levenberg-Marquardt

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 45 di Cassino

23
Preprocessing degli ingressi
z Situazioni che possono essere dannose per il
corretto apprendimento della rete:
z Ampiezza dell’input molto elevata
z Forte differenza tra le ampiezze dei diversi input
z Altri problemi:
z Ingressi di tipo categorico
z Ingressi assenti
z Preprocessing:
z Completamento dei dati mancanti
z Conversione categorie Æ valori numerici
z normalizzazione
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 46 di Cassino

Normalizzazione degli ingressi


z E’ necessaria per rendere omogenei i vari
ingressi ed evitare che ingressi di valore
maggiore influiscano più di ingressi a valore
minore.
z Una tipica normalizzazione consiste nel
trasformare i valori degli ingressi in modo da
rendere nulla la media e unitaria la varianza:
x1, x 2 ,..., x n → x1′ , x′2 ,..., x′n
xi - xi
dove: x′i =
σ xi
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 47 di Cassino

24
Reti neurali e
classificazione bayesiana
z Finora le reti neurali sono apparse come una
metodologia a sé stante, indipendente
dall’approccio statistico visto prima.
z In effetti, si dimostra che, in certe condizioni, l’uscita
delle reti neurali approssima le probabilità a
posteriori.
z Condizioni:
z uscita 0/1;
z apprendimento basato sul LMS;
z dati infiniti.
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 48 di Cassino

Interpretazione delle uscite


come post-probabilità
z In realtà, le limitatezze del training set rendono
difficile una buona approssimazione delle post-
probabilità.
z Comunque, si fa uso spesso dell’uscita della
rete in questo modo.
z E’ necessario però assicurare che la somma
delle stime sia uguale a 1.0:
oj exp(o j )
o′j = o′j =
∑o j
∑ exp(o )
j
j
j F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 49 di Cassino

25
Regioni di decisione
delle reti neurali
Struttura Regioni di decisione Forma generale
Semispazi delimitati da
iperpiani

Regioni convesse

Regioni di forma
arbitraria

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 50 di Cassino

L’approccio RBF
z L’approccio RBF nasce nel contesto dei problemi di
interpolazione esatta.
z Supponiamo di avere N punti xk con corrispondenti target tk.
Vogliamo trovare una funzione h(.) tale che h(xk)= tk per
k=1,…,N
z L’approccio RBF è basato sull’individuazione di N funzioni
Φ(||x-xk||) tali che
h(xk)= Σkwk Φ(||x-xk||)
z Queste funzioni sono di solito della forma
 x2 
Φ(x) = exp  − 
2 
 2σ 
dove il σ rappresenta la smoothness della funzione
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 51 di Cassino

26
Le reti RBF
z Nel caso delle reti neurali, l’interpolazione esatta è
di scarso interesse, visto che:
z l’obiettivo reale è quello di stimare una funzione incognita a
partire da un certo numero di campioni
z i campioni sono di solito affetti da rumore e quindi, con
l’interpolazione esatta, si può ottenere una funzione
estremamente oscillante.
z Perciò, nelle reti RBF:
z il numero di funzioni base è molto minore del numero dei
campioni
z i centri delle funzioni non necessariamente coincidono con
i campioni
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 52 di Cassino

Le reti RBF
y1 yd
Sono di solito
fatte due livelli,
con una
esponenziale per
il livello hidden ed Φ1 ΦM
una linearità per
lo strato di uscita.
L’uscita della rete
sarà:
M
y k ( x ) = ∑ w kjΦ j ( x ) + w k0 x1 xd
j=1
F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 53 di Cassino

27
Training delle reti RBF
z Viene fatto in due fasi:
z Prima fase: definizione dei parametri delle
funzioni base (centri e smoothness). Viene fatto di
solito con tecniche di clustering unsupervised.
z Seconda fase: definizione dei pesi dello strato di
uscita (lineare) tramite metodo dei minimi quadrati

F. Tortorella © 2005
Teoria e Tecniche di Pattern Recognition
Università degli Studi
Reti Neurali 54 di Cassino

28