• Non ci sono risultati.

Nell’ampio ramo dell’Intelligenza Artificiale, le Reti Neurali Artificiali occupano un posto di rilievo tra i numerosi strumenti di apprendimento automatico. Il loro studio è iniziato nel 1949 con il lavoro di D.O.Hebb, il quale cercò di formalizzare in tale scritto il funzionamento del sistema nervoso biologico, ponendo così le basi per lo sviluppo di un algoritmo che potesse spiegarne la meccanica49.

Le reti neurali artificiali, proprio per il fatto che simulano il funzionamento del sistema nervoso, hanno delle strutture non lineari che imitano relazioni molto complesse, garantendo un’operatività estremamente flessibile in più campi d’analisi.

Dal punto di vista strutturale, le reti neurali sono composte da un grande numero di neuroni o unità elaborative; ciascun neurone è interconnesso con gli altri ed è in grado di compiere delle semplici elaborazioni. I collegamenti tra i neuroni sono modificabili, infatti durante la fase di apprendimento, mediante un continuo scambio di informazioni tra la rete e il mondo esterno, il sistema modifica la propria struttura in modo da fornire un risultato più conforme alla realtà (uno schema semplice di rete neurale, rappresentante le singole unità e le connessioni che le legano, viene mostrato nella Figura 3.3).

Ogni neurone riceve quindi degli input (I) o stimoli dall’esterno, o da altri neuroni a cui è collegato, con un’intensità o peso pari a wj,i. L’input complessivo che il neurone j-esimo

riceve è pari alla somma ponderata degli stimoli provenienti dall’esterno o dagli altri neuroni, espressa tramite un potenziale50:

49 Donald O. Hebb (1949), The organization of behavior: a neuropsychological theory, Wiley, New York. 50

51

Figura 3.3: Schema di un neurone artificiale j-esimo

Fonte: A. Beltratti, S. Margarita and P. Terna (1996), "Neural Networks for economic and financial modeling", International Thomson Computer Press, London, UK.

L’output, o risposta, Oj generato dal neurone dipende dalla funzione di trasferimento, o

funzione di attivazione, all’esterno del potenziale Pj.

Si può sottolineare come le informazioni in ingresso non abbiano tutte lo stesso effetto sul neurone; il ruolo svolto dai pesi wj,i è proprio quello di far valere il contributo delle

informazioni più significative ai fini della classificazione. Infatti i valore assoluti assunti dai pesi si riferiscono all’importanza della connessione mentre il segno assunto indica la tipologia dello stimolo: in caso di segno positivo i collegamenti sono di tipo eccitatorio, in caso di segno negativo sono di tipo inibitorio.

Però è da evidenziare che la generazione dell’output da parte della rete non sempre avviene; ciò accade, ad esempio, quando la funzione di attivazione è una funzione di risposta “a salto” in cui si definisce una soglia di eccitazione; in questo caso l’output viene generato solamente se l’input complessivo risulta superiore alla soglia Sj stabilita:

52

Esistono una pluralità di funzioni di attivazione utilizzabili al fine di generare l’output del modello51, ma non esiste una vera e propria regola tecnica che definisca i casi in cui utilizzarle. L’algoritmo di apprendimento più diffuso necessita di una funzione di attivazione derivabile, per questo motivo una delle funzioni più utilizzate è la funzione logistica:

Le funzioni di attivazione generano dei valori interni ad un intervallo, nel nostro caso compresi tra 0 e 1, e gli estremi sono raggiunti solamente con pesi molto elevati. È importante rilevare come la risposta Oj del neurone j-esimo possa rappresentare sia l’output finale del

modello, nel caso in cui il neurone sia quello d’uscita, sia un generico input per altri neuroni nel caso in cui il neurone sia connesso ad altri neuroni.

Esistono varie tipologie di reti neurali, infatti maggiore è la complessità del problema analizzato e maggiore è il grado di complessità della rete neurale impiegata per la soluzione:

- Single–Layer Feed-forward52

Networks, queste tipologie di reti sono le più semplici,

sono costituite da un solo strato di neuroni (il caso limite è rappresentato da un solo neurone), ciascuno dei quali è a contatto diretto con gli stimoli provenienti dal mondo esterno e genera all’istante l’output della rete;

- Multilayer Feed-forward Networks, le reti neurali a due strati comprendono uno strato intermedio nascosto detto “hidden layer”, il quale riceve gli stimoli dall’esterno, li elabora e, successivamente, li indirizza ad uno strato di output che formula le risposte della rete (Figura 3.4). Il numero di strati nascosti dipende dalla situazione in esame,

51

Esempi di funzioni di attivazione particolarmente utilizzate nelle reti neurali artificiali:

Funzione Formula A Gradino/A Salto Lineare Logistica Arcotangente Sinusoidale Gaussiana

52 Le reti neurali feed-forward sono definite anche come reti a funzionamento “in avanti” perché il flusso

53

infatti quanto più complessa è la situazione tanto maggiore è il numero di livelli necessario per risolvere il problema;

- Recurrent Neural Networks, le reti neurali ricorrenti si differenziano dalle reti di tipo feed-forward per la presenza di almeno un nodo di feedback, ovvero l’esistenza di un neurone capace di generare un output che è anche input di se stesso o di un neurone dello stesso strato. La presenza dei nodi di feedback ha un profondo impatto sulla capacità di apprendimento della rete e sulle sue performance.

Per quanto riguarda la struttura della rete, rimane da evidenziare che non è univoca, ma le diverse modalità in cui si presenta dipendono da come i neuroni sono collegati tra di loro. Una delle metodologie maggiormente utilizzate è la fully connected neural network, ovvero una rete neurale di piena connessione in cui ogni neurone di un livello è legato a tutti i neuroni del livello successivo (come riportato in Figura 3.4).

Fonte: A. Beltratti, S. Margarita and P. Terna (1996), "Neural Networks for economic and financial modeling", International Thomson Computer Press, London, UK.

54

Come si evince dalla Figura 3.4, nelle reti feed-forward i neuroni appartenenti allo stesso livello non sono in connessione tra loro e il flusso di informazioni è unidirezionale, ovvero si muove dallo strato di input allo strato di output.

Punto di forza delle reti neurali, come delineato in precedenza, è rappresentato dall’estrema flessibilità della rete, che permette di modificare i pesi delle connessioni in modo che il sistema possa confrontare continuamente i risultati ottenuti con quelli desiderati originariamente. Questa è la caratteristica principale che differenzia le reti neurali dai tradizionali sistemi informatici in quanto, mentre questi ultimi definiscono una procedura standard attraverso cui analizzare il mondo esterno, le reti presentano un grado di dinamicità tale da rovesciare continuamente il meccanismo di apprendimento in modo da raggiungere, colmando i possibili divari di risposta, il risultato atteso.

Al fine di riassumere i punti cardine attraverso cui si snoda la risoluzione di un problema mediante l’uso delle reti neurali, si possono enunciare le seguenti fasi53

:

- la definizione di un meccanismo di apprendimento (comprendente anche la correzione dei pesi e le necessarie rettifiche);

- la preparazione di un training set rappresentativo del problema in esame;

- la definizione di un livello di accettabilità della risposta fornita dalla rete, cioè un livello di tolleranza per il possibile errore commesso dalla rete;

- la definizione dell’ordine in cui analizzare gli esempi e di una procedura di aggiustamento dei pesi (dopo ogni caso o dopo un certo numero di casi analizzati); - l’analisi di una serie di casi di verifica con cui giudicare la capacità della rete di

lavorare con input diversi da quelli ricevuti durante la fase di apprendimento.

A seguito di numerosi iterazioni, la fase di apprendimento termina nel momento in cui il modello supera la fase di verifica; ciò significa che il possibile errore commesso dalla rete è stato ricondotto al livello di accettabilità e che non si giudicano più necessarie ulteriori rettifiche dei pesi. La rete neurale ha così raggiunto il suo stadio di stabilità ed è pronta per essere applicata, con un alto grado di efficienza, allo studio di casi reali.

Le reti neurali, qualora il campo di applicazione sia quello economico-finanziario, presentano una serie di vantaggi significativi; prima di tutto il modello ha un’ottima capacità di

53

55

adattamento nel caso in cui si verifichino dei mutamenti nell’ambiente circostante (tramite la rettifica dei pesi delle relazioni).

Un altro vantaggio riguarda la resistenza al rumore, ovvero la capacità di trattare con dati incompleti o influenzati da un grado di incertezza elevato; a questo si aggiunge poi la bassa sensibilità del modello alla presenza di outliers nel campione.

Un ulteriore vantaggio è riscontrato nella velocità computazionale del modello, ossia l’estrema celerità con cui avviene la fase di esecuzione poiché i calcoli eseguiti dai vari neuroni sono basilari (somme pesate e definizioni di valori di soglia).

Punto a sfavore del modello, invece, è costituito dal processo di apprendimento; in effetti per giungere alla formulazione finale sono necessari tempi lunghi e molti esempi in grado di calibrare il modello.

Lo svantaggio più significativo delle reti neurali è rappresentato dalla mancanza di una teoria rigorosa in grado di definire la struttura ottimale da utilizzare nell’affrontare i diversi problemi, il numero di strati e di neuroni per ogni strato, i valori iniziali dei pesi, la funzione di attivazione più consona e molti altri aspetti di funzionamento.

Per concludere si può affermare che le reti neurali possono costituire un modello molto utile nel valutare il rischio d’insolvenza delle imprese grazie alla loro estrema flessibilità nell’adattarsi a situazione mutevoli o difficilmente riconducibili ad una rappresentazione matematica, tuttavia per minimizzare gli eventuali errori durante la classificazione è necessario che il numero di input e di esempi forniti alla rete sia il più grande possibile.