Reti Neurali Artificiali

August 8, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Reti Neurali Artificiali...

Description

 

Capitolo 3 – Reti neurali artificiali

Capitolo 3

Reti neurali artificiali 3.1

Neurone biologico biologico ed artificiale

L’intelligenza artificiale è la disciplina che sviluppa tecniche che permettono ai calcolatori di svolgere funzioni e ragionamenti tipici della mente umana. Lo studio delle reti neurali inizia nel 1943 con i lavori di McCulloch e Pitts che dimostrano che una qualunque funzione logica può essere implementata con una rete di elementi a soglia con due stati. Ogni macchina a stati finiti può essere quindi simulata da una rete neurale artificiale costituita da un insieme di nodi, detti neuroni artificiali. Il neurone, o cellula nervosa, è l’unità fondamentale del tessuto nervoso che gode di particolari proprietà che gli permettono di trasmettere,

15

 

Capitolo 3 – Reti neurali artificiali

ricevere ed integrare impulsi nervosi.

Fig 3.1: Neurone biologico. La cellula nervosa è costituita da un corpo centrale, detto soma, e da due tipi di terminazioni, i dentriti e l’assone. I dentriti raccolgono gli impulsi nervosi trasmessi da altri neuroni, mentre l’assone propaga gli impulsi dal soma verso gli altri neuroni. La trasmissione degli impulsi è realizzabile grazie a dei collegamenti, posti tra le terminazioni nervose, detti sinapsi. Le sinapsi hanno la capacità di "modulare" il valore dei segnali che trasmettono. Infatti esse possono regolare gli impulsi che propagano secondo il loro andamento tipico. Quindi, se un collegamento tra due neuroni viene attraversato da segnali di piccola ampiezza, esso ridurrà il valore di un impulso più grande avvicinandolo, in parte, a quello dell’impulso medio che trasmette solitamente. L’evoluzione della modulazione sinaptica non cessa mai, infatti questa è capace di mutare le sue caratteristiche nel tempo, adattandosi di volta in volta all’andamento degli impulsi nervosi trasmessi. Proprio questa capacità di adattamento ha stimolato lo sviluppo di un oggetto che emulasse il comportamento delle cellule neurali, cioè il neurone artificiale. Questo è un modello matematico molto semplificato del neurone biologico costituito da una serie di ingressi e da un’uscita. Emulando il comportamento delle sinapsi, ad ogni ingresso è associato un

16

 

Capitolo 3 – Reti neurali artificiali

vettore di pesi che modella i valori di input. La somma pesata degli ingressi viene confrontata con una soglia, che determina l’attivazione, o meno, del neurone ed il relativo valore fornito in uscita. Una rete neurale artificiale è costituita da un insieme di neuroni artificiali, o nodi, interconnessi. Il loro scopo è quello di acquisire informazioni, accumulando una vera e propria conoscenza, per poi essere capaci di risolvere efficacemente problemi dinamici nel tempo. Le reti neurali sono solitamente organizzate in strati, o livelli, costituiti da neuroni che svolgono tutti il medesimo ruolo. Possiamo definire tre tipi di strati di neuroni: di ingresso, nascosti e di uscita. Non esistono limitazioni riguardo il numero di strati da utilizzare o il numero di neuroni per strato, tuttavia sono presenti degli schemi generali riguardanti le topologie, quindi le modalità di connessione tra neuroni e tra livelli, e le tecniche di apprendimento delle reti neurali.

3.2

Architettura della rete

E’ possibile configurare le connessioni tra i neuroni artificiali in vari modi. Questi condizionano la topologia della rete nonché il suo comportamento.

3.2.1 Feedforward Le connessioni feedforward permettono unicamente la comunicazione unidirezionale senza la possibilità di formare cicli. Dato che, come precedentemente detto, le reti neurali sono solitamente organizzate in strati, tali connessioni permetteranno la comunicazione solo tra uno strato ed il successivo, impedendo di effettuare "salti" o connessioni all’interno

17

 

Capitolo 3 – Reti neurali artificiali

del medesimo strato. Un esempio di rete feedforward è mostrato in figura 3.2. Questa modalità di comunicazione rende le reti che la utilizzano molto rapide poiché, senza la presenza di cicli o di propagazione orizzontale (cioè all’interno dello stesso livello), il segnale attraversa la rete percorrendo la direzione più breve fornendo for nendo il risultato dell’elaborazione il prima possibile.

Fig 3.2: Rete neurale con connessione feedforward.

3.2.2

Feedback

Le reti feedback un neurone può essere connesso a qualunque altro neurone della rete, sia che si trovi sullo stesso livello, nel caso in cui si parla di collegamento laterale, sia su un livello precedente o successivo. Grazie a questo tipo di collegamento le reti feedback sono solitamente composte da poche unità neurali poiché, grazie alla retroazione, la rete è in grado di evolvere dinamicamente fino ad uno stato stabile attraverso il quale viene formulata una risposta. Questo tipo di reti fa uso di molta memoria a causa del grande numero di interconnessioni presenti, in media molto maggiori di quelle presenti in reti feedforward.

18

 

Capitolo 3 – Reti neurali artificiali

Fig 3.3: Rete neura neurale le con connes connessioni sioni feedback feedback..

3.3

Tipi di apprendimento

Come già detto, l’obiettivo di una rete neurale è quello di acquisire una propria conoscenza dalle informazioni fornitegli in input per formulare soluzioni a problemi che evolvono nel tempo. E’ necessario, quindi, che alle reti venga data la conoscenza necessaria per poter lavorare. Ciò viene fatto in un processo detto apprendimento, o addestramento, che viene eseguito sulla rete prima che questa possa iniziare ad essere utilizzata. Esistono diversi approcci all’addestramento delle reti neurali, questi, si basano tutti sulla modifica dei vettori dei pesi che costituiscono le interconnessioni tra neuroni. La modifica di questi valori viene effettuata attraverso formule matematiche dette leggi di apprendimento. Solitamente, l’architettura della rete neurale, non vincola l’utilizzo di un particolare approccio di addestramento, ma è possibile utilizzare qualunque paradigmi esistente senza avere la necessità di cambiare modello di rete.

19

 

Capitolo 3 – Reti neurali artificiali

3.3.1 Non supervisionato supervisionato La tecnica di apprendimento non supervisionata prevede la modifica dei pesi attraverso l’uso delle sole variabili di ingresso. In questo modo la rete autogestisce la sua evoluzione non richiedendo il controllo da parte di entità esterne. Questo metodo viene solitamente utilizzato per problemi di data mining, cioè problemi in cui non si hanno informazioni oltre ai dati d’ingresso. In tali ambiti si richiede alla rete neurale una certa indipendenza organizzativa, cioè la capacità di estrarre informazioni dai dati in ingresso e trovare legami che le leghino in modo da poter stabilire un criterio di discriminazione valido per gli ingressi originali.

3.3.2 Supervisionato Nel caso in cui si disponga di un set di ingressi correlato dalle uscite corrispondenti è possibile applicare il paradigma di apprendimento supervisionato. Attraverso gli esempi ingresso-uscita la rete modifica i vettori dei pesi in maniera che questi abbiano errore minimo nel calcolare i risultati relativi agli ingres ingressi si esempio. Completata llaa procedura, la rete è in grado di stabilire la relazione che lega gli ingressi alle uscite e diventa utilizzabile con qualunque input. Questo tipo di approccio viene solitamente utilizzato per problemi di classificazione classificazione..

3.3.3 Basato sul rinforzo L’apprendimento basato sul rinforzo è un ibrido tra i due metodi presentati

precedentemente.

l’apprendimento

Questa

supervisionato,

tecnica

si

sull’intervento

basa,

come

esterno

per

durante

20

 

Capitolo 3 – Reti neurali artificiali

l’acquisizione di informazioni. La rete, infatti, riceve un segnale di rinforzo che premia o penalizza il modo in cui ha calcolato la risposta ad un determinato ingresso. I pesi vengono modificati in modo da massimizzare il segnale di rinforzo, cioè in modo che la rete dia dei risultati che vengano premiati.

3.4

Tipi di rete neurale artificiale

3.4.1 Percettrone Il percettrone è la rete neurale più semplice nonché la prima forma di rete mai sviluppata. La struttura del percettrone è quella del neurone artificiale, mostrata in figura 3.4 (a), cioè un vettore di pesi per ogni ingresso ed una funzione di attivazione a soglia. Il percettrone può essere utilizzato singolarmente, potendo implementare funzioni semplici come quelle booleane NOT, OR ed AND, o come rete neurale composta da una serie di percettroni connessi con architettura feedforward, in grado, potenzialmente, di risolvere problemi di qualunque complessità.

Fig 3.4: (a) Percettro Percettrone ne (b)Rete di pe percettroni rcettroni a tre livelli.

21

 

Capitolo 3 – Reti neurali artificiali

Solitamente la rete di percettroni, o MLP, MultiLayer Perceptron, viene utilizzata con un paradigma supervisionato, quindi è necessario disporre di un set di coppie ingresso-uscita desiderata. La fase di apprendimento deve essere ripetuta diverse volte per permettere alla rete di acquisire sufficiente conoscenza del legame input-output in modo da commettere il minimo errore nella stima dei risultati. Definiamo l’unità di tempo chiamata epoca, come il tempo necessario all’addestramento per aggiornare i valori di tutti i pesi della rete. Solitamente l’iterazione viene arrestata nel momento in cui l’errore, calcolato come differenza tra output fornito

e

quello

auspicato,

non

risulta

nullo.

La

formula

per

l’aggiornamento dei vettori dei pesi è: t



(3.1) w ( + 1) = w ( ) + α ⋅ (g ( x ) − f ( x )) ⋅ x   dove w (t )  è il vettore dei pesi al passo t-esimo, α  è il parametro di apprendimento, cioè un numero reale positivo, g(x)   è l’output fornito dalla rete, f(x)  è l’output desiderato ed x  è l’ingresso. Come è possibile notare dalla formula 3.1, nel momento in cui l’uscita coincide con quella desiderata i pesi non subiscono ulteriori trasformazioni. Solitamente, per l’addestramento di reti multistrato MLP è utilizzato l’algoritmo backpropagation, tuttavia non verrà analizzato in questa sede e, per una documentazione a riguardo, si rimanda il lettore al testo [14].

3.4.2 SOM La rete neurale SOM, o Self Organizing Map, è stata ideata e proposta da Kohonen in [13]. La SOM è, probabilmente, il modello più utilizzato di rete neurale. Essa è costituita da una mappa di neuroni, cioè un vettore, solitamente di dimensione uno o due, collegata ad un livello di ingresso. Il

22

 

Capitolo 3 – Reti neurali artificiali

collegamento è di tipo feedforward ed, ogni neurone di ingresso è collegato, tramite i vettori di pesi, a tutti i neuroni della mappa, chiamata livello di categorizzazione o di output. I neuroni del secondo strato sono connessi tra lloro oro se secondo condo uno schema di pesi chiamato

"cappello

messicano". Tale modello fa sì che se un neurone viene eccitato, allora lo saranno anche i neuroni vicini, mentre quelli lontani verranno inibiti come mostrato in figura 3.5. A tal punto possiamo affermare che l’architettura della SOM è di tipo feedback, a causa delle connessioni laterali presenti nel livello di uscita.

Fig 3.5: Andamento dei pesi nella con connessione nessione a cappe cappello llo messicano. Reti di questo tipo vengono solitamente utilizzate con paradigmi di apprendimento non supervisionati. Il processo di apprendimento è molto semplice: si fornisce un ingresso alla rete, che trova il neurone dello strato di categorizzazione con la minima distanza euclidea dall’input, detto neurone vincitore o BMU, e ne modifica i pesi secondo una formula del tutto simile alla 3.1, che scritta alla t-esima iterazione sarà:

w (t + 1) = w (t ) + α (t ) ⋅ [input (t ) − w (t )]  

 

(3.2)

dove input (t )  è l’ingresso, w (t )   è il vettore dei pesi associato al neurone ed α (t )   è la legge di apprendimento, cioè una funzione matematica che regola l’apprendimento in base al numero di iterazioni. Le reti di Kohonen prevedono anche una seconda legge che regola l’apprendimento che,

23

 

Capitolo 3 – Reti neurali artificiali

solitamente, viene utilizzata quando si sceglie di non collegare lateralmente i nodi nello strato di output. Questa stabilisce il raggio d’azione della prima legge, α (t ) . Infatti uno schema usuale per le reti SOM è quello di addestrare, secondo la formula 3.2, non solo la BMU ma anche i neuroni ad essa vicini. La distanza massima entro cui devono trovarsi i neuroni viene appunto stabilita dalla seconda legge detta raggio di apprendimento. In questo contesto, quando parliamo di distanza, intendiamo la distanza euclidea misurata tra i neuroni nel livello di categorizzazione. La durata del procedimento di apprendimento può essere stabilita a priori o, può essere fissato un criterio di arresto simile a quello utilizzato per l’addestramento delle reti di percettroni.

Fig 3.6: 3.6: Rete SOM (a) senza connessioni laterali (b) con connessioni laterali.

24

 

Capitolo 3 – Reti neurali artificiali

3.4.3 GNG Le GNG (Growing Neural Gas) sono reti neurali capaci di aumentare il numero di nodi dinamicamente. Ogni neurone è caratterizzato da un vettore di pesi ed un valore che rappresenta l’errore locale. I bordi hanno un’età, in modo tale che, durante l’esecuzione, sia possibile eliminare i bordi più vecchi v ecchi per aggiornare la topologia della rete. L’algoritmo di funzionamento è così strutturato: 1.  la rete viene inizializz inizializzata ata con due neuroni; 2.  vengono trovati i primi due neuroni vincitori rispetto l’ingresso considerato. Se i due neuroni non sono già collegati si crea tale connessione e si imposta la sua età a zero; 3.  viene calcolato l’errore locale del vincitore, come quadrato della distanza euclidea tra il nodo vincitore v incitore e l’ingresso; 4.  i vettori del nodo vincitore e del suo vicino vengono aggiornati con una quantità proporzionale all’errore; 5.  l’età di tutti i collegamenti che partono dal neurone vincitore viene incrementata; 6.  i collegamenti troppo vecchi vengono eliminati, se dopo tale processo alcuni neuroni rimangono isolati vengono rimossi; r imossi; 7.  se il numero di input considerati è multiplo intero di un certo valore λ   si aggiunge un nuovo nodo interponendolo tra il neurone con errore locale più grande ed il vicino con errore locale più grande; 8.  il vettore del nuovo nodo viene interpolato tra i valori dei due nodi precedentemente considerati; 9.  si elimina il collegamento che lega il nodo con massimo errore ed il vicino considerato e si connettono tali nodi al nuovo neurone inserito;

25

 

Capitolo 3 – Reti neurali artificiali

10.  diminuiamo il valore dell’errore dei due nodi con errori massimi, e di tutti i nodi presenti nella rete. Inoltre calcoliamo l’errore del nuovo neurone inserito; 11. verifichiamo se il criterio di arresto è soddisfatto. Solitamente viene richiesto un numero massimo di neuroni o che l’errore locale massimo sia sotto una certa soglia prefissata.

Fig 3.7: Evoluzione tempo temporale rale di una rete GNG. In verde sono eevidenziati videnziati i nodi aggiunti, in giallo i nodi vincitori. vinci tori.

3.4.4 ART Le reti ART (Adaptive Resonance Theory) sono state sviluppate per permettere di regolare il livello di omogeneità dei cluster all’interno di un problema di classificazione. Tale problema è di tipo non supervisionato, se non si conosce a priori il numero di cluster, per cui la rete viene utilizzata per lo più con tale paradigma di apprendimento. In particolare, le reti ART, non distinguono la fase di addestramento da quella di utilizzo, cioè, sono in grado di apprendere durante il normale impiego.

26

 

Capitolo 3 – Reti neurali artificiali

Questo modello di rete prevede due strati: uno detto strato di riconoscimento e l’altro detto strato di comparazione. Questi sono collegati attraverso due serie di vettori di pesi, una con propagazione feedforward e l’altra con propagazione feedback. Durante il processo di classificazione, l’ART è capace di autoregolare il numero di cluster in base a diversi parametri precedentemente impostati. Il funzionamento è schematizzabile in cinque diverse fasi: 1.  inizializzazione dei pesi e disabilitazione dei neuroni dello strato di riconoscimento; 2.  identificazione dell’input presentato attraverso la comunicazione dei risultati da parte del livello di riconoscimento a quello di comparazione e viceversa utilizzando le connessioni feedforward e feedback; 3.  confronto dei risultati ottenuti dai diversi strati; 4.  ricerca della somiglianza tra i cluster già identificati e l’input preso in considerazione, attraverso l’utilizzo di un parametro-soglia ρ , detto parametro di vigilanza, definito nella progettazione. La fase di ricerca può invocare più volte le fasi 2 e 3 finché non giunge ad una conclusione (generazione di un nuovo cluster o appartenenza ad uno già esistente); 5.  aggiornamento dei pesi, sia feedforward che feedback, del neurone vincitore con la possibilità di utilizzare le leggi di apprendimento analoghe a quelle delle reti SOM che estendono la conoscenza ai vicini del vincitore.

27

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF