Reti Neurali

19
S Prova Finale Apprendimento Automatico e Reti Neurali Intelligenza Artificiale FACOLTÀ DI ECONOMIA Corso di Laurea in Statistica e Informatica per la Gestione delle Imprese UNIVERSITÀ DEGLI STUDI DI PERUGIA Relatore Prof.ssa Valentina Poggioni Laureando Giuseppe Agabiti

Transcript of Reti Neurali

Page 1: Reti Neurali

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

Page 2: Reti Neurali

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

Page 3: Reti Neurali

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

Page 4: Reti Neurali

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

Page 5: Reti Neurali

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

Page 6: Reti Neurali

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

Page 7: Reti Neurali

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)

Page 8: Reti Neurali

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

Page 9: Reti Neurali

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

Page 10: Reti Neurali

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)

Page 11: Reti Neurali

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

Page 12: Reti Neurali

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

Page 13: Reti Neurali

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)

Page 14: Reti Neurali

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

Page 15: Reti Neurali

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”

Page 16: Reti Neurali

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

Page 17: Reti Neurali

Applicazioni esistenti Reti

NeuraliCompressione dei dati

Riconoscimento segnali Sonar

Riconoscimento di caratteri

Sistemi di guida automatica

Analisi finanziarie

Medicina

Page 18: Reti Neurali

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

Page 19: Reti Neurali

S

FINE

Tesi di Laurea diGiuseppe Agabiti