Corso di Laurea Triennale in Informatica (B.Sc.) Seminario per il corso di! Ingegneria del Software (prof. E. Tramontana) Ecce homo «Un occhio che scruta nella semioscurità: questo è il cervello.» [G. Soriano] NEURAL NETWORKS Dr. Christian Napoli, M.Sc.!! Dipartimento di Matematica e Informatica! Università degli Studi di Catania!!! napoli@dmi.unict.it - www.dmi.unict.it/~napoli/ 1 2 Christian 1 Napoli! Rilasciato con licenza Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.! Concetti di base Il cervello: tra analogia e semantica Concetti di base TEST: esercizio analogo-cognitivo «Per quanto un analogia sia spesso falsa, è la cosa meno falsa che abbiamo.» [R.S. Butler] In fisica, l'analogia è il procedimento che cerca di indagare le leggi connesse ai fenomeni meno conosciuti partendo dalle leggi che governano fenomeni noti.? Nella semantica, l'analogia è quel procedimento compositivo per cui si sostituiscono ai consueti rapporti logicosemantici altri rapporti basati su somiglianze tanto sul piano del significato che su quello del significante. 3 4
Concetti di base TEST: esercizio analogo-cognitivo Concetti di base TEST: esercizio analogo-cognitivo 5 6 73 Concetti di base Astrazione «La cultura è stadio capace d'astrazione: è stadio ricco di linguaggio astratto. Per tale ragione essa è dimensione appetibile per il sistema Homo.» [P. Ferrari] In informatica è l'applicazione metodologica nella strutturazione della descrizione dei sistemi informatici complessi, per facilitarne la progettazione e manutenzione o la stessa comprensione. Nella programmazione orientata agli oggetti (OOP), l astrazione implica la facilità di definire oggetti che rappresentino entità che possono svolgere lavori, riportare e cambiare il loro stato, e comunicare con gli altri oggetti. In filosofia è un metodo logico per ottenere concetti universali ricavandoli dalla conoscenza sensibile di oggetti particolari mettendo da parte ogni loro caratteristica spazio-temporale. 83 Connettoma All interno della scatola cranica Nessun sentiero riesce a penetrare questa foresta. Ovunque, le lunghe ed esili ramificazioni dei suoi alberi ne soffocano lo spazio con la loro crescita esuberante, e nessun raggio di sole trova una percorso abbastanza tortuoso da riuscire a intrufolarsi negli spazi angusti tra i rami ingarbugliati. Ogni albero di questa foresta è cresciuto da 100 miliardi di semi piantati insieme. E in un solo giorno, ognuno di essi morirà.! [Connectome, S. Seung (2012)] Il cervello, e con esso, il pensiero, la personalità, la capacità di astrazione, sono frutto dell operosa cooperazione fra piccole cellule che si scambiano segnali attraverso un intricata rete di comunicazione
9 (CC) Wikimedia Commons / CC-SA-3.0 Connettoma Neuroni biologici Grazie alle sue peculiari proprietà fisiologiche e chimiche è in grado di ricevere, integrare e trasmettere impulsi nervosi, nonché di produrre sostanze denominate neurosecreti. I neuroni sono delle celle biosintetiche elettricamente attive, il cervello umano ne contiene un ordine di 10 11.! 10 Connettoma Attivazione neurologica: il caso biologico Il potenziale d'azione nelle cellule del sistema nervoso permette la trasmissione di informazioni fra cellule: questo è causato da, ed a sua volta, causa la, liberazione di sostanze (chiamate neurotrasmettitori) contenute in vescicole che agendo sulle cellule vicine determinano delle conseguenze, come per esempio la modifica del potenziale medesimo. (CC) Wikimedia Commons / CC-SA-3.0 L'assone si comporta come un conduttore elettrico tra neuroni grazie alla presenza di alcuni ioni come sodio, cloro, calcio e potassio, viene creato un flusso ionico che genera una corrente elettrica. A livello delle sinapsi la depolarizzazione determinata dalla corrente determina l'apertura di canali per il calcio. Connettoma 11 I! N! P! U! T Elettro-fisiologia del neurone ATTIVAZIONE O! U! T! P! U! T Neuroni artificiali 12 ~ =
Funzioni di attivazione Reti Neurali come black boxes Purtroppo non è possibile fornire una descrizione al contempo generale e finita delle funzioni di attivazione, esiste infatti una vastissima quantità di possibili funzioni di attivazione (non tutte performanti e non tutte adatte all implementazione pratica), in definitiva, infatti, qualsiasi funzione assolutamente integrabile in un intervallo può essere utilizzata come funzione di attivazione. Anche se l appartenenza ad L1 è una condizione necessaria, essa non è certo sufficiente perché la funzione scelta sia adatta, essa deve essere infatti in grado di discriminare nettamente dei valori di soglia oltre i quali attivare il neurone.! 1,2 0,8 0,4-1 -0,75-0,5-0,25 0 0,25 0,5 0,75 1-0,4-0,8-1,2 13 14 15 Reti Neurali: vantaggi Problemi di cui non si conosce alcun modello analitico o per i quali la sua implementazione è estremamente difficile Capacità di generalizzazione adatte alla modellizzazione Facilità di implementazione in quanto costituite da neuroni simili Robustezza rispetto al rumore Reti Neurali: svantaggi Estremamente pesanti dal punto di vista computazione Necessità di un ampia gamma di casi già noti per l allenamento Errore di predizione a volte grande Non analitici a priori, ma possibile ricavare un modello 16 Tale trasformazione avviene tramite il calcolo a partire dagli input di strati (o layer) successivi di funzioni di attivazione che svolgono per l appunto la funzione di soglia come nel modello biologico semplificato di neurone.! Reti Neurali Artificiali: modello matematico Un primo modello semplificato di rete può essere visto come una serie funzionale pesata di isomorfismi non lineari che trasformano un insieme di variabili indipendenti di ingresso in un insieme di variabili dipendenti di uscita.! Al neurone di un certo l-esimo strato corrisponde uno stato determinato dalla funzione f l.!
Reti Neurali Artificiali Reti Neurali Artificiali La rete neurale è descrivibile mediante di un applicazione analitica:! Input layer:! Per il primo hidden layer:! Tale che ad ogni u associa! L insieme degli N elementi ui del vettore u è detto input layer, i neuroni sono suddivisi nei successivi strati detti hidden layer, in quanto la loro azione non è trasparente all utilizzatore finale. L insieme degli M elementi che compone il vettore di uscita y sarà detto infine output layer.! Per ogni altro neurone in ogni altro hidden layer:! 17 18 Reti Neurali Artificiali Detto L il numero di hidden layers, per i neuroni di output infine:! Questioni di peso I pesi w sono il cuore della rete neurale, una volta scelta la topologia Esplicitando in maniera poco elegante:! fissata una topologia T ed il relativo set di funzioni di attivazione {f l } T, il problema si riduce alla determinazione del migliore set di pesi {w(l)} T. Per determinare questo set è necessario allenare la rete a partire da associazioni note tra gli input ed alcuni output conosciuti chiamati target. 19 Cosa possiamo dire di w? Scelta una topologia si deve supporre che esista una N T in grado di ricostruire perfettamente t a partire da u, e quindi partendo da uno stato generico della rete, ossia da una distribuzione random di pesi, l allenamento consiste nell applicazioni di funzioni di scelta e variazione che modifichino i pesi della rete nel tentativo di trovare il set ideale che ricostruisca la cercata. 20
Training algorithms Funzioni di errore Training algorithms Training 21 22 Training algorithms Training Training algorithms Training Per ogni time step: 23 24
Training algorithms Problemi legati al training Feedforward Neural Networks (FNN) Spesso sono algoritmi pesanti e di lenta esecuzione Si potrebbe essere ingannati dalla presenza di minimi locali dell errore che facciano deviare l allenamento o peggio polarizzare DIPENDENZA DAI PESI INIZIALI (A VOLTE NON RANDOM) Criticità nella scelta del rateo di apprendimento Overfitting (o polarizzazione) SPESSO FORTISSIMA DIPENDENZA DALLA TOPOLOGIA Possibili dipendenze dalla struttura dei dati di input o di training 25 26 Hands on Recurrent Neural Networks (RNN) 27 28
Hands on? Hands on 29 30 Grazie. L edizione in formato PDF è reperibile nella sezione didattica del sito internet dell autore all indirizzo http://www.dmi.unict.it/~napoli/ Per contattare l autore è possibile inviare un e-mail a napoli@dmi.unict.it Prima di copiare o condividere questa presentazione è raccomandabile leggere la licenza d uso CC-BY-NC-ND-4.0: http://creativecommons.org/licenses/by-nc-nd/4.0/deed.en_us 31 Christian 31 Napoli! Rilasciato con licenza Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.!