Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Neurone:
• corpo neurale (la cellula/soma) −→ elemento operazionale
• assone (prolungamento del corpo) −→ segnale di uscita
• dendriti (prolungamenti minori) −→ segnali d’ingresso
• sinapsi (103 ÷ 104 contatti assone-dendriti) −→ pesi ingresso
Funzionamento:
!
X
y=θ x i wi − b
i
Cervello:
• 1010 ÷ 1012 neuroni, 1014 ÷ 1015 connessioni
• ingressi: esterni (informazione sensitiva) / interni (feed-back)
• abilità eccezionali di apprendimento e rappresentazione
• robustezza, tolleranza, flessibilità, analisi dati anche incompleti
N N
(1) (2)
X X
2. forma quadratica: GW(1) ,W(2) (Y) = wj yj + wjk yj yk
j=1 j,k=1
v
u N
uX
3. distanza euclidea: GW (Y) = t (wj − yj )2
j=1
Funzioni di trasferimento (f : R → A)
1. A = {0, 1} ({−1, 1}) : binaria deterministica f (x) = θ(x) (sgn(x))
1
2. A = {−1, 1} ({0, 1}) : binaria stocastica P (f (x)) =
1+e−(sgn(x)β)(x−θ)
Algoritmo di addestramento
Insieme di addestramento (learning set): {(X1, z1 ), . . . , (XM , zM )}
zj ∈ {−1, 1}, j = 1, M
(0)
1. scegliere matrice pesi iniziale W(0) , w0
(corr) (corr)
2. per j = 1, M calcolare yj = sgn(W(corr) Xj + w0 )
3. per ogni j, assegnare ”nuovo” valore corrente:
(corr) (corr) (corr)
W(corr) ← W(corr) + 1/2η(zj − yj )(Xj )T , w0 ← w0 +η
(corr)
4. se ∃j ∈ 1, M tale che zj 6= yj ritorna al passo 2, altrimenti
(corr)
assegnare al perceptron i valori correnti dei pesi W(corr) , w0
Osservazioni
• si può scegliere un tasso di apprendimento η costante (egg. η = 1)
o dipendente dall’iterazione η(W(corr) , Xj )
• si può scegliere un W(0) in maniera ”intelligente” anziché casuale
per migliorare la convergenza
• il perceptron può rappresentare qualsiasi funzione booleana
F : {−1, 1}N → {−1, 1} corrispondente ad un insieme di addestra-
mento linearmente separabile; in questo caso l’algoritmo converge
dopo un numero finito di passi
• con funzioni di trasferimento continue, si possono rappresentare
anche funzioni separabili F : RN → R; la limitazione inaccettabile
della separabilità è superata solo nelle reti multistrato
Separabilità
6x2 6x2
w1 x1 +w2 x2 +w0 =0
HH
∗ ∗ ∗ d
HH
d
d
HH ∗ C1
HdH w1 (x1 −a)2 +w2 x22 +w0 =0
d d
HH
∗∗ ∗
d HH x1 ∗ x1
HH - -
∗ ∗
d
H
H ∗∗
d d
C1
d
C2 C2 d
D1 = 0
6x2 D3 = 0 6x2
@
@
@ C1
C3 @ ∗ ∗ ∗ ∗
@ C1 D1 = XD3 D1 = D3
d
@ XXX
+ ∗ +XXX∗XX∗ ∗
+ @
d
∗
+ @@ ∗ x1
-
+ x1
-
+
d
+
d@
@
d
+ +
+
d d
@ C3
D2 = 0 d @d
d @
C2 @@ C2
D2 = D3
Separabilità lineare forte: ∃ una retta Separabilità lineare semplice: ∃ una
(iperpiano) Di (X) = 0 per ciascuna retta (iperpiano) Di (X) = 0 per
classe di punti, tale che X0 ∈ Cj ⇔ ciascuna classe di punti, tale che
Dj (X0) > 0 & Dk (X0) < 0 (∀k 6= j) X0 ∈ Cj ⇔ Dj (X0) > Dk (X0) (∀k 6= j)
Reti neurali artificiali (ANN)
Elementi ANN:
1. Architettura −→ topologia/connettività
2. Funzionamento −→ trasformazione ingresso in uscita
3. Adattamento/Addestramento −→ vari algoritmi
1. Architettura
Unità funzionali...
• d’ingresso: ricevono e ritrasmettono alla rete i segnali d’ingresso
• d’uscita: il loro segnale d’uscita definisce l’uscita dalla rete
• nascoste: connesse soltanto ad altre unità della rete
Topologia ANN:
• arbitraria – senza relazione d’ordine (”tutto connesso a tutto”) – Hopfield
• geometrica – con funzione distanza tra le unità (tipo griglia) – Kohonen
• stratificate – successione di livelli gerarchici, ordine intralivello arbitraria –
feedforward, ecc.
Connettività ANN:
• totale (per topologia arbitraria)
• tra i livelli gerarchici distinti (per topologia a strati)
• tra elementi di uno stesso strato (laterali - per topologia geometrica)
• tra uno strato (unità) e sé stesso: feedback (per ogni topologia)
Rete neurale a tre strati
2. Funzionamento
Elementi apprendimento:
1. insieme di informazioni
2. algoritmo di addestramento
1. Insieme di informazioni
2. Algoritmi di addestramento
W ← W − η∇W E(W)
∂E
wp ← wp − η p∈I
∂wp
1. Tappa inizializzazione
assegnazione pesi iniziali diversi da 0 (abitualmente wp ∈ (−1, 1))
assegnazione tasso di apprendimento η(0)
assegnazione errore ammissibile Eε
assegnazione numero massimo di epoche qmax
assegnazione contatore epoche q = 0
2. Tappa iterazione
REPEAT
FOR l = 1, M DO
fase forward: calcolare Yl = FW (Xl )
fase backward:
• calcolare l’errore per lo strato di uscita δkl
• calcolare l’errore
P per gli strati nascosti (dall’ultimo al
primo) δj (= k δk wjk f2′ (xj ))
l l
Vantaggi dell’algoritmo:
• metodo effettivo adatto a ingressi / uscite continue
• riproduce con precisione arbitraria funzioni continue (rete a due
strati) o qualsiasi funzione (rete a tre strati)
• buona capacità di generalizzazione (se la rete non è sovrallenata)
• buona tolleranza per il rumore nell’insieme di addestramento
1. Tappa inizializzazione
assegnazione pesi iniziali W aleatori
assegnazione errore ammissibile Eε
assegnazione numero massimo di epoche qmax
assegnazione contatore epoche q = 0
2. Tappa iterazione
calcolare l’errore EW
REPEAT
assegnazione aleatoria aggiornamenti ∆
assegnazione pesi provisori W′ = W + ∆
calcolare l’errore aggiornato EW′
IF EW′ < EW THEN W ← W′
q ←q+1
UNTIL EW ≤ Eε OR q > qmax
– algoritmi tipo simulated annealing (reti Hopfield)
– algoritmi genetici
Ristagno
Causa: ingressi grandi in valore assoluto → piccole derivate delle fun-
zioni di trasferimento (sigmoidale) → valori δm ≪ 1 → aggiornamenti
non significativi
Soluzioni euristiche:
• ”Penalizzazione” dei pesi grandi
X
- si opera la modifica dell’errore: E W = EW + λ wp2
p∈I
- parametro di penalizzazione λ > 0
Soluzioni:
• troppe epoche ⇒ early stopping
metodi costruttivi
– poche unità iniziali
– se la rete non rappresenta bene ⇒ raggiungere unità
metodi distruttivi
– molte unità iniziali
– se la rete non generalizza bene ⇒ eliminare unità
• Architettura:
– numero di unità d’ingresso = (numero variabili scalari da con-
siderare) × (numero elementi della seria temporale, L)
– numero di unità d’uscita = numero variabili scalari da consid-
erare
– numero di unità nascoste = funzione (crescente) del cardinale
dell’insieme di addestramento
– si possono considerare uno o due strati di unità nascoste
• Funzionamento:
– unità d’ingresso e d’uscita → funzioni di trasferimento lineari
– unità nascoste → funzioni di trasferimento sigmoidali
• Addestramento
– algoritmo canonico: retropropagazione
– modifiche canoniche → accelerazione della convergenza, elim-
inazione del sovrallenamento
– altre modifiche: vari metodi per migliorare le predizioni (cal-
colo parallelo, algoritmi genetici, introduzione di feedback, cam-
biamenti della topologia, ecc.)
Considerazioni