Reti neuronali artificiali (RNA)
Come lavora la RNA
Come funziona il processo di apprendimento
Il sogno originale di un computer altamente sviluppato, non era quello della
machina di calcolo raffinata dei giorni nostri, ma la simulazione dell'intelligenza
umana. Però proprio la storia dello sviluppo della cosiddetta intelligenza
artificiale (IA) è stato in realtà caratterizzato da errori
e rimbalzi - creare un'intelligenza complessa risultò più difficile di
quanto fosse stato presupposto dagli scienziati per decenni. In parecchi casi
molto particolari si ottengono però risultati soddisfacenti. Soprattutto
le reti neuronali artificiali (RNA) si sono assicurate il proprio posto
nel settore della elaborazione dei dati.
Ad un computer servono sempre istruzioni precise - un programma. Questo viene
elaborato istruzione per istruzione con un'alta precisione e velocità,
non perdonando nessun tipo di errore: i dati vengono elaborati in modo digitale,
cioè utilizzando i valori zero ed uno, Vero e Falso, senza ulteriori
possibilità.
Una rete neuronale artificiale lavora in tutt'altro modo: questa simula un
cervello, cioè un sistema nervoso. Invece di un programma possiede una
struttura di cellule (biolog.: neuroni) e collegamenti (biolog.:
sinapsi). Così come nel cervello esiste un settore che
"percepisce", nel caso dell'uomo sono i sensi che riforniscono il cervello,
i cosidetti "neuroni d'immissione" riforniscono la RNA. Negli ulteriori
strati, i cosiddetti strati coperti, si trovano cellule nervose, simili alle
cellule grigie della nostra corteccia cerebrale. Qui avviene l'apprendimento
- la "percezione dei sensi" viene elaborata. D'altra parte la RNA possiede un
"neurone di uscita" - la "bocca" del sistema, che fornisce i risultati.
In più la RNA è tollerante verso errori e può prendere decisioni.
Per questo le RNA vengono utilizzate già per individuare disegni, per
esempio per individuare dei visi: questa viene allenata con molte immagini,
e successivamente è in grado di decidere se un'immagine precedentemente
sconosciuta risulta "conosciuta" - esattamente cosi come noi siamo in grado
di riconoscere conoscenti sulla strada, anche se li abbiamo visti l'ultima volta
anni fa con un'altra pettinatura.
Naturalmente una rete neuronale è molto più piccola del cervello - per
questo riesce soltanto ad apprendere ed imparare un unico compito. Per questo
motivo utilizziamo il Distributed Computing, e distribuiamo tanti diversi compiti
ai nostri membri - per raggiungere la vastità che viene richiesta dalle
prognosi di borsa.
Come lavora la RNA - elaborazione delle informazioni
All'inizio ogni neurone (cellula nervosa) degli strati coperti e ogni collegamento
(sinapsi) riceve un valore numerico casuale -.dai neuroni vengono attribuite
le cosiddette soglie, dai collegamenti le cosiddette ponderazioni.
I neuroni d'immissione ricevono come valori iniziali i corsi d'immissione. Questi
ricevono successivamente attraverso i collegamenti una informazione che viene
ritrasmessa solo e soltanto se questo valore supera il valore di soglia del
neurone stesso. Per questo processo si dice anche che il neurone "spara".
La RNA di MoneyBee® viene
utilizzata per corsi di borsa. Centinaia di dati di borsa costituiscono i valori
che forniscono i neuroni d'immissione delle nostre reti neuronali. Questi valori
vengono immessi nella rete negli strati coperti e influenzano - tramite le ponderazioni
dei collegamenti e le soglie - il contenuto informativo dei neuroni che si trovano
fra loro e il neurone d'uscita. Allora, le informazioni attraversano la rete
passando dal neurone d'immissione al neurone d'uscita ("Forward Propagation").
Cosi i dati del passato riforniscono i neuroni d'immissione giorno per giorno
con un rapporto sulla situazione della borsa. La rete memorizza le sue esperienze
in forma di soglie e ponderazioni e reinizializza la procedura - in altre parole:
la rete analizza continuamente migliaia di dati di borsa, finché non
riconosce determinate strutture in questi dati, che sono memorizzati in forma
di valori dei neuroni e dei collegamenti.
In fondo, la RNA lavora come un uomo che segue i corsi di borsa: Si guarda
i dati di borsa, li valuta e impara dal passato. Dopo sfrutta queste esperienze,
cercando di elaborare prognosi per il futuro - però al contrario dell'uomo
la rete non conosce il significato di questi dati. Dollaro, Mibtel, DAX, DowJones
- rappresentano per la rete soltanto valori numerici. Cosi non è corruttibile
e nessun desiderio o secondo fine riesce a falsificare le prognosi. Però
alla RNA serve un metodo per apprendere.
Come lavora la RNA - il processo d'apprendimento
Fino a quando la rete neuronale non ha appreso niente le prognosi sono inattendibili,
poiché all'inizio le ponderazioni e le soglie sono state scelte casualmente.
Successivamente inizia l'allenamento della rete neuronale e l'algoritmo d'apprendimento
cambia le ponderazioni e le soglie, considerando il valore di prognosi effettivo.
Si può dire che si tratta di un tipo di apprendimento sorvegliato,
durante il quale "l'insegnante" (noi, i programmatori di MoneyBee®)
conosce il risultato (oscillazioni dei corsi del passato) e lo presenta
all'allievo (la rete neuronale) come paragone dei suoi calcoli.
Questi due fattori devono avvicinarsi il più possibile - bisogna minimizzare
la differenza. Questo è il nucleo del processo d'apprendimento: il cosiddetto
metodo "Error Backpropagation", che è stato sviluppato nel 1984.
Con questo metodo il messaggio d'errore prende la strada opposta a quella della
informazione: cioè indietro dai neuroni d'uscita ai neuroni d'immissione,
migliorando le ponderazioni e le soglie.
Questa procedura si ripete continuamente, usando sempre altri modelli (record).
Un modello completo (record) si compone dai dati d'immissione (dati di corsi)
e dai valori noti dei risultati di corsi del passato. Il ciclo è terminato
quando tutti i modelli hanno passato la rete (vedi grafico dello screen saver,
il favo sotto a sinistra). La sequenza dei modelli
all'interno di un ciclo viene scelta casualmente.
L'allenamento viene interrotto, nel momento in cui viene raggiunto un numero
fisso di cicli o un determinato tempo di calcolo oppure se non si aspettano
ulteriori miglioramenti della rete, un caso che si riconosce dal fatto che tanti
cicli di seguito non hanno portato miglioramenti. (vedi la curva di apprendimento,
grafico dello screen saver il favo sopra a sinistra).
Dopo che la rete ha finito il processo d'apprendimento è pronta per le
"vere" prognosi, cioè prognosi che si rivolgono veramente al futuro.
Per fare ciò bisogna "nutrirla" con dati attuali, cioè con corsi
d'azioni che si estendono fino al giorno attuale. Successivamente bisogna eseguire
una volta la "Forward Propagation" e si riceve subito la prognosi desiderata
- per l'allenamento delle RNA serve abbastanza tempo, ma nel caso del calcolo
stesso la velocità è nettamente superiore. Questa volta però
"l'insegnante" deve aspettare finché il periodo di prognosi è
passato, per controllare il suo "allievo". Soltanto a quel punto la qualità
delle prognosi sarà evidente. Anche questi dati vengono pubblicati su
it.moneybee.net
- perciò conviene visitare spesso le nostre pagine.
Naturalmente il singolo PC non possiede neuroni - questi vengono "simulati"
con un programma. Questo programma è come una tabella molto complessa,
nella quale i valori si possono influenzare reciprocamente secondo un algoritmo
dispendioso - una matrice complicata che possiede la capacità di apprendere.
|