Reti Neurali: studi sull'intelligenza artificiale S. Gentili Dipartimento di Matematica e Informatica Cos’è l’intelligenza artificiale? • Lo scopo dell’intelligenza artificiale è lo sviluppo di algoritmi che svolgono operazioni che apparentemente richiedono cognizione quando fatte da umani • Un sistema intelligente deve fare 3 cose: • Memorizzare la conoscenza • Applicare la conoscenza a risolvere i problemi • Acquisire conoscenza tramite l’esperienza Cos’è una rete neurale? • Una rete neurale è letteralmente una rete di neuroni (artificiali o no) collegati fra loro • Il singolo neurone del cervello è più lento di un chip (1 evento/ms vs 1 milione/ms) • Il cervello è però composto da 100 miliardi di neuroni ognuno dei quali comunica con altri diecimila neuroni Computer e reti neurali • Il computer tradizionale (di Von Neumann) è molto rapido e efficiente nel risolvere compiti in cui l’essere umano è in difficoltà • È però molto lento e inefficiente nel risolvere problemi che riguardano la vita quotidiana che l’essere umano risolve molto velocemente Calcolatore tradizionale • Ogni dato viene elaborato in successione • Esiste un solo elemento di elaborazione (processore) che fa tutte le operazioni • Ogni dato è identificato da un indirizzo • Il calcolatore deve essere programmato per svolgere un compito Cervello umano • I dati vengono elaborati in parallelo • Molti elementi di elaborazione (neuroni) lavorano allo stesso problema • Il singolo dato è identificato in base al contenuto • Il cervello impara in base all’esperienza o con l’aiuto di un insegnante Le reti neurali artificiali • Le reti neurali artificiali sono sistemi di elaborazione ispirati al sistema nervoso degli esseri viventi li ricordano in due cose: • La conoscenza è acquisita tramite un processo di addestramento • La forza delle connessioni fra neuroni è usata per memorizzare la conoscenza Il cervello umano • Il cervello è costituito da una rete di neuroni. • Al singolo neurone, tramite dendriti e sinapsi arrivano segnali elettrici dagli altri neuroni • Se il segnale è al di sopra di una soglia il neurone genera un segnale in uscita lungo l’assone La rete neurale artificiale • La rete neurale artificiale è costituita da semplici unità che simulano i neuroni (neuroni o nodi) • Al singolo neurone arrivano segnali dagli altri neuroni con una intensità che dipende dai pesi sinaptici delle connessioni • Il segnale in uscita è in genere una funzione della somma di quelli in entrata Struttura delle reti • I neuroni sono distribuiti e connessi in modi che dipendono dal tipo di rete • Nelle reti di tipo feedforward il segnale si propaga da un input a un output • Nelle reti ricorrenti o di tipo feedback torna anche indietro L’addestramento delle reti • I computer tradizionali non imparano dai propri sbagli • Il cervello umano sì • La maggior parte delle reti neurali anche Addestramento • Le reti neurali rispondono in funzione della forza delle connessioni fra neuroni • Una rete addestrata è quindi una rete in cui i pesi delle connessioni sono stati fissati • metodi: • reti a struttura predefinita • reti supervisionate • reti auto-organizzate La storia delle reti neurali artificiali: gli inizi • Il primo modello di neurone artificiale risale al 1943 e fu ideato da Mc. Culloch e Pitts • le prime reti neurali artificiali non apprendevano e i pesi sinaptici venivano modificati a mano • I neuroni avevano una semplice attivazione a soglia Gli anni 50-60 • Nel 1949 Hebb propose il primo meccanismo di apprendimento: se due neuroni sono attivi contemporaneamente la forza della loro connessione aumenta. • Nel 1962 Rosemblatt propose una regola di apprendimento che modificava i pesi se la risposta era scorretta (perceptrons) • Nello stesso periodo (1960) Widrow e Hoff proposero un meccanismo simile ma più potente la “regola della delta”. Gli anni 70-80 Nel 1969 Minsky e Papert dimostrarono che i perceptron non erano in grado di risolvere funzioni logiche non linearmente separabili. • Nel 1974 Kohonen propose le “mappe di Kohonen” si trattava di reti “non supervisionate” • Nel 1986 venne risolto il problema dei perceptron con lo sviluppo della “Back-Propagation” il metodo più diffuso ancor oggi. • Nello stesso anno Grossberg propose la Teoria della Risonanza Adattiva che permetteva di aggiungere conoscenza a una rete già addestrata Sviluppi degli ultimi 10 anni • Applicazioni delle reti neurali esistenti a moltissimi campi di ricerca • Sviluppo di hardware parallelo per implementare le reti neurali. • Applicazione della logica Fuzzy alle reti neurali • Possibilità di aggiungere conoscenza a reti supervisionate già addestrate Applicazioni esistenti • • • • • • • • Compressione dei dati Eliminazione del rumore Riconoscimento segnali sonar Macchina da scrivere fonetica Riconoscimento di caratteri Sistemi di guida automatica Analisi finanziarie Medicina Alcuni esempi di applicazioni • Classificazione di scene sottomarine • Progetto Europeo Holomar: classificazione di immagini olografiche Il problema della segmentazione • Uno dei problemi più difficili nell’analisi di immagini è la segmentazione • Gli oggetti cambiano colore, luminosità, tessitura, a causa delle ombre, dell’illuminazione variabile, di caratteristiche proprie La guida automatica di un mezzo sottomarino • Il sistema deve essere in grado di compiere autonomamente le operazioni • Non può essere controllato continuamente da un operatore umano Controllo delle condotte: sistema di guida ANODO S Problemi: • Presenza di sabbia, alghe incrostazioni (occlusione e deformazioni) • Cambiamento del materiale e della tessitura della condotta • Cambiamento della visibilità in acqua Problema del riconoscimento di oggetti Oggetto Costruzione di una descrizione formale Pattern Classificatore Classificazione Posizione dei bordi della condotta Confronto con metodi classici trasformate di Hough Rete neurale Trasformata di Hough Altre applicazioni di segmentazione High resolution in situ HOLOgraphic recording and analysis of MARine organisms and particles • Il problema affrontato è la classificazione di organismi diversi tramite reti neurali Esempi di immagini olografiche Immagini IN-LINE < 0.1 mm Immagini OFF-AXIS <= 1 mm Problemi relativi alla classificazione • Il sistema non deve risentire di problemi legati a: • • • • Differenze individuali Problemi di segmentazione dell’immagine rotazione casuale degli organismi di interesse aggregazione variabile di organismi per talune specie. Classificazione • La classificazione è stata fatta tramite una rete neurale feed-forward multistrato supervisionata addestrata tramite un algoritmo di BackPropagation. Risultati 100 100 80 Asterionella Ceratium 60 Diatom Floc 40 Zoo Total 20 80 60 Crustaceans 40 20 0 0 Immagini IN-LINE Copepods Immagini OFF-AXIS Total Vantaggi delle reti neurali • Le reti neurali sono in grado di risolvere problemi estremamente complessi per algoritmi tradizionali • Sono in grado di imparare • Lavorano in tempo reale • Ottengono risultati anche in presenza di dati complicati e imprecisi. Possibili limiti • Sono “scatole nere”, i problemi vengono risolti, non capiti • È necessario disporre di un ampio insieme di esempi per addestrarle Domande?