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
(
).
|
|
|
|
|
0 |
0 |
0 |
-3/2 |
0 |
0 |
1 |
0 |
-1/2 |
0 |
1 |
0 |
0 |
-1/2 |
0 |
1 |
1 |
1 |
1/2 |
1 |
|
|
|
|
|
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):
|
|
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:
|
(1) |
|
(2) |
Dopo ripetizioni:
|
(3) |
|
(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:
|
(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