Altri Seminari
Next: About this document ...
Cenni sulle reti neurali
Michele Cerulli
Date: 19 Luglio 2000
V
=
;
S
=
=
;
: il neurone al momento t è eccitato,
quindi produce un output;
: il neurone al momento t non è eccitato,
quindi non produce alcun output;
: la sinapsi che connette i due neuroni è
eccitativa, ovvero favorisce il passaggio di informazioni;
: la sinapsi è è inibitoria.
Il modello di McCulloch-Pitts
Esempi di altri modelli: equazione generale
dove:
con
Graded Response Neurons. Si assume che la trasmissione
del messaggio avvenga istantaneamente,
, e si trascurano i termini direset,
assumendo che le fluttuazioni del potenziale successive alla
trasmissione del messaggio siano irrilevanti:
Coupled oscillators.
L'universalità dei neuroni di McCulloch-Pitts
Tali neuroni sono universali nel senso che permettono di emulare
una qualsiasi macchina digitale finita.
Riduzione ad operazioni binarie con output singolo:
Come possiamo ottenere le mappe
con i neuroni di
McCulloch-Pitts?
Riduciamo ulteriormente il problema...
Tramite gli operatori
, definiamo
l'operatore
, che dice quando due variabili arbitrarie
hanno lo stesso valore:
Data la mappa ad output singolo
, una macchina
che la esegue può essere costruita, dati
e il
vettore input
, tramite l'operatore SAME. La macchina
verifica se
è identico ad uno dei vettori di
, in tal caso l'output sarà 1, altrimenti
sarà 0:
Che in termini delle operazioni logiche SAME,
,
e
, si esprime:
Realizzazione di Operazioni Elementari con i Neuroni di
McCulloch-Pitts.
Bisogna stabilire i
valori di
e
.
Esempio: neurone che riceve due inputs
e
(
).
![$ x$](img62.png) |
![$ y$](img63.png) |
![$ x\wedge y$](img64.png) |
![$ x+y-3/2$](img65.png) |
![$ \theta\left[x+y-3/2\right]$](img66.png) |
0 |
0 |
0 |
-3/2 |
0 |
0 |
1 |
0 |
-1/2 |
0 |
1 |
0 |
0 |
-1/2 |
0 |
1 |
1 |
1 |
1/2 |
1 |
![$ x$](img62.png) |
![$ y$](img63.png) |
![$ x\vee y$](img68.png) |
![$ x+y-1/2$](img69.png) |
![$ \theta\left[x+y-1/2\right]$](img70.png) |
0 |
0 |
0 |
-1/2 |
0 |
0 |
1 |
1 |
1/2 |
1 |
1 |
0 |
1 |
1/2 |
1 |
1 |
1 |
1 |
3/2 |
1 |
Apprendimento
Regola di Hebb: le informazioni vengono immagazzinate
sotto forma di "forza" delle sinapsi che connettono i neuroni;
apprendere significa modificare tali sinapsi.
Il Perceptrone
"Apprendere" significa modificare i parametri
ed
Dato un insieme "insegnante"
si sceglie un elemento a caso in
, se
si
lascia tutto inalterato, altrimenti si modificano i parametri
caratterizzanti il neurone studente
.
Problema Può il Perceptrone imparare ad eseguire una
qualsiasi operazione?
Nel 1969 Papert mostra che in effetti questo non è vero, basta
costruire degli appositi esempi.
Per K=1
Per
un solo neurone non basta, ad esempio, per eseguire
XOR(x,y):
![$ x$](img62.png) |
![$ y$](img63.png) |
XOR(x,y) |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
Proposizione:Non esiste alcuna terna di numeri
tali che:
Dimostrazione:
Supponiamo che invece una tale terna
esista, allora:
Separabilità lineare
L'insieme
dei possibili vettori input corrisponde
ai vertici dell'ipercubo unitario in
, mentre il neurone
che esegue l'operazione
può essere interpretato come operatore che divide
in
due sottospazi separati dall'iperpiano
Per
:
Per
l'ipercubo è un quadrato e ci sono
operazioni
, 16 modi di colorare
i quattro vertici del quadrato:
per
esistono due operazioni per cui questo non è possibile:
Le due operazioni in questione sono esattamente
e
:
Multi-Layer Networks (Reti a più strati)
Reti
feed-forward a due strati di neuroni di McCulloch-Pitts,
con il secondo strato costituito da un solo neurone.
"Grandmother neuron" che realizzi XOR.
Costruiamo una rete con la seguente struttura:
dove:
Per cui:
La rete produce gli outputs richiesti:
Costruzione.
Dove:
Costruiamo il blocco di base
:
Proposizione:
Dimostrazione:
:
Fissato
, l'espressione
, interpretata come
una operazione effettuata sulla variabile
è della forma
McCulloch-Pitts:
Un neurone costruito in questo modo restituisce 1 se l'input è in
, altrimenti restituisce zero.
Strato nascosto di neuroni:
Costruendo l'ultimo strato otteniamo la rete:
L'apprendimento: il Perceptrone
Data l'operazione
passo
1:Scegliere una domanda a caso, ovvero un
qualsiasi.
passo 2:Controllare se "studente" ed "insegnante" sono
d'accordo:
: torna al passo 1
: modifica parametri e torna al passo 1
modifica parametri:
Definizione:
si dice perceptrone un neurone "studente" di
McCulloch-Pitts che impara secondo la regola di apprendimento:
modifica parametri:
Domande:
- Un perceptrone può apprendere come eseguire una qualsiasi
operazione?
- La procedura di apprendimento, è finita?
Teorema di Convergenza del Perceptrone: se l'operazione
è linearmente separabile, allora la procedura di
apprendimento del Perceptrone converge, in un numero finito di
passi, ad una configurazione stazionaria in cui
.
Dimostrazione:
Regola d'apprendimento:
Passo 1. Separabiltà lineare:
,
t.c.
Passo 2. Disuguaglianze:
![$\displaystyle J'\cdot W \geq J\cdot W+\delta$](img192.png) |
(1) |
![$\displaystyle \vert J'\vert^{2}\leq J^{2}+K+1$](img193.png) |
(2) |
Dopo
ripetizioni:
![$\displaystyle J(n)\cdot W\geq J(0)\cdot W+n\delta$](img195.png) |
(3) |
![$\displaystyle \vert J(n)\vert^{2}\leq\vert J(0)\vert^{2}+n(K+1)$](img196.png) |
(4) |
Passo 3. Contraddizione:
Schwartz
Dopo
modifiche:
:
Poichè non possono più avvenire modifiche, il sistema deve essere
in una situazione stazionaria in cui
Dopo quanto converge la procedura di apprendimento?
Se le condizioni iniziali sono
, otteniamo:
Osserviamo che
non è il numero di inputs, esempi da mostrare
al perceptrone, ma è il numero di modifiche: la procedura di
apprendimento può comunque essere molto lunga!
Versione "continua" del Perceptrone
Procedura d'apprendimento:
Scelto a caso
,
Si ottiene:
![$\displaystyle \frac{d}{dt}J(t)=\langle x[M(x_{l}-\theta(J(t)\cdot x)]\rangle_{\Omega}$](img211.png) |
(5) |
dove:
probabilità che il vettore
venga estratto durante il
processo di apprendimento.
Teorema: Se il compito
è linearmente separabile,
allora l'equazione (5) converge ad un punto
fisso
tale che
.
Come funziona l'apprendimento nelle "multilayer
feed-forward networks"?
Data una rete con
strati, abbiamo:
in questo caso si sceglie di tipo sigmoide.
Dati
l'operazione
, al momento
e l'input
:
dove:
Kohonen's SOFM-model
- Inizializzazione, vengono assegnati pesi random alle
sinapsi
- viene presentato un input
- Si trova la migliore unità e si caombiano i pesi
sinaptici
Dove:
è un intorno del miglior neurone,
di raggio
, al passo
.
è una funzione dipendente da dalla distanza tra
e
.
Next: About this document ...
Michele Cerulli
2000-10-29