• Non ci sono risultati.

 IntelligenzaArtificiale nondeveessereconsideratalariproduzionecompute-rizzatadellamenteumana,maunmododiutilizzareicalcolatoripermigliorarelestessecapacit`adecisionaliumane.Ci`ovuoldiresfruttarealmegliolepotenzialit`aelaborativedellemacchineperotte-nere

N/A
N/A
Protected

Academic year: 2021

Condividi " IntelligenzaArtificiale nondeveessereconsideratalariproduzionecompute-rizzatadellamenteumana,maunmododiutilizzareicalcolatoripermigliorarelestessecapacit`adecisionaliumane.Ci`ovuoldiresfruttarealmegliolepotenzialit`aelaborativedellemacchineperotte-nere"

Copied!
30
0
0

Testo completo

(1)  

(2)        Gli elaboratori elettronici esibiscono molte caratteristiche attribuite all’intelligenza umana, in particolare possono ragionare per deduzione. Sono in grado di eseguire calcoli, memorizzare moltissimi dati e imparare nuove soluzioni partendo da vecchi problemi. Ma questa pu`o essere considerata intelligenza ? Una delle definizioni di intelligenza e` : capacit`a di apprendere fatti, di metterli in relazione tra loro e di costruirvi un ragionamento. Una definizione questa che non contempla nessun tipo di sentimento, consapevolezza o coscienza.. L’Intelligenza Artificiale non deve essere considerata la riproduzione computerizzata della mente umana, ma un modo di utilizzare i calcolatori per migliorare le stesse capacit`a decisionali umane. Ci`o vuol dire sfruttare al meglio le potenzialit`a elaborative delle macchine per ottenere ragionamenti nuovi o vecchi su fatti conosciuti.. .

(3) I Sistemi Esperti sono un esempio concreto e valido di questo tipo di utilizzo; il problema principale per il loro sviluppo e` la necessit`a di dover formalizzare in qualche modo la conoscenza di un certo dominio per renderla elaborabile da parte di un calcolatore.. Le reti neurali artificiali (Artificial Neural Networks, ANN), invece, possono apprendere in modo automatico, attraverso la costruzione di una loro rappresentazione interna della realt`a, basata sull’insieme di in formazioni preventivamente fornite. [Law94]. L’attivit`a di ricerca nel settore delle reti neurali e` in una fase di crescente sviluppo e suscita un notevole interesse, sia a livello nazionale che a livello internazionale, coinvolgendo un considerevole numero di laboratori e studiosi. Accanto ad attivit`a volte allo sviluppo di nuovi paradigmi neurali, grande impulso hanno avuto anche gli studi rivolti alle possibili applicazioni in aree diverse dell’Ingegneria. Fra queste, particolare interesse e` stato rivolto ai settori dell’Ingegneria Elettrica e dell’Informazione, comprendendo ambiti quali quelli dell’Ingegneria Informatica, Biomedica, Elettronica, Elettromagnetica, dell’Automazione e delle Telecomunicazioni. [Cra03]. . .

(4) 

(5)  

(6) 

(7) . !""#%$'&)(+*,#-.#. La ricerca sulle reti neurali artificiali cominci`o negli anni ’40, ispirata da considerazioni sulla fisiologia del cervello umano. Nel 1943 il primo passo fu fatto da un neuropsicologo, Warren S. McCulloch, e da un giovane matematico, Walter Pitts, i quali introdussero il primo modello per il neurone artificiale e proposero un semplice modello di rete neurale composta da circuiti elettronici. [MP43]. In realt`a il neurone di McCulloch e Pitts corrispondeva ad un neurone naturale in maniera molto limitata. Vi erano, infatti, vari aspetti fisiologici che non venivano presi in considerazione. Inoltre il neurone di McCulloch e Pitts non era in grado di spiegare il meccanismo grazie al quale il sistema nervoso umano e` in grado di apprendere e ragionare.. Le prime idee a questo riguardo furono formulate nel 1949 dallo psicologo Donald O. Hebb, il quale postul`o che il processo d’apprendimento rafforza le connessioni fra due neuroni ogni qualvolta questi si trovino ad essere attivi nello stesso momento. [Heb49] Nell’ambito delle moderne teorie sulla natura neurofisiologica dell’apprendimento, questo meccanismo e` un modello universalmente accettato. Le cosiddette “regole hebbiane” sono state, infatti, implementate su alcuni modelli particolari di reti neurali, oltre ad aver rivoluzionato lo studio del funzionamento del cervello.. /.

(8) 

(9)  

(10) 

(11). Agli inizi degli anni ’50 nascevano i primi calcolatori e questo rese possibile modellizzare i rudimenti di queste teorie circa il funzionamento della mente, anche se su macchine lente e di grandi dimensioni. Negli anni seguenti John Von Neumann sugger`ı di imitare le semplici propriet`a dei neuroni usando dei semplici elementi, come ad esempio dei relay. Questa intuizione rimanda direttamente al lavoro di Hebb, e sottolinea il fatto che il cervello e` composto da elementi semplici, a dispetto della complessit`a delle funzioni che possiamo osservare.. Tra gli anni ’50 e ’60 si arriv`o allo sviluppo delle prime reti neurali artificiali con la capacit`a di apprendere nel senso indicato da Hebb. Il modello di neurone usato era il Perceptron, introdotto dal neurobiologo Frank Rosenblatt nel 1958. [Ros58] Il textitPerceptron fu costruito in hardware, nel senso che furono realizzate delle parti fisiche, a differenza della maggor parte delle reti neurali moderne, che vengono simulate su computer. Esso rappresenta la pi`u antica rete neurale, oggi ancora in uso in molte applicazioni.. Nel 1960 Bernard Widrow e Marcian Hoff svilupparono due modelli, che chiamarono ADALINE e MADALINE. Questi due modelli prendevano il nome dagli elementi che li componevano: “Multiple ADAptive LINear Elements”. [WH60]. . .

(12) 

(13)  

(14) 

(15) Come il textitPerceptron, questi sono in grado di imparare ad eseguire classificazioni su insiemi di dati omogenei sulla base di una regola d’apprendimento denominata Delta Rule. MADALINE fu la prima rete neurale ad essere applicata ad un problema del mondo reale: il suo filtro adattivo elimina l’eco dalle linee telefoniche ed e` in uso anche oggi.. Nel 1969, Marvin Minsky e Seymour Papert evidenziarono i notevoli limiti computazionali del textitPerceptron di Rosenblatt. Inoltre essi mostrarono che il textitPerceptron e` formalmente equivalente al calcolo di un predicato logico e svilupparono un’analisi esauriente relativa ai problemi delle reti neurali su questa base. [MP69] Fu grazie a loro che vene fatto un grosso passo avanti nello stabilire quali problemi sono solubili da parte di una rete neurale e quali no.. La consapevolezza dei limiti del textitPerceptron di risolvere determinati problemi smorz`o l’entusiasmo della comunit`a scientifica fino a quando, nel 1982, John Hopfield introdusse un modello di rete neurale basata su pi`u strati di neuroni (Multilayer Perceptron). Il modello proposto da Hopfield si avvale di regole di apprendimento hebbiano e sfrutta le leggi della fisica per il funzionamento dei processi di apprendimento; esso introduce molte novit`a nel campo delle reti neurali. [Hop82] Hopfield teorizza e simula una memoria associativa, contrapposta alla classica memoria per indirizzo, caratteristica dei tradizionali calcolatori seriali.. . .

(16)   

(17)    

(18)

(19)   

(20) 

(21)   Nel 1982, Erkki Oja ha proposto reti di neuroni in grado di operare l’analisi delle componenti principali. [Oja82] Nel 1983, Tuevo Kohonen utilizza modelli basati su meccanismi di competizione per realizzare le SOFM (Self Organizing Feature Map), o pi`u semplicemente SOM, note anche col nome di Mappe di Kohonen. [Koh82] Nel 1986, David E. Rumelhart, Geoffrey E. Hinton e Ronald J. Williams estesero la Delta Rule di Widrow e Hoff ai Multilayer Perceptron con funzioni di attivazione continue e differenziabili, sviluppando il metodo di apprendimento detto della BackPropagation. [Rum86].  .  & #% "* #"#(( #- . Solo negli ultimi anni si e´ cominciato a capire come la mente dell’uomo sia in grado di funzionare. L’elemento responsabile della nostra mente sembra essere il cervello, che viene visto come un vero e proprio strumento di calcolo. In quest’ottica, si pu`o pensare al cervello come ad un calcolatore al quale affluiscono gli stimoli dal mondo esterno, attraverso le terminazioni nervose, e dal quale partono le reazioni a tali stimoli, sempre attraverso i canali del sistema nervoso. Elemento centrale del nostro cervello sono le cellule in esso contenuto, note con il nome di neuroni. Queste cellule sono presenti in gran numero nel nostro cervello (circa 100 miliardi) e sono tra loro fittamente connesse.. . !.

(22)   

(23)    

(24)

(25)   

(26) 

(27)  . La capacit`a di calcolo del nostro cervello risiede nelle connessioni di tali neuroni e l’elaborazione degli stimoli provenienti dal sistema nervoso avviene facendo passare tali stimoli attraverso l’insieme dei neuroni. Gli stimoli nervosi vengono prelevati dai neuroni che potremmo chiamare “accettori”, i quali comunicano ad altri neuroni quello che hanno ricevuto. Questa catena di “passa-parola” si protrae fino a quando non vengono raggiunte delle terminazioni che potremmo chiamare “esecutrici”. La diffusione sembra essere un’elaborazione dello stimolo nervoso, che infatti giunge alle terminazioni come una risposta. In questo modo, si spiegano quelle zone del nostro cervello dedicate allo svolgimento di compiti precisi. La propagazione dello stimolo nervoso tra un neurone ed un altro provoca un’alterazione elementare dello stesso stimolo. L’insieme di tali deformazioni elementari rappresenta il calcolo operato dal cervello. Per capire come avvengono le trasformazioni elementari e` necessario capire come. 

(28)    "!#$##%&. ('.

(29)   

(30)     

(31)  

(32)  

(33)  

(34) in realt`a comunicano due neuroni. Un neurone biologico (vedi Fig. 3.1) e` composto da un nucleo contenuto in un corpo cellulare. A questo nucleo giungono delle terminazioni chiamate dendriti che ricevono lo stimolo nervoso e lo trasmettono al nucleo. Dal nucleo parte un assone che nella parte finale si ramifica e presenta delle sinapsi. La connessione tra due neuroni e` tra la sinapsi di uno e la dendrite dell’altro. Quando un neurone viene eccitato trasmette, lungo l’assone, un potenziale di azione il quale, raggiunte le sinapsi, viene trasformato in segnale chimico. Si possono distinguere due fasi: . Il neurone riceve lo stimolo ionico dalle sue dendriti. Se questo e` alto pu`o scatenare il potenziale d’azione. . La sinapsi riceve il potenziale d’azione. In base alla sua struttura, emette una certa quantit`a di neurotrasmettitori che sono in grado di indurre un stimolo ionico nella dendrite del neurone successivo.. Queste due fasi sono state messe in evidenza poich´e sono proprio quelle imitate con le reti neurali artificiali. [PL94].   .  & #% "* # . * & # - # . #. Il concetto delle reti neurali artificiali e` quello di imitare la struttura e il modo di lavorare del cervello umano per mezzo di modelli matematici. .

(35)   

(36)     

(37)  

(38)  

(39)  

(40) In particolare, tre qualit`a del cervello umano sono alla base di numerosi modelli di reti neurali artificiali: . . La conoscenza e` distribuita su molti neuroni all’interno del cervello. . I neuroni possono comunicare (localmente) con gli altri neuroni Il cervello e` “adattabile”. Le reti neurali artificiali, note anche come “sistemi connessionisti”, simulano l’attivit`a computazionale che avviene nel cervello umano durante l’apprendimento ed il riconoscimento per decidere o per giungere a conclusioni. Sono costituite da centinaia di migliaia di neuroni biologici simulati, connessi tra loro pi`u o meno come quelli naturali (da qui viene il termine connessionista). Per costruire una rete neurale artificiale occorre definire: . . Il modello dei neuroni. . L’architettura della rete. . La modalit`a di attivazione dei neuroni Regole di apprendimento. 

(41) Per ci`o che riguarda i sistemi classici, tutto il sistema degenera quando una piccola parte del software e` errata, oppure quando una unit`a elementare dell’hardware va in panne. Una rete neurale artificiale, invece, anche se il 10% o il 20% di essa e` fuori uso, sar`a . .

(42)   

(43)     

(44)  

(45)  

(46)  

(47) ancora totalmente capace di continuare il compito assegnatole conservando la stessa efficienza di prima. Alla parte di neuroni e connessioni danneggiata subentra una parte di quella funzionante, che si specializza per eseguire le funzioni di quella deteriorata.. .  

(48)    

(49)   !"#$% . L’elemento alla base della rete neurale artificiale e` il neurone artificiale, costituito da un’unit`a controllata da un sistema di parametri facilmente gestibili analiticamente e computazionalmente. Il modello di neurone non cerca di simulare il neurone naturale dal punto di vista chimicofisico, ma piuttosto cerca di riprodurre i diversi aspetti del suo comportamento e delle sue capacit`a all’interno del cervello.. McCulloch e Pitts suggerirono la descrizione di un neurone come un elemento a soglia logica con due possibili stati. Le assunzioni di McCulloch e Pitts, che permettevano di costruire elementi propri dei circuiti logici quali AND e OR, si possono riassumere in una serie di semplici proposizioni: [MP43] 1. Un neurone e` un circuito a scatto che pu`o essere o attivo (valore 1) o inattivo (valore 0); 2. Ciascun neurone ha una determinata tensione di soglia; 3. Un neurone riceve input da sinapsi eccitatrici dello stesso peso;.  .

(50)   

(51)     

(52)  

(53)  

(54)  

(55) 4. Un neurone riceve input addizionale da sinapsi inibitrici con un effetto “tutto nulla”. Una sola sinapsi pu`o inibire l’attivazione del neurone; 5. Vi e` un intervallo di tempo finito per il processing del segnale d’ingresso. Se non vi e` alcuna sinapsi inibitrice attiva, gli ingressi eccitatori sono sommati fra loro e, se la somma eccede la tensione di soglia, il neurone diventa attivo.. Il neurone usato attualmente deriva dal precedente, ampliando le sue funzionalit`a. ed ha una struttura generica come quella seguente. Un neurone artificiale (vedi Fig. 3.2) riceve segnali di input da diverse connessioni. #

(56)   . . $$#      %  $#  . di ingresso. Ciascun segnale di input  deve essere moltiplicato per il peso della connessione

(57)  attraverso cui arriva al neurone. I segnali ottenuti possono essere eccitatori (se tendono ad accrescere l’attivit`a del . .

(58)   

(59)     

(60)  

(61)  

(62)  

(63) neurone) o inibitori (se tendono a decrementare la sua attivit`a). Viene, infine, effettuata la sommatoria di tutti i segnali ottenuti..   .  . . L’uscita del neurone dipende dalla soglia di attivazione e dalla funzione di trasferimento , nuovo parametro del sistema.. 

(64)  . Le funzioni di trasferimento pi`u usate sono: . a gradino. . #    #. a rampa. .     . a sigmoide. .

(65)   

(66)     

(67)  

(68)  

(69)  

(70). #

(71)   (#

(72)   . . Altro elemento importante delle reti e` la connessione attraverso cui il segnale passa da un neurone all’altro.. . . . "

(73) !    

(74)     % $ . Un neurone ha senso solo se visto come una unit`a di una rete formata da elementi omogenei. Nelle reti neurali artificiali questi elementi sono generalmente interconnessi a formare una struttura rigida. Questo e` una diretta conseguenza di una regola di apprendimento che solo in rari casi permette il formarsi di nuove connessioni o la rimozione delle stesse, come invece accade nei sistemi biologici.. Generalmente si realizza una rete costituita da pi`u strati di neuroni. Lo strato a cui arrivano i segnali di ingresso e` detto strato di ingresso (input layer). Lo strato da cui si preleva la risposta e` detto strato di uscita (output layer). Tutti gli altri strati situati tra i precedenti sono detti strati nascosti (hidden layers). Il numero di strati determina la qualit`a di una rete neurale.. . /.

(75)  . 

(76)  

(77).  

(78) + . . Una classificazione pu`o essere fatta in base al tipo di collegamento tra i diversi strati: . Feed-Forward. Possiede solo connessioni dallo strato di input allo stato di output. . Lateral. Sono presenti anche connessioni tra neuroni di uno stesso stato. . Feed-Back. Sono presenti anche connessioni dallo strato di output allo stato di input.. Le reti di tipo Feed-Forward e Feed-Back permettono la connesione dei strati non adiacenti.. .  

(79) %          #

(80)   

(81) .

(82). . Esistono due possibili modalit`a di attivazione dei neuroni: . Sincrona (parallela). I neuroni cambiano stato tutti insieme, sincronizzati da un clock. . Asincrona (sequenziale). I neuroni cambiano stato uno per volta. Occorre definire un criterio di scelta..  .  . (. "# . "* . . "#. . . &)(. L’architettura ed i neuroni determinano solo la struttura della rete neurale. Affinch´e una rete neurale si comporti nel modo desiderato e` necessario che la fun.

(83)  . 

(84)  

(85).  

(86) + . . zione di attivazione, i pesi sinaptici, e l’architettura della rete vengano specificati nel modo corretto. Per ottenere ci`o si pu`o procedere in due modi distinti: [Flo] . si possono decidere tali valori a priori (attraverso una analisi del comportamento che si vuole ottenere o cercando di emulare le caratteristiche di un sistema nervoso naturale che si vuole simulare); . si possono approssimare tali valori attraverso un processo di apprendimento.. Il modo in cui di norma vengono costruite le reti neurali artificiali e` un modo ibrido nel senso che alcuni fattori (la funzione di attivazione e l’architettura della rete) vengono stabiliti a priori in base alle conoscenze e agli obiettivi dello sperimentatore, mentre i valori dei pesi sinaptici vengono approssimati attraverso un processo di apprendimento.. Con apprendimento si intende la capacit`a della rete di modificare il comportamento in una direzione desiderata al variare delle connessioni sinaptiche (pesi). [But03]. Le procedure per determinare il valore dei pesi vengono dette algoritmi di apprendimento ed, in generale, operano mutando progressivamente i valori dei pesi in modo tale che l’output della rete evolva da uno stadio iniziale casuale (o indifferenziato) a uno stadio finale in cui approssimi un output richiesto.. .

(87)  . 

(88)  

(89).  

(90) + . . Quindi, per ottenere una classificazione, la rete va istruita; ci`o avviene presentandole degli esempi durante la fase di addestramento (training phase).. La conoscenza relativa a ciascun esempio non e` concentrata in un punto particolare bens`ı e` distribuita su tutta la rete, nei pesi delle connessioni. Nei sistemi biologici, durante la fase di addestramento, possono stabilirsi nuove connessioni ed altre si possono rimuovere. Nelle reti neurali artificiali generalmente questo non e` previsto.. I paradigmi di apprendimento possono essere suddivisi in tre classi fondamentali: [Flo] . Apprendimento supervisionato . Apprendimento competitivo . Apprendimento con rinforzo. Il sistema agisce sul problema direttamente per tentativi. Un “istruttore” premia o punisce il sistema attraverso un segnale numerico di rinforzo, a seconda del comportamento istantaneo del sistema stesso..  .       #   . . 

(91). Nell’apprendimento supervisionato l’output della rete viene confrontato con la risposta desiderata e i pesi sinaptici vengono modificati in base a questo confronto. Le regole di apprendimento supervisionato vengono generalmente applicate a reti. .

(92)  . 

(93)  

(94).  

(95) + . . con strati di input e di output separati e fanno uso di una lista di coppie di pattern di input/output (training set) per addestrare i pesi sinaptici. Nella fase di test si possono utilizzare sequenze di dati di ingresso non presenti nell’insieme di apprendimento per osservare se la rete riesce a generalizzare correttamente quello che ha imparato.. Queste reti vengono utilizzate per compiti di tipo associativo o eteroassociativo (i pattern di input sono diversi dai pattern di output); una classe particolarmente importante di compiti eteroassociativi consiste nei problemi di classificazione, ove i pattern di input devono venire suddivisi in un certo numero di categorie di output. L’idea base di questo tipo di algoritmi di apprendimento e` che un modo efficiente per correggere i pesi sinaptici di una rete e` quello di utilizzare una misura di errore (distanza) tra la risposta fornita dalla rete e la risposta corretta. I valori dei pesi sinaptici vengono quindi modificati in proporzione all’errore delle unit`a di output. All’inizio dell’apprendimento i pesi sinaptici assumono piccoli valori casuali che generano quindi un output casuale per ciascun pattern di input del training set. Ogni volta che un pattern di input viene presentato, le unit`a di output producono una risposta che viene confrontata con la risposta desiderata; l’errore viene quindi utilizzato per modificare i pesi sinaptici. Tutti i pattern del training set vengono presentati pi`u volte fino a quando la rete produce la risposta corretta o riduce l’errore medio al di sotto di un certo valore.. . '.

(96) .  . .      " . . . 

(97)  

(98).  

(99) + . .    . .

(100). A differenza delle reti ad apprendimento supervisionato, nelle quali l’operatore sceglie gli esempi con cui effettuare l’addestramento assegnando sia i vettori di ingresso sia quelli di uscita, le reti ad apprendimento competitivo (non supervisionato) ricevono solo vettori di ingresso. Nelle reti di tipo non supervisionato, si lascia il compito alla rete stessa di ricercare una classificazione logica dei dati di ingresso.. Nelle reti addestrate con regole competitive vi e` una sola unit`a di output attiva per volta. Ciascuna unit`a di output appartiene ad un insieme di unit`a in cui compete con le altre al fine di essere l’unica attiva. Questo tipo di organizzazione dei nodi di uscita e` chiamato winner-take-all (il vincitore prende tutto). Lo scopo di queste reti e` di raggruppare o categorizzare i pattern di input in modo tale che ciascuna unit`a di output rappresenti una certa categoria.. Nell’apprendimento competitivo semplice vi e` uno strato di unit`a di input e uno di output. Per ogni pattern di input ciascuna unit`a di output calcola la propria attivazione e solamente i pesi sinaptici afferenti all’unit`a vincente (quella con la massima attivazione) vengono modificati in modo da spingere il vettore dei pesi nella direzione del vettore del pattern di input..  .

(101)  . 

(102)  

(103).  

(104) + . . Si possono ottenere reti neurali competitive utilizzando connessioni sinaptiche inibitorie fra le unit`a di output e autoconnessioni eccitatorie. Un’altra possibilit`a, pi`u plausibile biologicamente, e` stata proposta da Smith nel 1991, il quale ha utilizzato un interneurone inibitorio che viene eccitato dalle unit`a di output e a sua volta inibisce queste ultime: in questo caso ciascuna unit`a produce connessioni solamente eccitatorie o solamente inibitorie (come nelle reti neurali biologiche). [Smi91].  .  $ #$

(105)    . .

(106)  . Il funzionamento di una rete e` fortemente condizionato dai seguenti fattori: [PL94] 1. Diversificazione degli esempi. Infatti, se venissero dati molti esempi tutti uguali, la rete troverebbe immediatamente una serie di numeri in grado di calcolare perfettamente il risultato dell’esempio. Ma sbaglier`a tutte le volte che viene utilizzata per casi da lei mai visti. 2. Numero degli esempi. Anche se vengono forniti una serie di esempi caratteristici, la rete ne deve avere un numero sufficiente per potere rendere generale la sua conclusione. In effetti, questo problema e` fortemente legato alla diversificazione, che deve essere sufficientemente fitta. La rete riesce a risolvere casi da lei mai visti, perch´e questi rispettano la stessa regola degli esempi visti in fase di apprendimento.. .

(107)  '     Quindi, la fase di addestramento della rete richiede una serie numerosa di esempi. Questi, devono essere significativi per il problema che la rete deve affrontare; di conseguenza, la selezione degli esempi deve far parte della fase di progetto della rete..  . .  * -  . & * (+. E` una rete Feed-Forward addestrata attraverso un algoritmo di apprendimento supervisionato. Il textitPerceptron [Ros58] e` un tipo di rete neurale con due strati di neuroni, uno di input e uno di output con unit`a a soglia (ad esempio la funzione “gradino”) ove ciascuna unit`a di ingresso e` connessa con ciascuna unit`a di uscita. Il textitPerceptron calcola una somma pesata degli input, sottrae una soglia e d`a in uscita un valore scelto tra due possibili. L’unit`a di output rappresenta un iperpiano nello spazio degli input e il suo valore di attivazione denota da quale parte dell’iperpiano risieda un determinato input. Un problema che sia risolvibile in tal modo e` chiamato “linearmente separabile”, intendendo con ci`o che un singolo iperpiano n-dimensionale pu`o separare una classe dall’altra. [Sav99]. Nel textitPerceptron le unit`a di processing sono simili al neurone di McCulloch e Pitts, mentre le sinapsi sono costituite da connessioni di diverso peso, che possono.  .

(108)  '     essere cambiate durante il processo d’apprendimento.. I vettori del training set (le combinazioni di ingresso/uscita note) sono presentati alla rete uno dopo l’altro. Se l’uscita e` corretta, non si fanno cambiamenti ai parametri. Altrimenti, i pesi e le soglie sono aggiornati con la regola di apprendimento. Si prosegue finch`e il training non produce errori (o l’errore rimane entro un limite prefissato), ed a quel punto si e` pronti ad utilizzare la rete con i dati reali. Se un vettore “nuovo” (non presente nel training set) verr`a presentato alla rete, essa attuer`a una generalizzazione: ovvero risponder`a con una uscita tale da assomigliare a quella che si avrebbe con un vettore di ingresso appartenente al training set, simile a quello non ancora visto..  . 

(109)  . Se le unit`a di output possono assumere valori continui e` possibile utilizzare una funzione di errore che misuri le prestazioni della rete in base a una funzione differenziabile della variazione dei pesi sinaptici. Di conseguenza, mentre nel caso delle unit`a a soglia una risposta pu`o essere considerata solo come corretta o errata e tutti i pesi vengono modificati nello stesso modo, nel caso in cui le unit`a di output possono assumere valori continui e` possibile modificare i pesi sinaptici in modo diverso a seconda che un certo input provochi una risposta completamente sbagliata o quasi corretta. La Delta Rule prevede appunto delle unit`a di output la cui attivazione pu`o assumere. .

(110) .  .     .  . 

(111)     . valori continui (non solamente zero e uno). [WH60]. La modifica dei pesi sinaptici viene fatta in proporzione inversa al gradiente di discesa dell’errore; intuitivamente questo corrisponde al dire che quanto pi`u un peso fa scendere l’errore, tanto meno deve essere modificato. [Flo].  . .  * -  . & * (+ . & #$'& * &)( . . In realt`a non tutti i problemi sono linearmente separabili. Minsky e Papert mostrarono che il modello ad uno strato non e` capace di risolvere problemi che appartengono alla classe dei problemi non separabili (della quale e` un esempio significativo l’implemantazione della funzione XOR). [MP69] Furono questi due autori che mostrarono che a questo scopo e` necessario almeno uno strato nascosto di neuroni il cui scopo e` quello di trasformare lo spazio degli ingressi in un altro nel quale i pattern godano della separabilit`a, cio`e di attuare divisioni preliminari dello spazio per facilitare il compito ai neuroni d’uscita.. Nonostante che la grande maggioranza dei problemi possano essere risolti con un solo strato di neuroni nascosti, esiste una netta differenza tra le reti a due strati decisionali e quelle con tre strati decisionali: [DAR88] . con uno strato decisionale (solo output), e` possibile realizzare una separazione lineare;. .

(112)  .  .     .  . 

(113)     . con due strati (output + 1 strato nascosto) possono essere separati spazi convessi; . con tre strati decisionali (output + 2 strati nascosti) possono essere riconosciute forme qualsiasi.. Possiamo pensare che il primo strato decisionale sia in grado di separare i pattern con target diversi con un iperpiano (separazione lineare) per ogni nodo e che il secondo strato decisionale faccia altrettanto intersecando i suoi semipiani con quelli del primo strato a formare regioni convesse (per ogni nodo): il terzo sar`a cos`ı in grado di individuare una regione data dall’intersezione di tutti i semispazi precedenti creando forme qualsiasi. [Man03].  .    ! .   

(114)

(115)    .  .  

(116) . .  . Questo importante algoritmo deve il proprio nome al fatto che, in fase di learning, qualora uscite e target differiscono, l’errore viene propagato all’indietro, dapprima alle connessioni tra uscite e strato nascosto e dopo a quelle tra strato nascosto e ingressi, andando a modificare i valori dei pesi. [Rum86]. La Back-Propagation fa s`ı che la rete diminuisca l’errore globale durante le iterazioni di apprendimento. Si ottiene cos`ı un algoritmo che appartiene alla classe degli algoritmi che realizzano una discesa del gradiente, ovvero si cerca un minimo (nella maggior parte dei casi locale) della superficie dell’errore.. /.

(117) .  .     .  . 

(118)     . Tuttavia questo non garantisce che il minimo globale venga raggiunto. [RM86]. Il principio di funzionamento della Back-Propagation e` semplicemente la discesa del gradiente dell’errore tramite la modifica dei pesi sinaptici. La funzione di attivazione comunemente usata per le unit`a nascoste e quelle di output e` la funzione logistica, o sigmoidale, anche se altre funzioni ad incremento monotonico (come tanh) possono essere usate. L’errore sulle unit`a di output viene calcolato semplicemente confrontando l’output desiderato (teaching input) con l’output realmente prodotto dalla rete cos`ı come viene calcolato nel textitPerceptron. Il punto cruciale della Back-Propagation sta nel calcolo del termine delta per le unit`a nascoste: esso non e` altro che l’errore delle unit`a di output trasportato all’indietro dalle connessioni sinaptiche e moltiplicato per la derivata prima della funzione di output di ciascuna unit`a nascosta. Questo metodo e` ricorsivo: esso pu`o essere applicato a un qualsiasi numero di strati di unit`a nascoste. [Flo]. L’algoritmo di Back-Propagation e` forse il pi`u diffuso per la sua semplicit`a, efficacia e potenza. Esso e` stato per`o fortemente criticato [Cri89] come modello di meccanismo di apprendimento biologico per il modo in cui le sinapsi vengono modificate, per l’uso della funzione di errore e infine perch´e connessioni bidirezionali e bifunzionali (durante la fase di attivazione esse trasmettono segnali dall’ingresso verso l’uscita; durante la. .

(119) .  .     .  . 

(120)     . fase di modifica dei pesi sinaptici esse trasmettono all’indietro l’errore calcolato per le unit`a dello strato superiore) non sono biologicamente plausibili. [Gro87] Tuttavia il parallelismo intrinseco, la nonlinearit`a delle unit`a e il comportamento delle unit`a nascoste rendono questo tipo di reti estremamente interessanti da un punto di vista applicativo.. .

(121)   . . .  . . . & ((+* "#. . .  .   .

(122) . & # "  #

(123) .

(124)  

(125)  

(126)     . ( (+ . L’architettura di una mappa autoorganizzante di Kohonen [Koh82] e` relativamente semplice: uno strato di neuroni, completamente interconnessi tra di loro, ai quali viene sottoposto un ingresso N-dimensionale, sotto forma di vettore a N componenti..   "&. #  . . Lo strato di input ha lo scopo di trasmettere (opportunamente pesati) i valori di input al secondo strato, mentre ciascuno dei neuroni di questo secondo strato rappresenta una certa classe. La classe assegnata ad un particolare neurone e` determinata dai pesi delle connessioni dai neuroni di input a quel neurone.. Le “Self Organizing Feature Maps” hanno un numero di neuroni nello strato di input uguale al numero di feature dei dati di input. Ogni nodo di ingresso e` connesso, con un peso adattivo, ad ogni nodo di uscita. I nodi di uscita sono interconnessi tra di loro con un peso il cui valore dipende dalla. .

(127) . . .  .   .

(128) .

(129)  

(130)  

(131)     . distanza relativa: i nodi vicini interagiscono pi`u fortemente dei nodi lontani.. Il modo nel quale viene ottenuta la classificazione rende questo sistema connessionista appartenente alla famiglia delle reti ad apprendimento competitivo: per ciascuno degli ingressi solo una delle unit`a di uscita della rete avr`a un valore alto. Il neurone che rivela la massima somiglianza fra i suoi pesi e l’input e` quello che ottiene attivazione 1, mentre a tutti gli altri neuroni e` assegnata attivazione zero. Questa strategia per la soluzione di problemi senza supervisore e` adatta a problemi di classificazione. Poich´e nelle reti competitive vengono modificati solo i pesi relativi alle unit`a di output vincenti, e` possibile che alcune unit`a di output non risultino mai vincenti e di conseguenza non svolgano nessun ruolo. Le mappe di Kohonen risolvono questo problema organizzando le unit`a di output in uno spazio geometrico e aggiornando anche i pesi sinaptici delle unit`a perdenti che si trovano nelle vicinanze dell’unit`a vincente.. Le mappe di Kohonen nascono dallo studio della topologia della corteccia del cervello umano e permettono di classificare oggetti senza la supervisione esterna. Queste reti tengono conto non solo delle connessioni sinottiche tra neuroni ma anche della influenza che pu`o avere un neurone sul vicino.. E` stato osservato che, nel caso biologico, i neuroni che sono fisicamente vicini a neuroni attivi hanno i legami pi`u forti mentre quelli ad una particolare distanza han-. '.

(132) . . .  .   .

(133) .

(134)  

(135)  

(136)     . no legami inibitori. A questa caratteristica Kohonen attribuisce uno sviluppo nella capacit`a di realizzare delle mappe topologiche localizzate nel cervello. Questa caratteristica e` stata modellata da Kohonen restringendo la variazione dei pesi ai neuroni vicini ad un neurone scelto.. .    ! . .   .      . . Per semplicit`a si riporta una sola delle numerose varianti dell’algoritmo di Kohonen. Definizioni: . : vettore dei pesi. . . .  . : peso della connessione tra i neuroni  e .  . : vettore di ingressi della rete : neurone vincitore. .  . 

(137).     .  . : raggio di apprendimento al tempo  . .  . . : coefficiente di apprendimento al tempo . : funzione di feedback del neurone  sul neurone vincitore  al tempo  .. E` definita utilizzando la funzione Gaussiana . . . !   . Il ciclo che definisce l’apprendimento delle reti neurali di Kohonen pu`o essere schematizzato con i seguenti punti: .

(138) . . .  .   .

(139)  

(140)  

(141)     .

(142) .   .. 1. Si definisce l’area di attivazione iniziale. Inizializzazione di. 2. Si inizializzano tutti gli elementi. . del vettore dei pesi. ad un valore. casuale. 3. Si presenta vettore di ingresso allo strato di input della rete. 4. Si stabilisce il neurone vincitore. E` quello a minore distanza (Euclidea) dall’ingresso presentato:.    .  . . 5. Si aggiornano gli elementi del vettore dei pesi, con la seguente relazione:. .   . . .   .

(143). .   .  .    . . . .   . 6. Si diminuisce l’area di attivazione, con la seguente relazione:

(144).   

(145) 

(146)  .  . 7. Si riparte dal punto 3..     . All’inizio il parametro e` alto ( 0.5) in modo da modificare velocemente i pesi verso una prima mappatura approssimativa. In seguito vengono eseguite delle mappature fini avvicinando i vettori dei pesi a quelli di input. Man mano che l’apprendimento continua l’area di attivazione e` costantemente diminuita, in modo che soltanto i neuroni vicini a quello vincente siano influenzati e ci sia convergenza dell’algoritmo.. .

(147)  L’algoritmo termina quando. . .  .   .

(148) .

(149)  

(150)  

(151)     . diventa minore di un valore prestabilito, o quando i. pesi della mappa hanno un valore stabile. I vettori che sono spazialmente vicini ai valori di training saranno comunque classificati correttamente anche se la rete non li ha mai visti. Questo dimostra le propriet`a di generalizzazione della rete. La regione dei vicini pu`o essere un quadrato, un cerchio o un esagono.. .

(152)

Riferimenti

Documenti correlati

Proposizione: ogni sottospazio di R n si puo’ rappresentare sia come insieme delle soluzioni di un sis- tema lineare omogeneo in n incognite, sia come insieme delle combinazioni

12.2.2 Equazioni omogenee 12.2.3 Equazioni lineari 12.2.4 Equazioni di Bernoulli 12.3 Cenni sul problema di Cauchy. 12.4 Equazioni

[r]

[r]

Esso contiene: l’indirizzo di ritorno all’istruzione che il main dovrà eseguire dopo la conclusione della funzione fact (tale istruzione è y=valore di ritorno della

Se manca una sola di queste condizioni la funzione non è continua e allora si parla di discontinuità.. Una funzione è continua in un intervallo se lo è in tutti i

________________; l’ausiliare dei verbi intransitivi è, in genere, essere. Sul quaderno scrivi due frasi con ciascuno dei verbi dati, usandoli la prima volta transitivamente e

Successive chiamate con s==NULL, eseguono le stesse operazioni partendo però dalla posizione in cui si era fermato il puntatore alla chiamata precedente e restituendo un