Reti neurali naturali ed artificiali Le reti neurali Reti neurali naturali ed artificiali
Reti neurali naturali. Il neurone 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 Da Occhio, Cervello, Visione, D.H. Hubel, Zanichelli, 1989
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
Codifica dell’informazione da parte del neurone 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
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 S1 S2 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 I strato W(1,3) W(2,3) II strato S3 SE S1*W(1,3)+S2*W(2,3)>=Soglia ALLORA S3=1 ALTRIMENTI S3=0
Realizzazione della funzione AND con un neurone artificiale S1 S2 La funzione AND SE S1=1 E S2=1 ALLORA S3=1 ALTRIMENTI S3=0 input W(1,3) W(2,3) output S3 Soglia=1.5 W(1,3)=1 W(2,3)=1
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 Stimoli esterni Dati S1 e S2 Dw(1,2) = h*S1*S2; w(t1) = w(t0) + Dw; h è il tasso di apprendimento S1 S2 W = peso sinaptico
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
Il percettrone Neurone di output Retina artificiale 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 Neurone di output feature detectors 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 Input Output 1 1 1 0 1 0 1 0 0 0 0 0 output pesi input
Un software per reti neurali: NetTools Costruisco la rete neurale Costruisco gli esempi (Training Set) Addestro la rete Verifico l’apprendimento NetManager.exe TrsEditor.exe NetTrainer.exe NetManager.exe
NetManager.exe TrsEditor.exe NetTrainer.exe
Apprendimento della funzione Xor Input Output 1 1 0 0 1 1 1 0 1 0 0 0 output pesi input
NetManager.exe TrsEditor.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 AND 0,1 1,1 AND, OR, NOT sono funzioni linearmente separabili 0,0 Xor 1,0 0,1 1,1 Nella funzione Xor non è possibile separare con una retta i pattern che richiedono la stessa risposta dagli altri 0,0 1,0
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) output hidden PDP: Algoritmo di ERROR BACK-PROPAGATION (Rumelhart e McClelland, 1986) input
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