Relazione

advertisement
Università degli Studi della Calabria
Facoltà di Lettere e Filosofia
Corso di laurea in D.A.M.S.
Indirizzo Multimediale
PSICOLOGIA GENERALE II
RETE NEURALE
Professoressa:
Eleonora Bilotta
A cura di :
Anello Mariacarmine
SOMMARIO
 Introduzione
 Rete neurale “Esseri viventi”
1
INTRODUZIONE
La rete neurale è una struttura formata da un certo numero di unità collegate tra loro da connessioni.
Attraverso le connessioni un’unità influenza fisicamente le altre unità con cui è collegata.
Le unità hanno alcune delle caratteristiche essenziali delle cellule nervose, i neuroni del sistema
nervoso reale, mentre le connessioni hanno alcune delle caratteristiche essenziali dei collegamenti
sinaptici tra neuroni.
Ogni unità della rete neurale ha un livello quantitativo di attivazione che corrisponde, nel sistema
nervoso reale, a quanto è attivo in un certo momento un neurone reale, cioè alla frequenza con cui il
neurone “scarica” impulsi nervosi che influenzano gli altri neuroni con cui è collegato.
Le reti neurali si distinguono in reti neurali naturali e reti neurali artificiali.
RETI NEURALI NATURALI
 Lo studio del neurone è importante perché tutti i sistemi nervosi naturali sono costituita da
neuroni.
Il sistema nervoso è fondato sulle cellule neuronali.
Il neurone è composto da un albero dendritico, un soma, e un assone ed è caratterizzato da un alto
grado di convergenza e divergenza: i segnali provenienti da migliaia di altri neuroni convergono verso
il soma del neurone il cui assone a sua volta diverge in migliaia di terminali che vanno a toccare
diversi altri neuroni.
Il neurone è l’unica cellula che non si rigenera.
Il neurone naturale funziona:
-ricevendo input da altri neuroni sui dendriti;
-in relazione degli input, genera impulsi che vengono trasmessi lungo l’assone;
-molto lento rispetto a componenti elettronici;
-il suo comportamento è influenzato da neurotrasmettitori.
Per codificare l’informazione, 50 anni fa, si pensava che il neurone naturale fosse un dispositivo
binario (acceso/spento).
Oggi, invece, si è certi che l’informazione del neurone passa attraverso la frequenza degli impulsi.
Il neurone genera impulsi anche quando sta a riposo. Quando è stimolato aumenta o riduce la
frequenza degli impulsi.
Il neurone riceve impulsi attraverso i bottoni della sinapsi.
La sinapsi regola la quantità di segnale e il tipo di effetto che esso provoca sul neurone ricevente.
Una sinapsi è il punto di contatto fra il terminale assonico di un neurone (anche detto neurone
presinattico) e il ramo dendritico di un altro neurone (neurone postsinaptico).
Una sinapsi ha ridotte dimensioni che permettono una grande ricchezza di connettività in uno spazio
molto compatto.
Il punto di giunzione sinaptico è caratterizzato dalla presenza di un piccolissimo spazio tra le due
membrane di trasmissione.
Più numerosi sono i siti sinaptici, maggiore è il peso della connessione. Le connessioni sono di due
tipi, eccitatorie e inibitorie.
Se la connessione è eccitatoria, un’unità tende a far aumentare il livello di attivazione dell’unità con
cui è collegata. Se è inibitoria, l’unità di partenza tende a far diminuire il livello di attivazione
dell’unità di arrivo. Risulta chiaro che la rete neurale può essere considerata come un modello del
sistema nervoso.
Un neurone emette un segnale lungo il suo assone, quando la differenza di carica elettrica fra la parte
interna ed esterna della sua membrana raggiunge un certo livello di soglia.
Il neurone in fase di “riposo” (quando non riceve alcun segnale esterno) rimane in una situazione di
equilibrio.
2
RETE NEURALE ARTIFICIALE
 Il neurone artificiale è caratterizzato da un insieme di sinapsi che corrispondono ai terminali di
altri neuroni, da una soglia e da una funzione di attivazione.
S1
S2
W(1,3)
Considerando una rete con 2 unità
di input, un’unità di output: Il
valore del neurone S3 è attivato
solo quando vi è il superamento
della soglia.
I strato
W(2,3)
II strato
1
S3
SE S1*W(1,3)+S2*W(2,3)>=Soglia ALLORA S3=1 ALTRIMENTI S3=0
Se S1+ S2 moltiplicati per i loro pesi sono maggiori della soglia, S3 sarà uguale a 1 altrimenti sarà
uguale a 0.
Esempio della funzione AND con un neurone artificiale
S1
input
S2
Funzione AND
SE
W(1,3)
W(2,3)
output
S3
S1=1
E
S2=1 allora S3=1altrimenti S3=0
Considerando una rete con 2 unità di input, un’unità
di output: la funzione AND richiede una risposta
positiva quando entrambe le unità di input sono
attive e la risposta opposta in tutti gli altri casi.
APPRENDIMENTO
Per quanto concerne l’apprendimento, la risposta di una rete neurale è determinata dai valori sinaptici
delle connessioni fra i nodi.
Si distinguono due modalità di apprendimento:
1) Apprendimento supervisionato: la modifica dei valori sinaptici avviene impiegando una
misura di errore tra la risposta fornita dalla rete neurale e la risposta desiderata per ogni vettore
di input.2
2) Apprendimento per auto-organizzazione: non esiste una risposta desiderata imposta
dall’esterno, ma la definizione di alcune semplici regole che danno luogo a un’autoorganizzazione della rete durante la fase di esposizione ai pattern di input. Le reti neurali che
funzionano in base a tali principi sono in grado di estrarre informazioni dall’ambiente, di
classificare autonomamente una serie di pattern e di sviluppare delle configurazioni interne.
L’apprendimento consiste nella presentazione ripetuta di una serie di vettori, anche detti pattern
d’addestramento. Nell’apprendimento supervisionato ogni pattern è composto da una coppia, il
vettore d’ingresso e il vettore della risposta desiderata; nell’apprendimento auto-organizzato, invece,
vi sono solo i vettori d’ingresso.
Nel I strato ci sono 2 neuroni; nel II strato c’è un solo neurone;
Le connessioni vengono chiamati pesi sinaptici e determinano quanto parte di informazione arriva da un neurone all’altro.
2
Procedura definita”apprendimento con insegnante” poiché si ipotizza che la risposta provenga dall’esterno.
1
3
Fra i pochi meccanismi di apprendimento che definiscono un punto di partenza su cui sviluppare
modelli complessi sono importanti le regole hebbiane.
La regola di Hebb (psicologo canadese) stabilisce che se due neuroni collegati fra loro sono
contemporaneamente attivi, l’efficacia sinaptica della connessione viene rinforzata. In seguito a
questo rafforzamento, la sola attivazione del nodo presinaptico sarà sufficiente a causare l’attivazione
del nodo postsinaptico. Questa associazione verrà ulteriormente rinforzata ogni volta che i due nodi
saranno attivi contemporaneamente.
Per modificare l’apprendimento sono state sviluppate 4 regole, fondate sulla regola di Hebb:
1)regola classica: i pesi sinaptici possono essere solo incrementati
2)regola postsinaptica: incremento modulato dal neurone postsinaptico
3)regola presinaptica: incremento modulato dal neurone presinaptico
4)regola della covarianza: dipende dallo stato di entrambi i neuroni
Tali regole permettono l’aumento del peso o il decremento in base alla stimolazione dei neuroni.
Molti psicologi si sono interessati anche della visione artificiale, in particolar modo Rosenblatt nel
1958, ha sviluppato un sistema, dove sono presenti:
-neurone di output
-connessioni da ogni feature detectors al neurone di output
-peso variabile delle connessioni fra feature detectors e neurone di output
Neurone di output
Feature detectors
Retina artificiale
La connessione dal feature detectors al neurone permette l’apprendimento.
Il percettrone come struttura computazionale, ha una capacità di generalizzare, riesce a ricostruire
degli input che non sono completi.
Caratteristica del percettrone è che eliminando alcune connessioni lui continuerà comunque a
funzionare. La procedura di apprendimento di un percettrone consente di apprendere qualsiasi
mapping input-output teoricamente acquisibile.
Ogni qualvolta la rappresentazione dettata dal mondo esterno sia tale che la struttura di somiglianza
del pattern di input si discosti nettamente da quella del pattern di output, una rete senza
rappresentazioni interne (cioè, una rete senza unità nascoste) sarà incapace di apprendere le
associazioni appropriate. Un esempio classico è quello del problema dell’o disgiuntivo (XOR). Questo
problema, come molti altri non può essere risolto da reti sprovviste di unità nascoste che creino una
rappresentazione interna dei pattern di input.
Il percettrone ha dei limiti computazionali, per esempio, non può risolvere il problema dello XOR 3.
Per superare il problema della separabilità lineare, viene usato l’algoritmo di Back-Propagation che
permette l’apprendimento di reti multistrato.
3
XOR: funzione linearmente non separabile.
4
Si avranno:
output
hidden
input
Il funzionamento della regola di Back-Propagation è simile alla regola Delta.4
Le regole si fondono su l’aumento o la diminuzione dei pesi, in funzione degli errori.
Per risolvere il problema (es. XOR):
-si propaga il segnale di errore all’indietro;
-si calcola l’errore sull’output;
-si modificano i pesi tra output e hidden,
-si modificano i pesi tra hidden e input.
-Si crea una relazione tra la variazione dell’errore ed il cambiamento dei pesi.
Attraverso l’algoritmo si indirizza l’errore sulle hidden, riapplicando l’aggiornamento dei pesi tra
input e hidden, si raggiunge l’apprendimento.
Nel percettrone i pesi vengono modificati in modo discreto, vengono codificati in modo continuo
tramite la funzione di attivazione.5
Tale funzione determina il tipo di risposta che un neurone è in grado di emettere.
N
net   wi si
i 0
L’input netto di un neurone i-esimo è la somma algebrica
dei prodotti fra tutti i segnali di ingresso S, e i valori delle
sinapsi corrispondenti W.
Tra le funzioni:
1) Funzione di attivazione “a scalino” (percettrone)
Se net > soglia
1
A
0 altrimenti
Il neurone può essere attivo o inattivo.
2)Funzione logistica
A
1
1  e  knet
0<A<1
La funzione logistica è continua, si approssima da 0 a 1.
4
5
La regola Delta permette di modificare i pesi.
Se il neurone supera una soglia si attiva, se è inferiore non si attiva.
5
Con le reti neurali gli errori che si possono determinare sono quelli del:
-minimo assoluto (es. rete neurali a 2 strati): l’errore arriva a zero e la procedura si ferma
(la rete ha appreso);
-minimo locale 6(es. rete neurale a 3 strati): l’errore non scende oltre un punto, la procedura si ferma
(la rete non ha appreso).
Un nuovo metodo di addestramento per reti neurali ( ma non solo) è l’algoritmo genetico, dove non è
necessario conoscere gli output corretti da associare agli input.
Gli algoritmi genetici sono fondati sul concetto di riproduzione selettiva.7
Vi sono ripetute interazioni tra l’organismo e l’ambiente:
-generazione di una popolazione casuale di organismi;
-misura della competenza degli organismi nel loro ambiente;
-selezione dei migliori organismi;
-meccanismi di riproduzione e mutazione del genotipo.
I meccanismi di riproduzione avvengono per :
1) Mutazione: dove avviene una modifica di alcuni pesi sinaptici scelti a caso
(riproduzione asessuata);
2) Crossover: dove avviene uno scambio di materiale genetico fra i genitori (riproduzione sessuata).
Con gli algoritmi genetici si ottiene una forma di adattamento e non di apprendimento.
6
7
Un modo per evitare il minimo locale è quello di modificare i pesi.
L’algoritmo genetico funziona tramite riproduzione e mutazione del genotipo.
6
RETE NEURALE “ESSERI VIVENTI”
Il software NetTools ha permesso la creazione della rete.
La rete neurale, definita “ESSERI VIVENTI”, riesce ad estrarre informazioni dalla discriminazione
tra gli esseri vertebrati e invertebrati.
TABELLA CON CATEGORIE E DOMANDE
Discriminazione tra vertebrati e invertebrati





 CINQUE DOMANDE:
Sono dotati di organi per il moto, le pinne?
Hanno temperatura variabile?
Respirano per mezzo dei polmoni?
Hanno la pelle protetta da piume?
Vivono nell’acqua?
DETERMINO GLI ESEMPI CON LE RISPOSTE CORRETTE:
INPUT
OUTPUT
PESCI
1
1
1
0
0
1
ANFIBI
1
0
1
1
0
1
VERMI
0
0
0
0
0
0
UCCELLI
1
0
0
1
1
0
CETACEI
1
1
0
0
0
1
CELENTERATI 0
0
1
0
0
1
RETTILI
CANI8
0
0
1
0
1
1
0
0
0
0
1
1
IL LAVORO SI SUDDIVIDE IN DIVERSE FASI
I FASE
NetManager è stato utilizzato per la costruzione della rete neurale.
ESSERI VIVENTI è una rete neurale multistrato (numero di strati>3).
Il file è stato salvato come modello ,“Anello.spr”.
8
Le due categorie in basso ( rettili e cani) verranno utilizzati per verificare l’apprendimento della rete.
7
Esempio di rete senza pesi
II FASE
TrsEditor è stato utilizzato per costruire gli esempi sui quali la rete ha imparato
(costruzione del Training Set).
La rete è costituita da :
6 pattern>5 input>1 di output .
Il file è stato salvato con il nome “Anello.trs”
Inserimento degli esempi
III FASE
NetTrainer è stato utilizzato per l’addestramento della rete. Inserendo i precedenti file è stata creata la
rete neurale artificiale “ESSERI VIVENTI”.rna
Visualizzazione dell’errore; grafico errore>play;
8
IV FASE
NetManager è stato utilizzato nuovamente per verificare l’apprendimento della rete, attraverso due
modalità:
 associando i valori della I categoria di animali e “testando” tramite il bottone “interroga”;
i valori ottenuti sono corretti; la rete acquisisce che i pesci sono esseri viventi vertebrati.

I esempio di verifica
Associando i valori di una delle categorie di animali non conosciuti dalla rete, risulta chiaro
che non sono stati identificati.
II esempio di verifica
Struttura della rete neurale
Proprietà della rete neurale
RISULTATO:
La rete neurale “ESSERI VIVENTI” è riuscita a categorizzare e quindi ha appreso.
9
10
Scarica