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 feed- forward 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 Classificazione Classificatore
Posizione dei bordi della condotta
Confronto con metodi classici trasformate di Hough Rete neurale Trasformata di Hough
Altre applicazioni di segmentazione
HOLOMAR 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 Back-Propagation.
Risultati Immagini IN-LINE Immagini OFF-AXIS % classificate correttamente % classificate correttamente Immagini IN-LINE Immagini OFF-AXIS
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?