Il 100% ha trovato utile questo documento (1 voto)
905 visualizzazioni

Reti Neurali

Copyright
© Attribution Non-Commercial ShareAlike (BY-NC-SA)
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF o leggi online su Scribd
Il 100% ha trovato utile questo documento (1 voto)
905 visualizzazioni

Reti Neurali

Copyright
© Attribution Non-Commercial ShareAlike (BY-NC-SA)
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF o leggi online su Scribd
Sei sulla pagina 1/ 17

Alberto Giudici

Classe V C a.s. 2009­10
Liceo Scientifico “F. Enriques”

Reti Neurali

"The machine does not isolate man from the great problems 
of nature but plunges him more deeply into them." ­Saint­
Exupéry, Wind, Sand, and Stars, 1939 
“Le macchine non isolano l'uomo dai grandi problemi della 
natura ma lo immergono più a fondo in questi.” 
Reti neurali

Abstract
Le reti neurali (intelligenze artificiali strutturate come insieme di neuroni interconnessi e 
comunicanti tra di loro, modello della struttura del cervello animale) offrono delle simulazioni di 
comportamenti animali in robot sempre più simili all'oggetto della simulazione. La ricerca 
sull'intelligenza artificiale ebbe inizio con il tentativo di realizzare sistemi in grado di pensare 
autonomamente, tentativo che fu dimostrato come impossibile da John Searle (1956). Le macchine 
non possono comprendere­pensare in quanto sono degli elaboratori di simboli senza significato. 
Sviluppi recenti in questo campo, pur considerando la confutazione di Searle, riaprono la domanda 
sui limiti delle macchine.
Dal punto di vista pratico, le reti neurali sono dei modelli matematici delle connessioni-strutture
dei neuroni. Questi sistemi sono in grado di apprendere autonomamente modificando la loro
struttura. Le reti neurali sono anche in grado di inferire delle funzioni matematiche dalle relazioni
tra un numero indefinito di insiemi di elementi, purtroppo funzioni che non possono essere
studiate matematicamente dall'uomo. Il loro utilizzo trova spazio nei software per il
riconoscimento facciale, vocale e della scrittura; nonostante ciò le reti neurali si stanno
diffondendo lentamente in quanto sono ancora oggetto di ricerca.

Introduzione 
La ricerca sull'intelligenza artificiale parte dal desiderio di realizzare macchine con le medesime 
capacità umane, l'intelligenza, caratteristica propriamente umana, artificiale “Fatta, ottenuta con 
arte”, instillata in una macchina. Nell'approccio 
alla questione sull'IA, che da un versante si  «La definizione vera e propria, secondo la tradizione
traduce in una comparazione tra uomo e  aristotelica (d. per genere prossimo e differenza specifica),
macchina, spesso l'uomo viene ridotto ad un  è quella che individua una più vasta classe di enti (genere
“elaboratore di informazioni” (Weizenbaum) , se  prossimo) entro la quale si trova la sottoclasse degli
ne considera solo un aspetto, e l'intelligenza  oggetti da definire, rilevando poi la o le restanti
caratteristiche peculiari dell’oggetto che si vuole definire
diviene un parametro misurabile 
(differenza specifica): per es. «l’uomo è un animale
quantitativamente. Da un altro punto di vista l'IA  [genere prossimo] razionale [differenza specifica]»
studia, tramite la realizzazione di simulazioni  Enciclopedia Treccani
sempre più complesse, la capacità umana di  Le reti neurali saranno quindi «intelligenze artificiali
pensare e formulare pensieri. In questo ambito, il  strutturate come insieme di neuroni interconnessi e
progredire degli studi fisiologici sul sistema  comunicanti tra di loro, modello della struttura del
neurale consente di approfondire sia la cognizione  cervello animale».
dei processi biologici che portano al pensiero, sia 
di simulare sempre con maggiore verosimiglianza la struttura del cervello. 
La fantascienza e l'entusiasmo dei primi ricercatori del campo dell'IA hanno contribuito a creare 
una comune idea di robot­IA. Siamo stati abituati a robot “programmati”, nel senso di macchine il 
cui comportamento è stato previsto e scritto al loro interno, secondo procedure complicate. Robot il 
cui comportamento diviene imprevedibile a causa di errori nella progettazione o malfunzionamenti. 
Le reti neurali, nate dal paragone con il cervello umano, nella loro forma più avanzata, sono dei 
sistemi complessi in grado di auto apprendere dall'esperienza e di operare anche al di fuori dai 
domini previsti dai progettisti. Questa capacità, unita all'utilizzo di logiche diverse da quelle 

Reti Neurali ­ 1
formali/booleane, amplia l'orizzonte di impieghi di questi sistemi e pone di fronte a risultati 
imprevedibili. 
Gruppi di robot che evolvendosi in un ambiente condiviso danno luogo prima a una forma di 
linguaggio poi ad una di inganno a causa della competizione, in maniera imprevista dai ricercatori1. 
Quest'ultimo studio riguarda forme semplici dei processi sia evolutivi sia mentali che rendono 
difficile il paragone con l'uomo. Questo può essere solo il primo passo:  oggi si simulano gli 
invertebrati e domani?
Le reti neurali hanno alla base il funzionamento del cervello umano, cosa saranno in grado di fare se 
partono con questo smisurato potenziale?

Storia
In  "A logical calculus of the ideas immanent in nervous activity",  W.S. McCulloch e W. Pitts nel 
1943 scrivono quanto segue dando inizio alla storia delle reti neurali:

“A causa del carattere “tutti­o­nessuno” dell'attività neuronale, gli eventi dei neuroni e 
le relazioni tra questi possono essere trattati in termini di logica proposizionale. E' 
stato scoperto che il comportamento di ogni rete può essere descritto in questi termini, 
con l'aggiunta di mezzi logici più complicati per le reti che contengono cicli; e che per 
qualsiasi espressione che soddisfa certe condizioni, si può trovare una rete che si 
comporta nella maniera descritta.”

Sebbene le reti attuali siano molto diverse da quelle previste da McCulloch e Pitts, ovvero delle reti 
con neuroni a due stati, il loro lavoro ha dato inizio ad una modellizzazione dell'attività neuronale al 
fine di riprodurre in una sistema formale la capacità intellettiva umana.

Il primo modello di rete neurale in grado di apprendere verrà proposto nel 1958 da F. Rosenblatt nel 
libro "Phychological review". Il modello probabilistico di Rosenblatt introduce il concetto di pesi 
sinaptici variabili con la conseguente capacità della rete di memorizzare ed apprendere.

I primi entusiasmi verranno troncati nel 1969 da M. Minsky e S. A. Papert, nell'opera "An  
introduction to computational geometry". Minsky e Papert mostrano i limiti operativi delle semplici 
reti a due strati basate su quelle di Rosenblatt, facendo cosi perdere interesse nello sviluppo delle 
reti neurali per almeno un decennio.

Il ritorno in auge si dovrà a David E. Rumelhart, G. Hinton e R. J. Williams che basandosi sulla tesi 
di dottorato di Paul Werbos svilupperanno l'algoritmo di retropropagazione dell'errore, error 
backpropagation, che è oggi alla base della maggioranza delle reti neurali. Questo algoritmo è 
costitutivo della capacità di apprendimento delle reti neurali.

Ad oggi le reti neurali trovano applicazione nei campi più differenti: riconoscimento dei caratteri 
manoscritti, riconoscimento vocale o dei volti, applicazioni mediche, ottimizzazione dei processi 
industriali, analisi in campo finanziario. Numerose aziende che mettono in primo piano 
l'applicazione delle reti neurali sono nate negli ultimi anni.

1 Mitri S, Floreano D. and Keller L. (2009), The evolution of information suppression in communicating robots with  
conflicting interests, PNAS

Reti Neurali ­ 2
Il modello biologico 
Alla base della nascita delle reti neurali vi è il paragone, come dice il nome stesso, con i neuroni che 
costituiscono il tessuto nervoso e dei nessi causali tra questi che danno origine alle capacità mentali 
superiori dell'uomo. Il termine rete rimanda al collegamento tra i diversi neuroni organizzati nel 
tessuto. Le connessioni presenti sono necessarie per dar luogo a forme di cognizione o di 
elaborazione delle informazioni. Non si ritiene che sia un singolo neurone a causare il pensiero.

La struttura di un neurone
Un neurone è costituito da un corpo centrale 
denominato soma o pirenoforo, dal quale si 
allontanano dei prolungamenti chiamati dendriti 
e un singolo assone, una struttura allungata che, 
dopo diverse suddivisioni, si conclude con 
diversi terminali sinaptici. Soma e dendriti di un 
neurone sono “collegati” al bottone sinaptico di 
altri neuroni. Questo collegamento è chiamato 
propriamente sinapsi e per ogni connessione si 
individuano due neuroni: neurone presinaptico, 
quello il cui terminale sinaptico è collegato 
all'altro neurone, che è chiamato neurone 
postsinaptico. E' a livello della sinapsi che si 
registra lo scambio di informazioni tra due 
neuroni, scambio che avviene in una sola 
direzione: dal neurone presinaptico al neurone 
postsinaptico. Il neurone ricevente elaborerà 
l'informazione e a sua volta la trasmetterà ai 
successivi neuroni che sono a questo collegati. 
Fig 1: Il modello di un neurone.

La trasmissione degli impulsi
I neuroni hanno una differenza di potenziale transmembrana detto potenziale di riposo (pari a circa 
­70mV) dovuta ad una diverso accumulo di ioni a 
ridosso della membrana. Ogni cellula nervosa è 
eccitabile, ovvero può modificare rapidamente 
l'accumulo di ioni, e quindi variare il potenziale di 
membrana. 
Un neurone a riposo che riceva uno stimolo, sia esso 
luminoso, meccanico o da parte di altri neuroni, si 
eccita modificando il proprio potenziale di membrana 
Fig 2: Trasmissione di un treno di due impulsi lungo  
fino al raggiungimento del valore del potenziale  l'assone. Si noti la variazione del potenziale  
d'azione. L'alterazione del potenziale si propaga lungo  transmembrana.
l'assone. Questo è un segnale nervoso elementare, 
treni di questi potenziali costituiscono gli impulsi nervosi. Un impulso nervoso può propagarsi in 
una sola direzione poiché la membrana ritornata a riposo è refrattaria, per un breve istante, a 
un'ulteriore eccitazione.

La connessione tra neuroni, cosi come tra neurone e una cellula effettrice, è interrotta da un breve 
spazio, la discontinuità o fessura sinaptica, che termina la propagazione dell'impulso nervoso. 

Reti Neurali ­ 3
L'informazione potrà proseguire solo grazie all'intervento dei neurotrasmettitori, molecole liberate 
nello spazio sinaptico dal neurone presinaptico, e riconosciute da recettori presenti sul neurone 
postsinaptico. La ricezione dei neurotrasmettitori, che agiscono rapidamente, per breve tempo  e 
localmente, genera un nuovo potenziale d'azione che da origine ad un nuovo impulso, e cosi via di 
neurone in neurone. L'informazione trasmessa da un neurone è influenzata da quella proveniente 
dagli altri neuroni, sia inibitori che eccitatori.

Il modello matematico
Come è stato tradotto il modello biologico?
L'unità fondamentale di una rete neurale è il neurone o nodo o percettrone: una unità costituita da 
uno o più ingressi, una funzione soglia e uno o più collegamenti in uscita. Per tutti i neuroni, tranne 
per quelli che svolgono funzione di input o output della rete stessa, i collegamenti sono da/verso uno 
o più neuroni e consentono solo il passaggio di informazioni, non lo scambio. Le informazioni 
scorrono solo in una direzione a livello del collegamento.2 Cosi come avviene per le cellule nervose 
dove l'informazione può propagarsi in una sola direzione a causa della ripolarizzazione della 
membrana del pirenoforo. Le informazioni trasmesse ed elaborate da un neurone sono numeri.
Nelle configurazioni più semplici gli input vengono moltiplicati per un peso, un numero reale, ed in 
seguito sommati. Il valore cosi trovato viene inviato alla funzione soglia che attiva o inibisce  il 
neurone. Alla somma dei vari input viene 
aggiunto il valore di soglia, chiamato bias, 
introdotto per replicare i differenti valori del 
potenziale d'azione di ogni singolo neurone. 
Il risultato di questa operazione viene 
trasmesso agli altri neuroni a questo collegati 
che agiranno similmente. L'attivazione o 
l'inibizione del neurone è solitamente 
graduale ovvero non si utilizzano solo valori 
come 0 o 1 per indicare due stati (attivo­
inibito), sul collegamento possono essere 
Fig 3:  Schema della struttura di un neurone artificiale. 
trasmessi valori di qualunque grandezza. 

La funzione di soglia o di attivazione
La funzione di soglia è volta alla simulazione della dipendenza dell'attivazione del neurone da parte 
dei segnali ricevuti dagli altri neuroni.
La funzione di soglia può essere di tipologie diverse3: 

1
 funzione a gradino 
(nel grafico t=0)
gradino t  x = {
1
0
xt
altrimenti
0

2 Esistono reti, le cosiddette reti ricorrenti, dove i collegamenti sono tali trasportare ciclicamente le informazioni. Le 
informazioni, quindi, possono passare più volte all'interno di uno stesso neurone prima di raggiungere lo strato di 
output. Anche in questo caso è però mantenuto il verso nel passaggio di informazioni.
3 Fonte: twiki.dsi.uniroma1.it ­­­ http://www.slidefinder.net/4/4neural/8948333

Reti Neurali ­ 4
1
 funzione segno  
sign  x = {
1 x≥0
−1 altrimenti
-1

1 1/2
funzione sigmoide  sigmoide  x =
1e−x

Come i pesi influiscono sulla funzione di output
Una rete neurale può essere utilizzata per “apprendere” funzioni diverse a seconda 
dell'addestramento svolto. Immaginiamo di avere un neurone con una funzione di attivazione 
sigmoide, con le altre funzioni non si ottiene alcun cambiamento significativo4, e di modificare i 
pesi della connessione di ingresso. Osserviamo come si modifica la funzione soglia del neurone.

 
Come risulta dalle immagini a 
seconda dei valori dei pesi le 
funzioni assumono un diverso 
grafico.
In questi esempi l'insieme dei 
valori di input è il dominio della 
funzione di soglia.

Le reti neurali ad un solo 
ingresso e con un solo output  Peso = +1 ; Bias = 0   Peso = +8.5 ; Bias = 0
possono essere rappresentate su 
di un grafico cartesiano Oxy.

Peso = ­1.75 ; Bias = 0        Peso = +2; Bias = ­4

4 Si ottiene una traslazione lungo l'asse delle x per quanto riguarda una funzione a gradino.

Reti Neurali ­ 5
Una rete neurale ad uno strato con un solo input e un solo output
Immaginando una composizione5 di funzioni differenti si possono ottenere funzioni con grafici 
molto diversi modificando i pesi delle singole funzioni.

Fig 4: i(x1,x2,x3) = h(x1) ∘ g(x2) ∘ f(x3) ; Da notare è il grafico di i(x) [rosso].

Fig 5: Il verso delle frecce indica il verso di scorrimento  
dell'informazione.
Questo esempio mostra come la combinazione di più funzioni possa dar luogo a funzioni diverse. 
Inoltre spiega tramite l'esempio come sia possibile ottenere funzioni matematiche diverse con la 
medesima rete neurale. Le reti neurali sono in grado, sfruttando l'algoritmo di backpropagation di 
modificare i pesi dei singoli neuroni in modo da giungere alla funzione presentata come esempio. 
Oppure, nel caso in cui non sia data una funzione, di dedurne una dagli insiemi di valori dati. 

Una rete è composta da più neuroni collegati tra di loro in modo tale da individuare almeno 3 livelli:
• Neuroni di Input: questi neuroni ricevono i dati dall'ambiente
• Neuroni Nascosti: uno o più livelli di neuroni nascosti collegati tra di loro; nelle reti neurali 

5 Composizione di funzioni; Da Wikipedia, l'enciclopedia libera.
In matematica, la composizione di funzioni è l'applicazione di una funzione al risultato di un'altra funzione. Più 
precisamente, una funzione f tra due insiemi X e Y trasforma ogni elemento di X in uno di Y: in presenza di un'altra 
funzione g che trasforma ogni elemento di Y in un elemento di un altro insieme Z, si definisce la composizione di f e 
g come la funzione che trasforma ogni elemento di X in uno di Z usando prima f e poi g.
Per esempio: siano f(x) = 2x e g(x) = x2, k(x): f(x) ∘ g(x) oppure f(g(x) è k(x) = 2x2

Reti Neurali ­ 6
più semplici è presente un solo livello di neuroni nascosi, come in Fig 6.
• Neuroni di Output: ultimo passaggio della elaborazione, restituiscono i dati ricevuti.
Le informazioni scorrono in una direzione: dallo strato di ingresso, 
passando per quelli nascosti, si giunge al calcolo degli output nel terzo 
strato.

Analisi del sistema di apprendimento di una rete neurale 
Una premessa al processo di apprendimento. 
Una fase importante nello sviluppo di un sistema basato sulle reti neurali 
è il pre­processing dei dati raccolti. I parametri reali che costituiranno 
l'input della rete neurali dovranno essere convertiti in numeri per poter 
essere elaborati. Per esempio un suono andrà convertito in bande di 
frequenza, un'immagine nei valori numerici dei propri pixel.

Dopo essere stata inizializzata con dei pesi casuali, una rete neurale deve 
subire un procedimento chiamato apprendimento (o anche 
addestramento): i pesi dei singoli neuroni vengono modificati in modo  Fig 6: una semplice rete neurale con  
da approssimare la risposta della rete neurale ai valori di output noti. I  2 neuroni di Input, 4 neuroni  
valori di input sono passati ai neuroni dello strato di ingresso, l'output  Nascosti e 1 neurone di Output.
ottenuto dalla rete è confrontato con gli output noti, si calcola l'errore commesso e utilizzando 
l'algoritmo di retropropagazione dell'errore (error backpropagation ) si modificano i pesi dei 
neuroni procedendo nel verso opposto a quello seguito per il calcolo degli output. Quest'ultima 
procedura, denominata nel suo complesso epoca, è ripetuta diverse volte (106 ­ 109 volte o più) per 
migliorare sempre più i pesi delle connessioni dei neuroni. Si dice che una rete abbia eseguito un 
addestramento di N epoche.
Potremmo dire che la rete neurale «impara dall'esperienza commettendo errori» in quanto dalla 
presentazione degli stessi valori, tra i quali si presuppone l'esistenza di una relazione, «riconosce» 
quella funzione che sarà memorizzata nei pesi delle connessioni dei singoli neuroni. Ripetendo più 
volte il confronto con gli insiemi input­output corretti acquista «esperienza», gli errori compiuti 
vengono corretti di epoca in epoca. 

Le reti neurali possono approssimare funzioni matematiche ma anche trovare relazioni e fornire un 
modello non studiabile delle relazioni tra input e output. Una rete neurale a singolo livello, ci si 
riferisce al numero di livelli nascosti, è in grado di apprendere qualsiasi funzione continua, mentre 
sono necessari almeno due livelli nascosti, rete multistrato, per riprodurre delle funzioni 
discontinue. 6  
Le reti neurali vengo utilizzate per realizzare dei modelli che permettano di calcolare con una certa 
accuratezza i risultati di una funzione anche al di fuori dei valori di addestramento. Il paragone con 
una funzione matematica deve considerare funzioni con più di una incognita, in quanto, una rete 
neurale può avere una elevato numero di neuroni di input. Il numero considerevole di variabili 
aumenta la complessità delle relazioni matematiche da elaborare e fa si che le reti neurali, sebbene 
non permettano di studiare un modello, possono fornire una previsione del comportamento del 
fenomeno studiato.

6 Da: http://automatica.ing.unibs.it/mco/cgsa/neurali/reti_neurali.htm
«Un uno strato sufficientemente grande di unità nascoste si può rappresentare qualsiasi funzione continua degli 
ingressi. Con due strati si possono rappresentare anche funzioni discontinue.»

Reti Neurali ­ 7
Un esempio: immaginiamo di aver registrato per diversi mesi l'andamento del meteo in una certa 
località. Sono stati raccolti dati riguardanti la pressione atmosferica, la temperatura e l'umidità 
dell'aria, velocità e direzione del vento, la quantità ed i tipo di precipitazioni e l'ora del rilevamento 
dei dati. E' possibile realizzare una rete neurale, che considerando come input i valori rilevati ad una 
certa ora della giornata di oggi, restituisca il tipo di precipitazione nelle prossime 12 h oppure la 
temperatura nei giorni successivi. In questo esempio la rete neurale, confrontandosi con lo storico 
del meteo in quest'area, viene addestrata ad «approssimare» quella funzione, relazione, che non si 
riesce ad esprimere matematicamente, fornendo una previsione del fenomeno.7

Paradigmi di apprendimento
Vi sono tre grandi paradigmi di apprendimento, ciascuno corrispondente ad un particolare compito 
astratto di apprendimento. Si tratta dell'apprendimento supervisionato, apprendimento non 
supervisionato e l'apprendimento per rinforzo. Di solito un tipo di architettura di rete può essere 
impiegato in qualsiasi di tali compiti. L'apprendimento precedente è un apprendimento 
supervisionato in quanto è presente un insieme di valori di input ed il corrispettivo output. 
L'obiettivo finale dell'apprendimento supervisionato è la previsione del valore dell'uscita per ogni 
valore valido dell'ingresso, basandosi soltanto su un numero limitato di esempi di corrispondenza 
(vale a dire, coppie di valori input­output). Per fare ciò, la rete deve essere infine dotata di 
un'adeguata capacità di generalizzazione, con riferimento a casi ad essa ignoti.

Autoapprendimento
Riporto qui un passaggio di un articolo dal quale emerge chiaramente la differenza tra le comuni 
intelligenze artificiali e le reti neurali, l'autoapprendimento. 

«Quali sono le caratteristiche più interessanti che i sistemi neurali esibiscono rispetto a modelli 
di simulazione di tipo tradizionale?
Mentre l'intelligenza artificiale tradizionale cerca di riprodurre le capacità degli esseri umani 
in termini di simboli e regole per manipolare questi simboli, le reti neurali sono invece modelli 
ispirati alle caratteristiche fisiche del corpo, in particolare del sistema nervoso. Una differenza 
cruciale, per esempio, consiste nel fatto che un sistema di intelligenza artificiale in genere non 
apprende, perché è previamente programmato. Al contrario, è tipico delle reti neurali e, in 
genere, di tutti i sistemi che si ispirano alle caratteristiche degli organismi biologici, che le 
capacità di tali sistemi sono frutto di un apprendimento autonomo, spontaneo, avvenuto 
all'interno del sistema. 
C'è, quindi, una forma di auto organizzazione, di auto apprendimento autonoma, che non esiste 
nei sistemi tradizionali . Questo può essere un vantaggio nel senso che per certi problemi non 
si ha idea di come programmare il computer in modo che possa risolverli. Queste forme di 
autoapprendimento, invece, fanno sì che lo stesso sistema trovi da solo le soluzioni più 
interessanti a cui noi non avremmo pensato se avessimo dovuto programmarlo.»  8
(Domenico Parisi)

La differenza tra le reti neurali e le normali intelligenze artificiali consiste nella diversa 
progettazione: mentre i sistemi esperti si basano sulla logica umana, le reti neurali si fondano sulla 
struttura del cervello umano. Questa notevole differenza è causa del grande potenziale e 
dell'imprevidibilità delle reti neurali: cosi come possono fornire soluzioni laddove non si riesca a 
descrivere un algoritmo, può risultare difficile la predisposizione di algoritmi di apprendimento 
efficaci per una determinata situazione. La loro complessità rende difficile determinare cosa una 
7 Un approfondimento può essere trovato alla pagina web: 
http://digilander.libero.it/vvillas/reti_neurali/reti_neurali_e_previsioni_del_te.htm
8 Da http://www.mediamente.rai.it/biblioteca/biblio.asp?id=449&tab=int

Reti Neurali ­ 8
rete possa o meno dal punto di vista matematico. La ricerca sulle reti neurali è ancora aperta.

Utilizzi ed Esempi
Neuraleng®9 è una azienda che si presenta cosi «La Neural Engeneering S.p.a è una società 
specializzata in alta tecnologia che opera soprattutto nella ricerca in materia di applicazioni di 
intelligenza artificiale e nella progettazione di dispositivi elettronici basati su reti neurali »
Altri esempi di utilizzi:
• Elaborazione di segnali 
• Controllo 
• Riconoscimento di schemi grafici 
• Classificazione di immagini 
• Medicina 
• Riconoscimento e produzione del parlato 
• Predizioni Finanziarie 

Simulazioni
Caratteristiche della rete neurale multistrato: 1 neurone di input, 
2 strati nascosti composti da 6 neuroni il primo e da 8 il 
secondo, 1 neurone di output.
Analizzando i pesi delle connessioni dei singoli neuroni e 
conoscendo il tipo di funzione di soglia e gli estremi dei 
collegamenti tra i neuroni, è stato possibile ricostruire la 
funzione approssimata di ogni neurone e la funzione risultante 
dalla composizione delle singole funzioni.
I valori dei pesi nella simulazione sono numeri con 10 cifre 
decimali, per comodità sono stati approssimati a 2­3 cifre  Fig 7: Rete neurale con due strati nascosti.  
significative. Ciascun neurone dello strato azzurro è 
connesso a tutti i neuroni dello strato  
Questa simulazione mostra come una rete neurale “interpoli” i  successivo.
dati costruendo una funzione.
Le funzioni ricostruite dalla simulazione.
  f(x) = 1/(1+e^(−x)) la funzione di soglia   m(x) = f(1.7g(x)+0.7h(x)−10.1i(x)−2.8j(x)+8.1k(x)−3.6 l(x)−3.0 )
  g(x) = f(−5.6x+0.9)    n(x) = f(0.1g(x)−0.04h(x)+0.4 i(x)−0.9j(x)−0.9k(x)−0.5l(x)−0.96)
  h(x) = f(−2.3x+0.2)  o(x) = f(−1.6g(x)−1.0h(x)+2.2i(x)+0.53j(x)+7.6k(x)+0.35l(x)−1.12)
  i(x) = f(14.7x−11.3)  p(x) = f(−3.6g(x)−2.8h(x)+3.9i(x)−1.1j(x)−3.3k(x)+6.3l(x)−4.5)
  j(x) = f(3.0x−0.5)  q(x) = f(−0.96g(x)−0.37h(x)+1.8i(x)−0.34j(x)−0.29k(x)−0.22l(x)−1.3)
  k(x) = f(15.5x−8.2) r(x) = f(+0.57g(x)−0.25h(x)−6.6i(x)−3.0j(x)+5.1k(x)−2.8l(x)−3.9)
  l(x) = f(6.1x−5.5)  s(x) = f(−4.7g(x)−1.8h(x)+3.2i(x)+2.5j(x)−2.2k(x)+2.9l(x)−0.31)
 t(x) = f(−0.42g(x)−0.035h(x)+0.23i(x)−0.79j(x)+0.84k(x)+0.12l(x)−1.75)
 u(x) = f(6.9m(x)−0.23n(x)−6.4o(x)+7.4p(x)+0.074q(x)+5.8r(x)+5.4s(x)+0.41t(x)+0.19)

9 NeuralEng® : http://www.neuraleng.com/

Reti Neurali ­ 9
I pallini blu rappresentano i punti utilizzati per 
l'addestramento della rete neurale. La curva 
verde rappresenta l'output della rete neurale 
per tutti i valori di input possibili.
Sotto: la funzione ricostruita basandosi su 
quelle raccolte dal risultato della simulazione.

Fig 8: Il risultato della simulazione

Fig 9: La funzione costruita utilizzando i risultati della  
simulazione

Reti Neurali ­ 10
Modelli matematici
Le reti neurali possono essere considerate dei modelli da due punti di vista: un modello dei processi 
biologici che sono alla base della capacità umana di pensare ed elaborare informazioni oppure un 
modello di fenomeni dei quali, causa la loro complessità, non si riesce a fornire una descrizione 
matematica. Nel secondo caso le reti neurali offrono, a sacrificio di uno studio matematico, una 
certa prevedibilità del fenomeno grazie all'elaborazione di una simulazione.

Un modello matematico utilizza il linguaggio ed il formalismo propri della matematica per 
esprimere le relazioni tra le grandezze considerate.

Modèllo: Nel linguaggio scientifico, costruzione schematica, puramente ipotetica o realizzata 
materialmente, di origine anche intuitiva, con cui viene rappresentato globalmente o soltanto 
in parte l'oggetto di una ricerca.10

«le scienze non cercano di spiegare, a mala pena tentano di interpretare, ma fanno soprattutto 
dei modelli. Per modello si intende un costrutto matematico che, con aggiunta di certe 
interpretazioni verbali, descrive dei fenomeni osservati. La giustificazione di un costrutto 
matematico del genere è soltanto e precisamente che ci si spetta che funzioni – cioè descriva 
correttamente i fenomeni di un'area ragionevolmente ampia. Inoltre, esso deve soddisfare certi 
criteri estetici – cioè in relazione con la quantità di descrizione che fornisce, deve essere 
piuttosto semplice.» (John von Neumann, Opere, vol.6, pag. 492)11

Un modello, anche un modello matematico, ha due funzioni principali: una funzione 
esplicativa ed una funzione utilitaristica. Come afferma Neumann, un modello esprime il 
tentativo di  fornire una descrizione della realtà, dell'«intima essenza dei fenomeni»(Giorgio 
Israel), mantenendo il modello quanto più semplice possibile. Ma al tempo stesso deve essere 
utile in quanto possa fornire una qualche capacità di intervento sull'oggetto del modello stesso, 
che si traduce immediatamente in capacità di previsione delle risposte dell'oggetto alle 
possibili modifiche attuate dall'uomo. 
La rappresentatività della realtà da parte di un modello, in particolare un modello matematico, 
venne messa in crisi da molteplici avvenimenti verso la fine dell'Ottocento: prima una crisi del 
programma meccanicista (H.Poincarè) in seguito dei fondamenti della matematica stessa (K. 
Gödel). 

“Un modello è sempre una semplificazione, una sorta di idealizzazione di ciò che si intende 
modellare.”
(J. Weizenbaum, op. cit.)

Con la crisi della matematica e della fisica, che diedero il via, tra le molte, alla teoria del caos, 
la matematica abbandonò lo stretto legame con la fisica e si assistette ad una sua rapida 
diffusione in molti ambiti di ricerca come base per la modellizzazione. Nasce la «visione 
applicativa della matematica centrata attorno alla nozione di modello»(G. Israel).
Le reti neurali in quanto modello matematico di un fenomeno non possiedono quella 

10 Fonte:www.treccani.it – Enciclopedia – voce “modello”
11 Fonte: Immagini matematiche della realtà di Giorgio Israel; LE SCIENZE – quaderni, numero 81, Dicembre 1994

Reti Neurali ­ 11
caratteristica funzione esplicativa­descrittiva della realtà che appartiene, invece, ad un 
modello fisico. Rimane, quindi, la capacità di previsione del modello che una rete neurale ha 
costituito durante l'addestramento. Questa funzione, a scapito di una nobile indagine 
speculativa, fornisce numerose applicazioni in ambito pratico.

modelli matematici
Nella scienza e nella tecnica, si fa largo uso di m. matematici: si ricorre al formalismo e alle 
relazioni matematiche per descrivere in forma semplificata e controllabile i fenomeni che 
caratterizzano un sistema in genere complesso. Per es., in biologia le equazioni che descrivono 
la relazione preda­predatore tra due popolazioni animali (equazioni di Volterra). Molto spesso 
i m. matematici vengono implementati al calcolatore (modellistica numerica). Lo sviluppo dei 
m. matematici si compie nelle tre fasi successive della formulazione, calibrazione e 
validazione, spesso reiterate fino al raggiungimento di un risultato soddisfacente. La 
formulazione consiste nella scelta delle variabili, nella conversione in termini matematici dei 
processi considerati, attraverso equazioni, disequazioni o formule di altro tipo, e nella 
selezione dei parametri e delle scale spazio­temporali più appropriate. La calibrazione del m. 
viene effettuata facendo variare uno o più parametri e analizzando la risposta del m., fino a 
ottenere un funzionamento realistico. La validazione, infine, è la procedura mediante la quale 
si verifica se un m. riesce a riprodurre con sufficiente accuratezza il funzionamento del 
sistema reale.12

La definizione di modello matematico fornita dall'enciclopedia Treccani si adatta bene alle reti 
neurali per quanto riguarda i processi che portano allo sviluppo di un modello matematico: 
formulazione, calibrazione e validazione. La formulazione può essere paragonata alla costruzione 
informatica, la programmazione, della rete neurale; calibrazione e validazione sono procedure simili 
al processo di addestramento della rete che tramite calibrazioni e validazioni successive approssima 
un comportamento realistico.
 

Intelligenza artificiale
Le reti neurali sono considerate intelligenze artificiali in quanto sono in grado di eseguire alcuni 
compiti dell'intelligenza umana. Questa è il progetto dell'intelligenza artificiale: la realizzazione di 
una macchina con le stesse capacità umane superiori. Le reti neurali basandosi sulla struttura del 
cervello umano hanno rivelato capacità superiori ai sistemi basati su intelligenze artificiali di tipo 
diverso. 

La stanza cinese
Gli entusiasmi dei primi ricercatori del campo dell'intelligenza artificiale riguardavano la possibilità 
di realizzare macchine in grado di pensare, riflettere, persino in grado di provare emozioni, in breve 
desideravano creare macchine umane. I primi progetti portarono alla realizzazione di macchine non 
distinguibili da interlocutori umani13. Queste evidenze fecero sorgere la domanda sull'effettiva 
capacità di comprendere e pensare di un sistema opportunamente programmato.

12 Fonte: www.treccani.it – Enciclopedia – voce “modello”
13 Si pensi al testi di Turing che venne superato dal programma ELIZA, un programma evidentemente non pensante.

Reti Neurali ­ 12
Gedankenexperiment,   [...]e.  mentale,   quello  John Searle (1984) propose un gedankenexperiment in 
eseguito in una situazione immaginaria perché  cui un uomo che si trovasse all'interno di una stanza 
non ottenibile con i mezzi di cui si dispone,  dovesse dialogare con l'esterno tramite lo scambio di 
ma con parametri e grandezze rigorosamente  fogli scritti. Questo è il famoso esperimento mentale 
definiti, per saggiare un principio o una legge  della stanza cinese.  L'individuo scelto è totalmente 
scientifici in casi limite o in un nuovo conte­ ignorante di cinese e viene addestrato a manipolare i 
sto;[...] simboli cinesi tramite delle procedure pervenute 
dall'esterno che egli è in grado di comprendere. A 
Enciclopedia Treccani
questo punto gli vengono inviate dei testi in cinese 
come dati su cui elaborare: finita l'elaborazione restituisce all'esterno un testo scritto con simboli 
cinesi. Il testo cinese trasmesso all'uomo è 
John Rogers Searle  (born July 31, 1932 
una favola per i suoi redattori, la risposta 
in   Denver,   Colorado)   is   an   American 
ricevuta, cosi come è compresa  philosopher and currently the Slusser Pro­
dall'esterno, mette in evidenza una  fessor of Philosophy at the University of 
comprensione della favola stessa: l'uomo  California, Berkeley. Searle began his col­
all'interno comprende le favole cinesi.  lege education at the University of Wis­
Questa conclusione è errata come dimostra  consin,   and   subsequently   became   a 
Searle: la procedura di trattamento  Rhodes   Scholar   at   Oxford   University 
comporta una elaborazione formale dei  where he earned an undergraduate degree 
simboli cinesi (vi è solo grammatica, non  and a doctorate in philosophy and Ethics. 
sintassi) che non implica l'acquisizione di  Widely noted for his contributions to the 
alcuna comprensione del cinese da parte  philosophy   of   language,   philosophy   of 
mind and social philosophy, he began teaching at Berkeley in 1959, 
dell'elaboratore. 
where, among his many distinctions, he was the first tenured profes­
In questo esperimento l'uomo posto  sor to join the Free Speech Movement. He received the Jean Nicod 
all'interno della stanza che riceve le  Prize in 2000, and the National Humanities Medal in 2004.
istruzioni rappresenta il processore di un 
computer in cui è stato istanziato un  Fonte: en.wikipedia.org
http://en.wikipedia.org/wiki/John_Searle
programma: il linguaggio macchina è 
conosciuto dal processore, che non comprende i simboli che manipolerà. 

“[...]nessun modello puramente formale sarà mai sufficiente in sé per l'intenzionalità, 
perchè le proprietà formali non sono di per sé costitutive di intenzionalità[...]”
(J. Searle, Menti, cervelli e programmi)

La confutazione di Searle presuppone l'elaborazione di simboli come metodo per far apprendere una 
macchina, simboli ad essa incomprensibili. In maniera diversa, le reti neurali hanno la particolare 
caratteristica di trattare numeri con il linguaggio logico­matematico. I segni e i simboli hanno un 
valore per il sistema in quanto comportano dei mutamenti della struttura della rete neurale.

“Le reti neurali rappresentano una delle poche tecnologie collegate all'intelligenza 
artificiale che abbia un fondamento matematico rigoroso e che si basi sulla 
manipolazione di numeri e non di simboli. Ciò consente l'uso di matematica anche 
piuttosto sofisticata[...]. Non si tratta quindi di un metodo euristico per risolvere un 
certo numero di problemi: la base è una solida teoria matematica che giustifica le 
prestazioni e dimostra, non solo sperimentalmente, la capacità delle reti neurali di 
risolvere problemi complessi.”
(Fabio Canegalli, Reti neurali e modelli previsionali)

Questa caratteristica delle reti neurali potrebbe dar luogo a forme di comunicazione elementare tra 

Reti Neurali ­ 13
sistemi strutturati sul modello di una stessa rete neurale.14 

Nel suo saggio Searle termina con alcune conclusioni generali riguardanti la simulazione di capacità 
umane da parte di una macchina. E' un errore confondere la simulazione con la duplicazione di una 
attività: da una simulazione si ottiene quanto le viene formalmente detto sulla trasformazione di un 
input in un corrispettivo output.

“Per quale motivo uno dovrebbe supporre che la simulazione da parte di un computer 
della comprensione effettivamente produca comprensione?[...]Per la simulazione, tutto 
quello di cui si ha bisogno è il giusto input o output e un programma che trasformi il 
precedente input nel seguente output. Confondere la simulazione con la duplicazione è 
il risultato dello stesso sbaglio[...]”
(J. Searle, op. cit.)

Il modello matematico del tessuto nervoso biologico è la base di questo passaggio dai simboli ai 
numeri che potrebbe aumentare le possibilità dell'intelligenza artificiale delle reti neurali.

“Copiando la struttura "fisica" dovrebbero seguire anche quelle proprietà "biologiche" 
che nessuna macchina è mai riuscita a riprodurre.”
(Fabio Canegalli, op. cit.)
Joseph   Weizenbaum  (Berlin,   Janu­
Joseph Weizenbaum ary 8, 1923 – March 5, 2008) was a 
J. Weizenbaum fu una voce autonoma e  German­American author and profes­
contrastante nelle prime fasi dello sviluppo  sor   emeritus   of   computer   science   at 
MIT.
dell'intelligenza artificiale. La sua riflessione 
His  influential  1976 book  Computer  
porta in primo piano i rapporti tra l'uomo ed il  Power   and   Human   Reason  displays 
computer, mette alla luce  pericolosi  his   ambivalence   towards   computer 
entusiasmi ridimensionando  l'idea di  technology   and   lays   out   his   case: 
computer e difendendo le capacità  superiori  while   Artificial   Intelligence   may   be 
dell'uomo. L'esperienza acquisita dalle  possible, we should never allow com­
reazioni entusiastiche delle persone nei  puters to make important decisions because computer will al­
confronti delle macchine, in particolare il suo  ways lack human qualities such as compassion and wisdom. 
progetto, ELIZA15, lo indusse a riflettere sul  Weizenbaum makes the crucial distinction between deciding 
potere dei computer e sulla mente umana.  and choosing. Deciding is a computational activity, something 
that   can   ultimately   be   programmed.   It   is   the   capacity   to 
choose that ultimately makes us human. Choice, however, is 
La prima critica è destinata a quelle ricerche 
the product of judgment, not calculation. Comprehensive hu­
volte alla meccanizzazione delle attività  man   judgment   is   able   to   include   non­mathematical   factors 
superiori dell'uomo che spesso si traducono  such as emotions. Judgment can compare apples and oranges, 
nella schematizzazione e impoverimento  and can do so without quantifying each fruit type and then re­
dell'idea di intelligenza umana. Il computer  ductively quantifying each to factors necessary for compari­
deve essere ritenuto  uno strumento, senza  son.
che, cosi facendo, ne siano ridimensionati  Fonte: en.wikipedia.org
potere e ruolo. Il suo potere è lo stesso di tutti  http://en.wikipedia.org/wiki/Joseph_Weizenbaum
i sistemi che si autoconvalidano.
Le ideologie scientiste che portano a considerare ogni aspetto della realtà come modellizzabile 
matematicamente sono molto vicine alla convinzione che «la vita non sia che un programma che va 

14 Un approfondimento: Sara Mitri, Dario Floreano, and Laurent Keller , The evolution of information suppression in 
communicating robots with conflicting interests 
15 ELIZA è stato in sistema in grado di simulare uno terapeuta Rogersiano

Reti Neurali ­ 14
su un enorme computer». Questa è l'idea dei programmatori megalomani su cui Weizenbaum 
scaglia numerosi rimproveri. L'invito è quello a mantenere la capacità critica in quei versanti dove è 
più facile cadere preda degli entusiasmi per le meraviglie del progresso tecnologico.

16
..“Work in progress”: gli
Work in progress argomenti elencati sono
quelli che aprono l'orizzon-
te di questa tesina, che pos-
• Reti neurali e sistemi complessi:  Squashing Theory sono costituirne un prose-
«La Squashing Theory (Teoria della Spremuta) é una teoria  guimento su altre dirama-
per la previsione del comportamento dei sistemi complessi:  zioni. Sono gli argomenti
soggetti umani, processi sociali, dinamiche caotiche, etc…  in cui mi sono imbattuto
Il fondamento della teoria é un concetto di Squashing: ogni  durante la ricerca del mate-
sistema complesso é il risultato di una architettura a 4  riale e non sono stati appro-
dimensioni spaziali in un mondo a 3 dimensioni. »
fonditi.
• Roboetica
«Potremmo definire la roboetica quella parte dell'etica Alberto
che si occupa delle problematiche legate ai robot e alla
loro interazione con l’uomo, gli animali, la società, la natura ed il mondo in generale»
• Evoluzione cooperativa
• Reti neurali e algoritmi genetici
• Reti neurali e teoria dei giochi
• Reti neurali e fuzzy logic
«La logica fuzzy o logica sfumata o logica sfocata è una logica in cui si può attribuire a ciascuna proposizione 
un grado di verità compreso tra 0 e 1. È una logica polivalente, e pertanto un'estensione della logica booleana. 
È fortemente legata alla teoria degli insiemi sfocati e, già intuita da Cartesio, Bertrand Russell, Albert Einstein, 
Werner Karl Heisenberg, Jan Łukasiewicz e Max Black, venne concretizzata da Lotfi Zadeh.»

16  Le seguenti descrizioni sono state riprese o da wikipedia.org o da altri siti.

Reti Neurali ­ 15
Bibliografia:
• Alberghina L. e  Tonini F. (2002), Biologia: Dall'evoluzione biologica all'evoluzione culturale  
dell'uomo, Milano, Arnoldo Mondadori Scuola
• Beccari M., Romano U., “Modellistica matematica e analisi dei sistemi”, in Enciclopedia degli 
idrocarburi, risorsa web reperita su www.treccani.it, pp. 469­484.
• Canegalli, Fabio (1997), Reti neurali e modelli previsionali: Apprendere dall'esperienza come i 
sistemi complessi si semplificano in comportamenti a rischio per prevenirne l'occorrenza,  
Psycomedia, <http://www.psychomedia.it/pm/science/complex/caneg1a.htm>, 14 Settembre 1997
• Hinton, Geoffrey E., Reti artificiali e apprendimento, in Intelligenza artificiale, Rimini, Le 
Scienze, pp. 46­59.
• Israel, Giorgio (1994), “Immagini matematiche della realtà”, in Le Scienze Quaderni, dicembre 
1994, numero 81, pp­ 3­16.
• McCulloch W.S. e Pitts W. (1943), "A logical calculus of the ideas immanent in nervous activity", 
• Searle, John R. (1984), Menti, cervelli e programmi , in Un dibattito sull'intelligenza artificiale, a 
cura di Graziella Tonfoni, Milano, Clup­Clued, pp. 43­72.
• Wizenbaum, Joseph (1984), Il potere del computer e la ragione umana, Torino, Edizioni Gruppo 
Abele.

Sitografia:
• www.treccani.it
• www.wikipedia.org
• http://punto­informatico.it/95237/PI/News/reti­neurali­principali­applicazioni­pratiche.aspx

Software:
L'intero progetto è stato realizzato sul sistema operativo 
OpenSource Ubuntu Linux v. 10.04 “Lucid Lynx”.

Le simulazioni sono state realizzate con il linguaggio di 
programmazione python (www.python.org). In particolare è 
stata utilizzata la libreria matplotlib per le interfacce delle 
simulazioni (http://matplotlib.sourceforge.net/).

I grafici delle funzioni sono stati eseguiti con KmPlot 
(http://edu.kde.org/kmplot/).

p.s.: Ringrazio tutti quelli che mi hanno dato consigli e dritte. 
E mio fratello Andrea  per le correzioni.

Alberto

Reti Neurali ­ 16

Potrebbero piacerti anche