Post on 27-Jun-2015
S
Prova Finale
Apprendimento Automatico e Reti Neurali
Intelligenza Artificiale
FACOLTÀ DI ECONOMIACorso di Laurea in Statistica e Informatica per
la Gestione delle Imprese
UNIVERSITÀ DEGLI STUDI DI PERUGIA
RelatoreProf.ssa Valentina
Poggioni
LaureandoGiuseppe Agabiti
Cos’è l’Intelligenza Artificiale?
L’intelligenza artificiale ha lo scopo di sviluppare algoritmi che fanno operazioni che apparentemente richiedono cognizione quando fatte da umani.
Le azioni che un sistema intelligente deve svolgere sono fondamentalmente tre:1. Memorizzare la conoscenza2. Applicare la conoscenza per risolvere
problemi3. Acquisire nuova conoscenza tramite
l’esperienza
Calcolatore e Cervello Umano
Un chip è più veloce di un singolo neurone del cervello:• 1 milione eventi/ms contro 1 evento/ms
Però il cervello è composto da 100 miliardi di neuroni ognuno dei quali comunica con altri diecimila neuroni
Il calcolatore è molto rapido e efficiente nel risolvere compiti in cui l’essere umano è in difficoltà
Però è molto lento e inefficiente nel risolvere problemi che richiedano intuito o esperienza
Calcolatore e Cervello Umano
Esiste un solo elemento di elaborazione (processore) che fa tutte le operazioni
Il calcolatore deve essere programmato per svolgere un compitoMolti elementi di
elaborazione (neuroni) lavorano allo stesso problema
Il cervello impara in base all’esperienza o con l’aiuto di un insegnante
Reti Neurali Biologiche
Il cervello è costituito da una rete di neuroniAl singolo neurone, tramite dendriti e sinapsi arrivano segnali elettrici dagli altri neuroniSe il segnale è al di sopra di una soglia il neurone genera un segnale in uscita lungo l’assone
Reti Neurali ArtificialiLe reti neurali artificiali sono sistemi di
elaborazione ispirati al sistema nervoso degli esseri viventi
I neuroni che compongono una rete neurale artificiale vengono raccolti in strati:1. Strati di ingresso, contenenti solo i
neuroni che ricevono direttamente segnali provenienti dall’esterno della rete
2. Strati di uscita, contenenti solo i neuroni che hanno un canale di uscita verso l’esterno
3. Strati nascosti, che non sono né d’ingresso né d’uscita. I neuroni che compongono questi strati sono detti unità nascoste
Stratodi Ingresso
StratoNascosto
Strato diUscita
Struttura di un nodo
Il singolo nodo riceve i segnali dai suoi collegamenti in ingresso e calcola un nuovo livello d’attivazione che invia lungo tutti i suoi collegamenti in uscita Il calcolo del valore di attivazione ai è composto da
due componenti:1 Componente lineare (funzione di ingresso), calcola la
somma pesata dei valori d'ingresso del nodo
2 Componente non lineare g (funzione di attivazione), trasforma la somma pesata nel valore finale ai
La rete neurale artificiale è costituita da semplici unità che simulano i neuroni (nodi)
Funzioni di Attivazione “g”
La funzione a gradino ha una soglia t che individua l’ingresso pesato minimo che permetta al neurone di inviare l’impulso
Nella funzione di segno, invece di avere una soglia t, si considera per ciascun nodo un ingresso aggiuntivo, la cui attivazione è fissata a -1; il peso extra associato ricopre il ruolo della soglia t, in questo modo tutte le unità possono avere una soglia fissata a 0
Architettura di una Rete Neurale
La connessione e la distribuzione dei nodi dipende dal tipo di Architettura di rete neurale a cui appartengono
Le Architetture possono essere ragruppate in due classi:• Rete alimentata in avanti (feed-
forward): I collegamenti sono in un’unica direzione e non ci sono cicliIl modello più famoso è il Percettrone
• Reti ricorrenti con reazione (feed-back): L’attivazione può essere ripassata all’indietroUno dei modelli più noti sono le Reti di Hopfield
Il Percettrone Il Percettrone sta alla base delle reti
neurali; nasce da un’idea di Rosenblatt (1962) e con esso si cerca di simulare il funzionamento di un singolo neurone; viene utilizzato come sinonimo di rete alimentata in avanti ad uno strato (nessuna unità nascosta)
Nel caso più basilare ha solo 2 input e un output:• Ognuno degli input, x1 e x2 ha un peso
corrispondente, quindi l’output del percettrone sarà una funzione semplicemente data dalla somma ponderata degli input:y = f(x1*w1+x2*w2)
Le Reti di HopfieldSecondo questo modello ogni nodo può
comunicare con tutti o almeno con una grande maggioranza degli altri neuroni non solo nello strato immediatamente successivo, ma potenzialmente in qualunque stratoTutte le unità sono sia d’ingresso che d’uscita
La funzione di attivazione è la funzione segno e i livelli di attivazione possono essere solo ±1
L’Addestramento delle Reti
I computer tradizionali non imparano dai propri sbagli
Il cervello umano si
La maggior parte delle reti neurali anche, attraverso l’aggiornamento dei pesi
Una rete neurale addestrata è quindi una rete in cui i pesi delle connessioni sono stati fissati
Apprendimento Automatico
Una definizione di tale concetto è stata formulata da Mitchell nel 1997:• “Un programma apprende dall’esperienza
(E) rispetto ad una classe di problemi (T) e alla misura di performance (P), se la sua performance sui problemi in (T), così come misurata da (P), migliora con le esperienze in (E)”
Esempio: Gioco degli Scacchi
Paradigmi di Apprendimento Automatico:• Apprendimento non supervisionato
(unsupervised learning)• Apprendimento supervisionato (supervised
learning)• Apprendimento con rinforzo (reinforcement
learning)
Apprendimento non Supervisionato
Esperienza E• È costituita da una serie di esempi
raccolti di cui non sappiamo quasi nullaProblema T• Individuare qualcosa d’interessante
Performance P• Dipende da quanto è interessante quello
che è stato trovato
Esempio: Motori di ricerca
Apprendimento Supervisionato Esperienza E
• Una serie di esempi che sono stati elaborati da un esperto,
il supervisore• L’esperto o supervisore classifica gli esempi
individuando un particolare fenomeno interessante Problema T• Estrarre dagli esempi una descrizione compatta del
fenomeno descritto• La descrizione può essere successivamente sfruttata
per fare delle previsioni sul fenomeno Performance P• Dipende da quanto accurata è la previsione su esempi
non considerati dal supervisore
Esempio: Cartelle Cliniche “Pazienti affetti da Patologia”
Apprendimento per Rinforzo
Esperienza E• Le esperienze che il sistema colleziona
Problema T• È quello di ottenere quanto più rinforzo possibile
Performance P• Dipende dalla quantità di rinforzo ottenuta
Esempio: Agente per il trading on-line
Il sistema agisce direttamente sul problema “per tentativi”
Un istruttore “premia” o “punisce” il sistema attraverso un segnale numerico di rinforzo a seconda del comportamento istantaneo del sistema
Applicazioni esistenti Reti
NeuraliCompressione dei dati
Riconoscimento segnali Sonar
Riconoscimento di caratteri
Sistemi di guida automatica
Analisi finanziarie
Medicina
Vantaggi e Limiti delle Reti Neurali
Vantaggi:• 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 Limiti:• Sono “scatole nere”, i problemi vengono risolti, non capiti• È necessario disporre di un ampio numero di esempi per
addestrarle
S
FINE
Tesi di Laurea diGiuseppe Agabiti