Date post: | 01-May-2015 |
Category: |
Documents |
Upload: | gianluigi-zamboni |
View: | 246 times |
Download: | 6 times |
Le reti neurali
Reti neurali naturali ed artificiali
Reti neurali naturali. Il neurone
Da Occhio, Cervello, Visione, D.H. Hubel, Zanichelli, 1989
Tutti i sistemi nervosi animali sono costituiti da neuroni
Fondamentalmente simili in tutti gli animali
Nematode c. 600
Essere umano c. 10.000.000.000.000
(10 12) Forma del neurone
Dendriti Soma Assone
Il neurone - funzione Riceve input da altri neuroni sui dendriti Genera impulsi che vengono trasmessi
lungo l’assone Molto lento rispetto a componenti
elettronici Comportamento influenzato da
ormoni/neurotrasmettitori
Non è pienamente capito 50 anni fa si pensava che il
neurone fosse un dispositivo binario
accesso/spento Ma oggi sappiamo che:
Una parte dell’informazione trasmessa dal neurone dipende dalla frequenza degli impulsi
Il neurone genera impulsi anche quando sta a riposo
Sotto stimolo aumenta/riduce la frequenza degli impulsi
Intervallo fra un impulso e il prossimo come portatore di informazione?
Da, L’homme neuronale, J.P. Changeux, Fayard, 1983
Codifica dell’informazione da parte del neurone
Le sinapsi Spazio fra la terminazione
di un assone (o segmenti non mielinizzati) e i dendriti di un altro neurone
Trasmissione di informazione
Unidirezionale Trasmissione elettrica Trasmissione con neuro-
trasmettitori Sinapsi eccitatorie Sinapsi inibitorie Nel cervello umano circa
1015
Da L. Squire & E.R. Kandel, Memory, Scientific American, 1999
Le reti neurali naturali Connettività
estremamente ricca alcuni neuroni
ricevono input da più di 10.000 altri neuroni
Connessioni prevalentemente a breve distanza Alcune connessioni a
lunga distanza
Da, L’homme neuronale, J.P. Changeux, Fayard, 1983
Reti neurali e neuroni artificiali Il neurone artificiale
Connessioni/pesi Funzione di soglia Output binario
Rete neurale come calcolatore universale
La macchina di Von Neumann non è l’unica possibile implementazione di un calcolatore universale
SE S1*W(1,3)+S2*W(2,3)>=Soglia ALLORA
S3=1
ALTRIMENTI
S3=0
S1 S2
S3
W(1,3) W(2,3)
I strato
II strato
Realizzazione della funzione AND con un neurone artificiale
La funzione AND
SE S1=1 E S2=1 ALLORA
S3=1
ALTRIMENTI S3=0 Soglia=1.5
W(1,3)=1
W(2,3)=1
input
output
W(1,3)W(2,3)
S1 S2
S3
Le reti neurali e l’apprendimento Problema di acquisizione della
conoscenza Suggerimento di Von Neumann
Un calcolatore efficace deve poter imparare come un bambino
Regola di Hebb La stimolazione simultanea (o quasi) di due
neuroni interconnessi provoca un rafforzamento della sinapsi
Implementazione della Regola di Hebb
Dati S1 e S2
w(1,2) = *S1*S2;
w(t1) = w(t0) + w;è il tasso di
apprendimentoW = peso sinaptico
Stimoli esterni
S1
S2
Le 4 regole di Hebb Regola di Hebb “classica”
I pesi sinaptici possono essere SOLO incrementati
Interferenza, quando pattern di input hanno elementi in comune
Regola Postsinaptica Incremento modulato dal
neurone postsinaptico Regola Presinaptica
Incremento modulato dal neurone presinaptico
Regola della covarianza Dipende dallo stato di
entrambi i neuroni
;2112*1)2,1w( SSSS
;1122*1)2,1w( SSSS
Il percettrone Rosenblatt (1958) Ispirati a studi sul sistema di
visione del cervello Hardwired feature detectors
Ognuno vede solo una parte dell’input
Analoghi a “Feature detectors” nel cervello
Neurone di output Connessioni da ogni feature
detector al neurone di output “Peso” variabile delle
connessioni fra feature detectors e neurone di output
feature detectors
Neurone di output
Retina artificiale
Procedura di apprendimento del percettrone Procedura di apprendimento che consente di
apprendere qualsiasi mapping input-output teoricamente acquisibile da parte di un percettrone
Algoritmo Presentare input (in ordine casuale) Se l’output è corretto
Non fare nulla Se l’output è ON quando dovrebbe essere OFF
Ridurre forza connessioni a FD che sono ON Se l’output è OFF quando dovrebbe essere ON
Aumentare forza connessioni a FD che sono ON
Percettroni e intelligenza biologica Numero limitato di feature detector Una parte del cervello è geneticamente
determinata Feature detectors
Una parte è modificabile attraverso l’esperienza
Connessioni fra feature detector e neurone di output Capacità di generalizzazione Robusto nei confronti del rumore “Graceful degradation”
Apprendimento della funzione AND
Funzione AND: Input Output 1 1 1 0 1 0 1 0 0 0 0 0
input
output
pesi
Un software per reti neurali: NetTools
1) Costruisco la rete neurale
2) Costruisco gli esempi (Training Set)
3) Addestro la rete4) Verifico
l’apprendimento
NetManager.exe
TrsEditor.exe
NetTrainer.exe
NetManager.exe
TrsEditor.exe
NetManager.exe
NetTrainer.exe
Apprendimento della funzione Xor
Funzione Xor: Input Output 1 1 0 0 1 1 1 0 1 0 0 0
input
output
pesi
TrsEditor.exe
NetManager.exe
NetTrainer.exe
Il periodo del silenzio:Minsky e Papert Analisi del percettrone di Rosenblatt Il percettrone hai dei limiti
computazionali NON può risolvere il problema della
parità NON può risolvere il problema dello
Xor Lo Xor è una funzione LINEARMENTE
NON SEPARABILE
La separabilità lineare
0,0 1,0
0,1 1,1
AND, OR, NOT sono funzioni linearmente separabili
AND
0,0 1,0
0,1 1,1
Xor
Nella funzione Xor non èpossibile separare con una retta i pattern che richiedonola stessa risposta dagli altri
02211 sogliawSwS
Critica alla critica Molti dei problemi che non possono essere risolti da un
Perceptrone XOR Parity
Sono molto difficili anche per gli esseri umani e gli animali Gli stessi punti di debolezza del percettrone sono un
indizio che il cervello potrebbe funzionare in modo analogo
Il cervello come sistema di pattern matching con limitata capacità di calcolo
I perceptroni possono comunque essere utilizzate per la creazione di modelli complessi
Come superare il problema? Percettroni
multistrato: problema dell’apprendimento (non esisteva nessun algoritmo)
PDP: Algoritmo di ERROR BACK-PROPAGATION
(Rumelhart e McClelland, 1986)
input
output
hidden
La Back-Propagation Algoritmo simile alla regola Delta Stessa modalità di apprendimento (supervisionato) Si propaga il segnale di errore all’indietro:
Calcolo dell’errore sull’output Aggiornamento dei pesi tra output e hidden
Calcolo dell’errore sulle hidden Aggiornamento dei pesi tra le hidden e l’input
Relazione tra la variazione dell’errore ed il cambiamento dei pesi (importanza della funzione di attivazione)
Discesa del Gradiente