Università di Milano-Bicocca
Laurea Magistrale in Informatica
Corso di
APPRENDIMENTO AUTOMATICO
Prof. Giancarlo Mauri
Lezione 7-8–9 - Reti Neurali Artificiali
1
Outline
Introduction
Perceptrons
Gradient descent learning rule
Multi-layer networks
Backpropagation learning algorithm
2
Perché le reti neurali
LA POTENZA DEL CALCOLO ELETTRONICO…
calcoli numerici complessi (anni per un uomo) in frazioni di
secondo
memorizzazione grandi quantità di dati
… E I SUOI LIMITI
riconoscimento di persone, oggetti, suoni (anche in presenza di
rumore)
riconoscimento del parlato e comprensione del linguaggio
naturale
apprendimento, classificazione, generalizzazione
visione e controllo del movimento
adattamento a nuove situazioni
soluzione di problemi complessi in modo esaustivo
(ottimizzazione combinatoria)
3
Perché le reti neurali
•
Perché il cervello risulta superiore al
computer per certe categorie di problemi?
•
I meccanismi operanti nel cervello possono
essere imitati per produrre macchine più
efficienti ?
4
Perché le reti neurali
La differenza non sta nelle componenti:
Cellule nervose:
tempo risposta ordine msec
Circuiti logici elettronici:
tempo risposta ordine nsec
ma nella "architettura"
5
Perché le reti neurali
IL CERVELLO COME CALCOLATORE
L'elaborazione è frutto di un processo altamente parallelo
La potenza di calcolo deriva dalla cooperazione di molti
processori semplici e fortemente interconnessi:
1010 - 1011 neuroni
105 connessioni/ neurone
Le connessioni si modificano con l'apprendimento
L'informazione non è localizzata, ma distribuita globalmente
nella rete di processori
Es. Riconoscimento volti in 0,1 sec
L'intelligenza deriva dalla interazione tra i neuroni, non è
prerogativa di un singolo neurone
Ha una notevole tolleranza ai guasti
6
Un po' di storia
INTERESSE PER IL NEURAL COMPUTING
1943
McCulloch
Pitts
Wiener
Craik
1950
Wiener
Shannon
Von Neuman
Ashby
Hebb
Turing
1960
Rosenblatt
Minsky
Papert
1970
Arbib
Kohonen
1984
PdP Group
Hopfield
…………
7
Un po' di storia
I PIONIERI (Anni '40)
1943 : McCulloch e Pitts
"A Logical calculus of Ideas Immanent in Nervous Activity"
Primo modello formale di funzionamento di una rete nervosa, descritta
come un circuito i cui componenti sono porte logiche costruite a partire
dalle funzioni booleane elementari: OR, AND, NOT
1949 : Wiener
introduce la visione del sistema
l'elaborazione delle informazioni
nervoso
come
un
sistema
per
1949 : D.O. Hebb
"The organization of behavior"
ipotizza che alla base del meccanismo di apprendimento vi sia una
modifica dell'efficacia sinaptica tra coppie di neuroni, attraverso il
rafforzamento di connessioni spesso attive
La regola di apprendimento di Hebb è ancora alla base di molti
modelli
8
Un po' di storia
LA PRIMA ETA’ DELL’ORO ('50–'60)
Fine anni '40: von Neumann sviluppa la teoria degli automi
"ramo seriale" che darà origine alle architetture "alla von Neumann"
"ramo parallelo" che produrrà gli automi cellulari e le reti neuronali
1960: B. Widrow, M. Hoff
"Adaptive switching circuits"
Uno dei primi neurocomputer, con regola di apprendimento di
Widrow–Hoff, capace di riconoscere semplici pattern
La differenza tra l'uscita del circuito e l'uscita desiderata
modifica per controreazione le resistenze nel circuito per ottenere
uscite più corrette
1962: F. Rosenblatt
"The principles of neurodynamics"
Primo modello di neurone formale in grado di apprendere da esempi
(percettrone)
Esperimenti su computer
9
Un po' di storia
GLI ANNI DELLA CRISI ('70)
1969: M. Minsky, S. Papert
"Perceptrons: an introduction to computational geometry"
Analisi approfondita dei percettroni
Dimostrazione della inadeguatezza a risolvere molti problemi
Il campo delle reti neurali fu abbandonato
(anche per l'indisponibilità di tecnologie adeguate)
salvo poche eccezioni
(Stephen Grossberg, Teuvo Kohonen, James Anderson, Gail Carpenter)
Sviluppo di
calcolatori basati sulla architettura sequenziale di von Neuman
Intelligenza artificiale
10
Un po' di storia
GLI ANNI DELLA RIPRESA ('80–'90)
Riesame della critica di Minsky e Papert, che risulta valida solo per reti
molto semplici
Introduzione dell'algoritmo di back propagation
John Hopfield
Analogie stimolanti con altri sistemi fisici
D. Rumelhart, J. McClelland, G. Hinton, T. Sejnowski
Descrizione dell'apprendimento delle reti in termini di meccanica
statistica: Macchina di Boltzmann
Sviluppo di algoritmi ed architetture ad alto parallelismo
Sviluppo di nuove tecnologie: VLSI, Circuiti ottici
11
Quando usare le reti neurali
Input multidimensionale a valori reali o discreti (e.g.,
dati grezzi da sensori)
Output vettore di valori
Dati rumorosi
Forma della funzione obiettivo sconosciuta
Non è importante la leggibilità del risultato da parte
dell’uomo
12
Campi applicativi
Elaborazione di segnali
Controllo
Riconoscimento di schemi grafici
Classificazione di immagini
Medicina
Riconoscimento e produzione del parlato
Predizioni Finanziarie
13
Connessionismo e intelligenza artificiale
Intelligenza
artificiale
Connessionismo
Mente ≠ cervello
Mente cervello
Deduzione
Induzione
Simbolico
Analogico / subsimbolico
Sequenziale
Parallelo
Programmazione
Apprendimento
Istruzioni imperative
Adattività
Indirizzi espliciti
Memoria associativa
No generalizzazione
Generalizzazione
14
Il neurone biologico
Stati possibili:
eccitazione
invia segnali ai neuroni
connessi attraverso le sinapsi
inibizione
non invia segnali
Transizione di stato:
dipende dall'entità complessiva
dei segnali eccitatori e inibitori
ricevuti
15
Neuroni formali
Gli elementi essenziali:
Stato
Funzione di transizione
Funzione di uscita
Modalità di transizione
Un esempio:
neurone binario a soglia (McCulloch, Pitts 1943)
<n, C, W, >
nome
canali
input
vettore soglia
pesi
16
Neurone binario a soglia
Stati:
{0,1} o {-1,1}
Insieme di input pesati
wi
Funzione di transizione:
s(t+1) = 1 sse wisi(t) ≥
Modalità di transizione:
deterministica
c1
c2
cn
i = 1, …, n
w1
w2
…
wn
17
Neuroni formali
Funzioni di transizione
A gradino
f(x) = 1 se x > q
0 altrimenti
Output
Input
Lineare
f(x) = ax + b
Output
Input
18
Neuroni formali
Mista
Output
Input
Sigmoide
f(x) =
1
1+e-x
Output
Input
19
Reti neurali artificiali
w21
1
2
3
5
4
f(x) =
1
-1
x
1 +e
20
Reti neurali artificiali
CARATTERISTICHE STRUTTURALI
Grande numero di unità
Operazioni elementari
Alto livello di interconnessione
CARATTERISTICHE DINAMICHE
Cambiamento di stato in funzione dello stato dei neuroni
collegati (input)
Funzione di uscita per ogni unità
Modifica dello schema di connessione per apprendimento
21
Reti neurali artificiali
FORMALMENTE:
| w ij |
matrice dei pesi
| Ji |
vettore delle soglie
n
input netto a i al tempo t
n i (t) = å w ij × x j (t) - J i
j=1
x i (t + 1) = g(n i(t))
funzione di transizione
22
Reti neurali artificiali
ELEMENTI CARATTERIZZANTI:
tipo di unità
topologia (direzione delle connessioni, numero di strati …)
modalità di attivazione:
seriale ciclica
seriale probabilistica
parallela
mista
modalità di addestramento
23
Reti neurali artificiali
CLASSI PRINCIPALI:
Percettrone (Rosenblatt)
Adaline(Widrow e Hoff)
Mappe di caratteristiche autoorganizzanti (Kohonen)
Reti di Hopfield
Reti basate sulla teoria della risonanza adattiva (Carpenter)
Percettrone a più strati (Rumelhart e Williams)
Macchina di Boltzmann (Hinton)
Memoria associativa bidirezionale (Kosko)
Rete a contropropagazione (Hecht–Nielsen)
24
Il percettrone
Compito: riconoscimento di forme
I percettroni sono reti semplificate, progettate per permettere lo
studio di relazioni tra l'organizzazione di una rete nervosa,
l'organizzazione del suo ambiente e le prestazioni "psicologiche" di cui è
capace.
I percettroni potrebbero realmente corrispondere a parti di reti e sistemi
biologici più estesi; in questo caso, i risultati ottenuti sarebbero
direttamente
applicabili.
Più verosimilmente, essi rappresentano una
semplificazione estrema del sistema nervoso centrale, in cui alcune
proprietà sono esagerate ed altre soppresse. In questo caso, perturbazioni e
raffinamenti successivi del sistema possono dare una approssimazione
migliore.
Rosenblatt, 1962
25
Perceptron
Linear treshold unit (LTU)
Input
x1
x2
.
.
.
xn
w1
w2
wn
Pesi
x0=-1
Soglia
w0=θ
Output
ni=0wixi
y
y(xi)=
{
1 if i=0wixi ≥0
-1 otherwise
n
Funzione di transizione
26
Apprendimento nel percettrone
I pesi vengono fissati a caso e poi modificati
L'apprendimento è guidato da un insegnante
La procedura
Obiettivo è classificare vettori di input in due classi, A e B
Si sottomette una sequenza infinita {xk} di vettori tale che
ve ne siano un numero infinito sia di A che di B
Per ogni xk la rete calcola la risposta yk
Se la risposta è errata, si modificano i pesi, incrementando i
pesi delle unità di input attive se si è risposto 0 anzichè 1,
decrementandole nel caso duale:
w' = w ± x
27
Apprendimento nel percettrone
Teorema di convergenza:
Comunque si scelgano i pesi iniziali, se le classi A e B sono
discriminabili, la procedura di apprendimento termina dopo
un numero finito di passi
Teorema di Minsky e Papert:
La classe delle forme discriminabili da un percettrone
semplice è limitata alle forme linearmente separabili
28
Il teorema di convergenza del percettrone
Input
x = (x1, …, xd)
Input esteso
x = (x1, …, xd, -1)
Pesi
w = (w1, …, wd, )
Teorema
Se l'insieme degli input estesi è partito in due classi
linearmente separabili A, B allora é possibile trovare un
vettore di pesi w tale che:
w x≥0
se
xA
wx < 0
se
xB
29
Il teorema di convergenza del percettrone
Costruzione
1. Si parte con w arbitrario
2. Si classifica un input x:
risposta corretta: w' := w
risposta errata:
w' := w+x se xA
w' := w–x se xB
3. Si prova un nuovo input
30
Il teorema di convergenza del percettrone
Correttezza
Sia xA e wx < 0
Poiché xx ≥ 0 vale w'x = (w+x)x = wx + xx > wx
Quindi w' classifica x in modo "più corretto"
rispetto a w
Ma altri input possono essere classificati "meno
correttamente"
31
Il teorema di convergenza del percettrone
Convergenza
Si consideri
Cerchiamo
{xi}iN
A' = AB'
v
tale che
B' = {-x | xB}
vx ≥ 0
xA'
sequenza di addestramento
xiA'
occorrono infinite volte elementi sia di A che di B'
{wi}iN
sequenza dei pesi
scelta arbitraria
w0 = 0
wk+1 =
wk
se wkxk ≥ 0
wk + xk altrimenti
32
Il teorema di convergenza del percettrone
sequenza dei vettori dei pesi modificati
{vi}iN
sottosequenza di training corrispondente
{ti}iN
w0 ≠ w1 = w2 = w3 ≠ w4 = w5 = w6 ≠ w7 ≠ w8 ……..
v0
v1
v2
v3
t0
t1
TESI:
t3
j
vj tj < 0
vj+1 = vj + tj = vj-1
t2
æ j ö
+ tj-1 + tj = …… = çåt k ÷
è k= 0 ø
(*)
la sequenza {vi} è finita
33
Il teorema di convergenza del percettrone
DIMOSTRAZIONE
u
Sia w una qualsiasi soluzione (esiste per ipotesi)!
x•w ≥ 0
x A'
u Si ponga = min(x•w | xA')
æ j ö
u vj+1• w = çåt k ÷ • w ≥ (j+1)•
è k= 0 ø
u
(vj+1• w )2 ≤ |vj+1|2•|w|2
u
|vj+1|2 ≥
(* *)
(*) + (* *)
(Cauchy-Schwarz)
(* * *)
34
Il teorema di convergenza del percettrone
u Si ponga
u
u
M = max{|x|2 | xA'}
|vj+1|2 = |vj+tj|2 = |vj|2+2vj•tj+|tj|2 ≤ |vj|2+|tj|2
|vj+1|2 ≤
f(j) =
|tj|2≤ j•M
j2 a 2 ≤ |v +1|2 ≤ j M = g(j)
j
2
|w|
quadratico in j
(vj•tj< 0)
(*)
(* * *) + (*)
lineare in j
35
Il teorema di convergenza del percettrone
f
g
j
Dopo al massimo modificazioni di peso, il percettrone
classifica correttamente ogni input.
36
Il teorema di convergenza del percettrone
Ma:
•
dipende dalla soluzione w
•
non è il reale numero di stadi
37
Un esempio
OR ESCLUSIVO (addizione binaria)
I punti a valore 1 non sono linearmente separabili da quelli a
valore 0
0Å1 = 1
0Å0 = 0
1Å1 = 0
1Å0 = 1
Ipotesi: Esiste un neurone binario a soglia tale che xy = 1
se e solo se x + y ≥l
x
y
xy
l
38
Un esempio
Essendo simmetrica, vale anche
xy = 1 sse y + x ≥ l
Sommando e dividendo per 2 si ottiene:
xy = 1 sse tx + ty = t(x+y) ≥ l
ove t = (+ )/2
Posto ora x+y = s, abbiamo:
xy = 1 sse t s – l≥ 0
39
Un esempio
Dallo studio del polinomio (di primo grado in s) y = t s –
si ottiene:
Per s = 0, ts – l < 0
(00 = 0)
Per s = 1, ts – l ≥ 0
(01 = 1 = 10)
Per s = 2, ts – l < 0
(11 =0)
Questa é una contraddizione, poiché una retta non può
salire e poi scendere
40
Reti neurali e apprendimento
Il "programma" di una rete neurale è rappresentato
dai pesi sinaptici
E' impossibile "programmare" direttamente reti
complesse per svolgere un certo compito
D.O. Hebb, 1949:
Apprendimento = modifica pesi sinaptici
Se due neuroni connessi sono per più volte di seguito
contemporaneamente attivi, il peso della sinapsi aumenta
La regola di Hebb è una regola non formalizzata.
Inoltre i pesi vengono solo aumentati
Una possibile formalizzazione (Sutton, 1981)
wi(t+1) =
wi(t)+xi(t)y(t)
41
Perceptron Learning Rule
wi := wi + wi = wi + (t-y)xi
t = c(x) is the target value
y is the perceptron output
is a small constant (e.g. 0.1) called learning rate
If the output is correct (t=y) the weights wi are not
changed
If the output is incorrect (t≠y) the weights wi are
changed so that the output of the perceptron for the
new weights is closer to t
The algorithm converges to the correct classification
if the training data is linearly separable
and is sufficiently small
42
Perceptron Learning Rule
t=-1
t=1
y=1
w=[0.25 –0.1 0.5]
x2 = 0.2 x1 – 0.5
y=-1
(x,t)=([2,1],-1)
(x,t)=([-1,-1],1)
(x,t)=([1,1],1)
y=sgn(0.45-0.6+0.3)
y=sgn(0.25+0.1-0.5)
y=sgn(0.25-0.7+0.1)
=1
=-1
w=[0.2 –0.2
w=[-0.2
–0.4 –0.2]
–0.2]
w=[0.2 0.2 0.2]
43
Gradient Descent Learning Rule
Consider a linear unit without threshold and continuous
output y (not just –1,1)
y = w0 + w1x1 + … + wnxn
Learning strategy: minimize a suitable function of the
weights wi’s, for example the squared error
E[w1,…,wn] = ½dD (td-yd)2
where D is the set of training examples
Minimization technique: gradient descent (versus connection
weights
E
w
44
Gradient Descent
D={<(1,1),1>,<(-1,-1),1>,
<(1,-1),-1>,<(-1,1),-1>}
Gradient:
E[w]=[E/w0,… E/wn]
w=- E[w]
(w1,w2)
(w1+w1,w2 +w2)
wi=- E/wi
=/wi 1/2d(td-yd)2
= /wi 1/2d(td-i wi xi)2
= d(td- yd)(-xi)
45
Gradient Descent
Gradient-Descent(training_examples, )
Each training example is a pair <(x1,…xn),t> where (x1,…,xn) is the vector of
input values, and t is the target output value, is the learning rate (e.g. 0.1)
Initialize each wi to some small random value
Until the termination condition is met, Do
Initialize each wi to zero
For each <(x1,…xn),t> in training_examples Do
Input the instance (x1,…,xn) to the linear unit and compute the output
y
For each linear unit weight wi Do
wi = wi + (t-y) xi
For each linear unit weight wi Do
wi := wi+wi
46
Incremental Gradient Descent
Batch mode : gradient descent
w = w - ED[w] over the entire data D
ED[w]=1/2d(td-yd)2
Incremental mode: gradient descent
w = w - Ed[w] over individual training examples d
Ed[w]=1/2 (td-yd)2
Incremental Gradient Descent can approximate
Batch Gradient Descent arbitrarily closely if is
small enough
47
Perceptron vs Gradient Descent Rule
Perceptron learning rule guaranteed to succeed if
Training examples are linearly separable
Sufficiently small learning rate
Linear unit training rules using gradient descent
Guaranteed to converge to hypothesis with minimum squared
error
Given sufficiently small learning rate
Even when training data contains noise
Even when training data not separable by H
48
Multi-Layer (feedforward) Networks
Strati intermedi tra input e output
Connessioni da strati di livello basso a strati di livello
alto; nessuna connessione all'interno di uno stesso
strato
Stato di un neurone: x
Funzione di transizione:
con P(x)
funzione sigmoidale
Per ogni configurazione x del primo strato (ingresso),
la rete calcola una configurazione y dell'ultimo strato
(uscita)
49
Multi-Layer Networks
output layer
…
…
…
hidden layers
input layer
50
Multi-Layer Networks
Obiettivo è che, fissata una mappa f tra configurazioni di
ingresso e di uscita, sulla base di una sequenza di stimoli xk, la
rete cambi i pesi delle connessioni in modo che, dopo un numero
finito s di passi di apprendimento, l'uscita yk coincida con f(xk)
per ogni k>s, almeno approssimativamente.
Criterio di modifica: minimizzare un "criterio di discrepanza" tra
risposta della rete e risposta desiderata
Teorema (Irie-Miyake, 1988): Un solo strato nascosto è
sufficiente per permettere di calcolare qualsiasi funzione da un
insieme finito a {0,1}
51
Example
Exclusive or with one hidden layer
.5
+1
+1
–2
1.5
+1
+1
52
Sigmoid Unit
x1
w1
w2
x2
.
.
. w
n
xn
x0=1
w0 net=i=0n wi xi
y=(net)=1/(1+e-net)
y
(x) is the sigmoid function: 1/(1+e-x)
d(x)/dx= (x) (1- (x))
53
Training a two layers network
Input
x
Weights
w
Output
yj = iwijxi
∂y
∂S w x
∂E ∂E ∂yj
=
×
= –(tj–yj)× j = –dj× i ij j = –dj×xi
∂wij ∂yj ∂wij
∂wij
∂wij
I pesi sono modificati proporzionalmente a questa
derivata (regola delta):
Dwij = h×dj×xi
La convergenza a un minimo globale é garantita per
funzioni di attivazione lineari senza unità nascoste e per
dati consistenti
54
Multilayer networks of sigmoid units
Neurons u1, u2, …, un:
Real weights wij
Activation states sj
Net input to uj :
Sigmoid transition function:
input units
hidden units
output units
1
sj(t+1) = -ni (t)
1+ e
55
Multilayer networks of sigmoid units
Let x input, t expected output, y actual output
Consider square norm
Modify weights using:
Dw ij = – h
Since:
∂E
∂w ij
∂E ∂E ∂nj ∂E
=
×
=
× s = (def) –dj× s j
∂wij ∂nj ∂wij ∂nj j
we need to determine:
dj = –
∂E
∂nj
56
Backpropagation Algorithm
Step 1 – Input
Input neuron uj is set to state
xj
Step 2 – Propagation
The state of hidden or output neurons uj is computed
sj = fj(nj)
Step 3 – Comparison
For each output neuron uj, given the expected output, compute:
dj = f 'j(nj)(tj – y j)
Step 4 – Error backpropagation
For each hidden neuron uj, compute:
Step 5 – Weights update
wij := wij + hd isj
57
Backpropagation Algorithm
Initialize each wi to some small random value
Until the termination condition is met, Do
For each training example <(x1,…xn), t> Do
Input the instance (x1,…,xn) to the network and compute
the network outputs yk
For each output unit k
For each hidden unit h
k=yk(1-yk)(tk-yk)
h=yh(1-yh) k wh,k k
For each network weight w,j Do
wi,j=wi,j+wi,j where
wi,j= j xi,j
58
Backpropagation
Gradient descent over entire network weight vector
Easily generalized to arbitrary directed graphs
Will find a local, not necessarily global error minimum
-in practice often works well (can be invoked multiple times
with different initial weights)
Often include weight momentum term
wi,j(n)= j xi,j + wi,j (n-1)
Minimizes error training examples
Will it generalize well to unseen instances (over-fitting)?
Training can be slow (typical 1000-10000 iterations)
Using network after training is fast
59
Backpropagation Algorithm
Limiti
mancanza di teoremi generali di convergenza
può portare in minimi locali di E
difficoltà per la scelta dei parametri
scarsa capacità di generalizzazione
Possibili modifiche migliorative
Tasso di apprendimento adattivo:
= g(gradiente di E)
Termine di momento Dwij(t+1) = hdi sj + aDwij(t)
Range degli stati da –1 a 1
Deviazioni dalla discesa più ripida
Variazioni nell'architettura (numero di strati nascosti)
Inserimento di connessioni all'indietro
60
Backpropagation Algorithm
Il tasso di apprendimento
grande, rischio di comportamento oscillatorio
piccolo, apprendimento lento
Strategie di identificazione della architettura ottimale
Rete grande apprende facilmente, ma generalizza male
Rete piccola apprende con difficoltà, ma generalizza bene
A partire da una rete grande tolgo neuroni nascosti, se
valuto che può continuare ad apprendere anche con meno
neuroni
A partire da una rete piccola aggiungo neuroni nascosti,
se la discesa della funzione E é troppo lenta o bloccata
A partire da una ipotesi iniziale di rete, aumento o diminuisco i nodi
nascosti, secondo criteri misti
61
Backpropagation Algorithm
Inserimento di connessioni all'indietro
in presenza di connessioni con ritardo q l'input netto é:
la funzione E é calcolata pesando l'errore nel tempo:
nel calcolo delle derivate occorre aggiungere variabili ausiliarie
Il ruolo dell'integrazione
la rete può integrarsi con moduli tradizionali, sfruttando tutte le
informazioni simboliche e le sinergie che vi possono essere
62
ALVINN
Drives 70 mph on a public highway
Camera
image
30 outputs
for steering
4 hidden
units
30x32 pixels
as inputs
30x32 weights
into one out of
four hidden
units
63
8-3-8 Binary Encoder -Decoder
8 inputs
3 hidden
Input
Output
10000000 10000000
01000000 01000000
00100000 00100000
00010000 00010000
00001000 00001000
00000100 00000100
00000010 00000010
00000001 00000001
8 outputs
Hidden values
.89 .04 .08
.01 .11 .88
.01 .97 .27
.99 .97 .71
.03 .05 .02
.22 .99 .99
.80 .01 .98
.60 .94 .01
Can this be learned ?
64
Convergence of Backpropagation
Gradient descent to some local minimum
Perhaps not global minimum
Add momentum
Stochastic gradient descent
Train multiple nets with different initial weights
Nature of convergence
Initialize weights near zero
Therefore, initial networks near-linear
Increasingly non-linear functions possible as training
progresses
65
Expressive Capabilities of ANN
Boolean functions
Every boolean function can be represented by network with
single hidden layer
But might require exponential (in number of inputs) hidden
units
Continuous functions
Every bounded continuous function can be approximated with
arbitrarily small error, by network with one hidden layer
[Cybenko 1989, Hornik 1989]
Any function can be approximated to arbitrary accuracy by a
network with two hidden layers [Cybenko 1988]
66
Working with backpropagation
Come evitare i minimi locali?
Quanto è lungo il tempo di apprendimento?
Come scegliere ?
Nessuna risposta teorica, solo risultati di simulazione
67
Working with backpropagation
Esempio: Funzione Logistica
j = (t j - o j ) o j (1 - o j )
j = o j (1 - o j )
w
k
jk
unità output
unità nascosta
k
Il ruolo della costante
l
Troppo grande: oscillazione
l
Troppo piccolo: apprendimento lento
68
Il problema XOR
Soluzione 1
y
6.3
-4.2
-4.2
-9.4
x3
2.2
x1
-6.4
-6.4
x2
69
Il problema XOR
Logistic function
= 0.5
558 cicli
Output
≤ 0.1 per 0
≥ 0.9 per 1
~0
~0
~1
~0
~0
~1
70
Il problema XOR
Soluzione 2
-.8
5.3
4.5
2.0
-.1
-2.0
8.8
4.3
9.2
Minimo locale!!!!
Output 0.5 per input 11 e 01
6.587 presentazioni, =0.25
71
Il problema XOR
APPRENDIMENTO NEL PRECETTRONE GEN.
INPUT
OUTPUT INIZ.
OUTPUT DOPO 250 CICLI
(1 CICLO)
( = .1)
0 1 1 1 1
.50
.96
1 0 1 1 1
.48
. 97
1 1 0 1 1
.46
. 97
1 1 1 0 1
.48
. 97
1 1 1 1 0
.46
. 97
1 0 0 0 0
.51
.02
0 1 0 0 0
.39
.03
0 0 1 0 0
.48
.03
0 0 0 1 0
. 47
.02
0 0 0 0 1
.46
.02
72
Il problema XOR
-.4
-.9
-1.4
-.8
-2.9
-6.9
-1.4
-.7
-.4
-2.4
-1.7
-1.8
0
-3.3
-2.0
-1.4
-1.1
-1.6
-.8
-2.2
-2.3
-1.5
-.1
0 1 0 0 1
1 1 1 0 0
1 1 0 1 1
0 1 1 0 1
1 0 1 0 0
0 0 1 0 1
0 0 1 0 0
1 0 0 1 0
1 1 0 1 0
0 0 1 1 0
-1.2
Difficoltà di classificazione
73
Le reti di Hopfield
n neuroni binari a soglia
ui
connessione completa con pesi simmetrici
Tij
evoluzione della rete verso uno stato stabile, a partire
da uno stato iniziale assegnato
aggiornamento sequenziale casuale con distribuzione
di probabilità uniforme
Teorema:
La rete converge a uno stato stabile, che é minimo globale o locale della
funzione energia:
74
Le reti di Hopfield
Dimostrazione:
E decresce o resta invariata ad ogni aggiornamento. Se
si aggiorna ui a u'i si ha la variazione di energia:
Se
Se
75
Le reti di Hopfield
In altre parole, si cambia stato solo se ciò comporta una diminuzione di energia.
Stati stabili sono gli stati di minima energia, in cui E non é abbassata da
modifiche di nessuna delle variabili ui
B
A
C
Stati di minimo
COMPUTAZIONE:
Si bloccano i valori di alcune unità (input)
Si lascia evolvere la rete fino all'equilibrio
Si leggono e interpretano i valori di alcune unità (output)
Il meccanismo probabilistico e l'esistenza di più minimi locali possono portare a
risultati diversi in diverse esecuzioni
76