Lezioni 4-5 Reti neurali File - e-Learning

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
xA
wx < 0
se
xB
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 xA
w' := w–x se xB
3. Si prova un nuovo input
30
Il teorema di convergenza del percettrone
Correttezza
Sia xA e wx < 0
Poiché xx ≥ 0 vale w'x = (w+x)x = wx + xx > wx
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}iN
A' = AB'
v
tale che
B' = {-x | xB}
vx ≥ 0
xA'
sequenza di addestramento
 xiA'
 occorrono infinite volte elementi sia di A che di B'

{wi}iN
sequenza dei pesi
scelta arbitraria
 w0 = 0
 wk+1 =
wk
se wkxk ≥ 0
wk + xk altrimenti
32
Il teorema di convergenza del percettrone
sequenza dei vettori dei pesi modificati
 {vi}iN
sottosequenza di training corrispondente
{ti}iN
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 | xA')
æ 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 | xA'}
|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 xy = 1
se e solo se x + y ≥l
x
y

xy
l
38
Un esempio

Essendo  simmetrica, vale anche
xy = 1 sse y + x ≥ l

Sommando e dividendo per 2 si ottiene:
xy = 1 sse tx + ty = t(x+y) ≥ l
ove t = (+ )/2

Posto ora x+y = s, abbiamo:
xy = 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, ts – l < 0
(00 = 0)
Per s = 1, ts – l ≥ 0
(01 = 1 = 10)
Per s = 2, ts – l < 0
(11 =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] = ½dD (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/2d(td-yd)2
= /wi 1/2d(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/2d(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