Reti neurali
(1)
Sto seguendo con grande interesse il tuo sito e i tuoi interventi sul
newsgroup, sempre interessanti. Mi ha colpito però particolarmente il tuo
progetto con le reti neurali. Seguirò ovviamente i tuoi aggiornamenti
(compatibilmente con gli impegni...)! Ero interessato a partecipare, ma
sono completamente a digiuno in materia. Ne ho sentito parlare a volte in
facoltà (ti ricordo che sono uno studente di Ingegneria Elettronica
all'Università di Perugia), ma niente di più che... voci di corridoio...
Pensi che con il tuo aiuto online io possa partecipare? Oppure occorrono
già delle conoscenze? Pur non avendo una vera e propria capannina
meteorologica "come Dio comanda" (magari potessi...), qualche
parametro meteo sono in grado di registrarlo (con tutte le precauzioni del
caso...). Fammi sapere, ciao! (Fabio)
|
(15 settembre 2000) Caro Fabio, il mio è un intento sia sperimentale
ma soprattutto didattico. Siccome penso che ne valga la pena, amplierò
tutta la parte del mio sito dedicata alle reti neurali, pubblicando quasi
in tempo reale i risultati delle varie sperimentazioni. Anche se
falliscono, l'importante sarà aver capito il funzionamento delle reti. In
merito alla complessità, non c'è dubbio, ma solo se il discorso viene
affrontato analiticamente. Per il momento questo non rappresenta il mio
scopo. L'uso di un applicativo semplice come Neural Planner unitamente
alle mie spiegazioni ti aiuterà a comprenderne il funzionamento e a
renderti conto che poi ... non è così complicato come può sembrare
(anche se qualcuno, magari proprio nelle università, vorrebbe farla
passare come roba da scienziatoni!). Ti renderai conto, forse, che può
trovare utili applicazioni anche nel campo dell'elettronica, ovvero
laddove la rappresentazione matematica di un fenomeno risulta troppo
complessa a causa della non linearità degli elementi in gioco (come
talvolta accade tra la risposta di un componente in condizioni reali
rispetto a quella teorica).
|
(2) Ma cosa significa "rete neurale"?
|
(17 settembre 2000) Una rete neurale (neural network) è
un tipo di "intelligenza artificiale" basato su alcune (poche)
similitudini più o meno formali con la struttura del cervello degli
esseri viventi. Essa simula il modo di ragionare che è proprio dei
viventi, cercando di imparare dai propri errori correggendo il tiro. In
definitiva, si tratta di un modo di esaminare i dati in maniera non
lineare mediante l'utilizzo di opportuni algoritmi. Essa trova utile
applicazione in tutti quei campi in cui è molto difficile applicare una
funzione matematica. Ad esempio, se disegno una sinusoide, grazie alla
funzione y = sin(x), sarò in grado in ogni momento di determinare
l'esatta posizione di un punto sulla sinusoide stessa. Questa funzione è
completamente soddisfatta dalla sua rappresentazione matematica. Però vi
sono in natura fenomeni che non possono essere descritti mediante una
legge matematica, per quanto complessa possa essere. Ebbene, in questi
casi si deve far ricorso ad altro. Ad esempio alle reti neurali. Una rete
neurale impara attraverso un addestramento fatto di esempi. Con gli
esempi, si dice alla rete come sono andate le cose in un determinato
numero di casi. La rete, una volta addestrata, è in grado di
generalizzare quanto ha appreso, acquistando l'abilità a rispondere in
modo coerente alle domande che le vengono poste. Un esempio chiarirà il
concetto: tre allegre fanciulle sono solite andare in campagna a
raccogliere fiori. Ciascuna di loro ha una determinata preferenza per un
certo fiore di un certo colore, ma non si limita a raccogliere solo
quello. Inoltre la sua scelta è determinata in parte dal vestito che
indossa in quel momento. La rete neurale, esaminando una opportuna
quantità di cestini associata ai vestiti, impara a riconoscere
esaminandone il contenuto, a quale delle tre ragazze appartiene un cestino
x, avendo imparato durante l'addestramento a dare un giusto
"peso" ad ogni tipo di fiore presente nel cestino in relazione
al vestito indossato. Le applicazioni di questo metodo sono molto
numerose. In meteorologia, dove abbondano relazioni apparentemente non
lineari, si possono adottare le reti per esaminare numerose situazioni. Da
quanto detto, possiamo definire una rete neurale come una serie di
procedure atte ad interpretare eventi non rigidamente correlati fra loro.
E ci si può divertire, perché è molto ma molto meno complicato di
quanto possa sembrare. Credetemi.
|
(3) Ma in pratica per iniziare "questo gioco" cosa occorre,
un programma? Quale. Dei dati? Quali , Quanti?
|
(20 settembre 2000) OK! OK!
Comincia a dare un'occhiata alla pagina
http://digilander.iol.it/vvillas/reti_neurali_e_previsioni_del_te.htm
(Nota: informazioni più aggiornate sono disponibili presso il sito www.villasmunta.it).
Ci troverai anche il software per iniziare.
Le applicazioni sono virtualmente infinite. Se segui il tempo dalle tue
parti e hai percepito un'intuizione sulla natura correlativa di alcuni
fenomeni, la rete neurale fa al caso tuo, perché può aiutarti a trovare
la "regola".
I dati possono essere relativi a uno o più parametri meteorologici. La
quantità di dati è relativa, e spesso è limitata dalle capacità del
software impiegato.
Faccio un esempio: hai notato che quando il vento è calmo durante la
notte, e non sono attese perturbazioni, il vento si mantiene entro 8-10
nodi durante il giorno, con un picco intorno alle 13 locali. Mentre se il
vento di notte mantiene un'intensità di 10-12 nodi, durante il giorno si
osserva vento teso sui 18-22 nodi e raffiche, con punta massima intorno
alle 14. Bene! Hai materiale da dare in pasto alla tua rete. E'
sufficiente addestrarla. Come?
Inserirai le tue precedenti osservazioni, poniamo alle 03, 04, 05, 06, 07,
08, 09 e poi gli dirai che vento è risultato alle 10, 11, 12. Se c'è una
effettiva "regola", la rete la individua, sicché quando
introdurrai le osservazioni fino alle 09, otterrai una previsione per le
10, le 11 e le 12.
Attualmente sto sperimentando la capacità della rete a prevedere la
temperatura massima e quella alle 21 interrogandola con le osservazioni
della temperatura alle 06,09,12. La sperimentazione è pubblicata quasi in
tempo reale nella seguente pagina:
http://digilander.iol.it/vvillas/previsione_della_temperatura_mas.htm.
Non è detto che la rete possa "funzionare" subito, o sempre.
Tuttavia credo valga la pena di provarci, mettendo in conto,
ovviamente, anche qualche delusione.
|
(4) Ho letto i suoi interventi sul news-group sull'utilizzo delle reti
neurali per la previsione della temperatura. Sono contento che abbia
ottenuto buoni risultati . Le reti neurali come l'applicazione di altre
tecniche di modellizzazione necessitano, secondo me, oltre di una
conoscenza del problema fisico-ambientale, di una buona conoscenza del
loro funzionamento, delle loro capacità e dei loro limiti. La difficoltà
in molti casi è nella scelta (nella pre-elaborazione) dei dati per
l'apprendimento in maniera opportuna per rendere "generali" le
reti. Nel suo sito ho visto la sperimentazione che sta conducendo, e i
risultati mi sembrano interessanti. Per mia curiosità volevo sapere
l'architettura della rete e quali erano gli altri parametri meteo
disponibili della stazione di Gioia del Colle.
|
(28 settembre 2000) In effetti, la sperimentazione sembra dare buoni
risultati, anche se è presto, prestissimo, per giungere a conclusioni
comunque positive. La rete possiede un'architettura semplicissima, di tipo
classico (3 strati), e usa la retropropagazione dell'errore per
addestrarsi. Ma la semplicità non costituisce un punto di partenza, ma
d'arrivo. Il concetto (in prova) è che una rete neurale lavora meglio se
tratta oggetti semplici, non potendosi permettere ancora il lusso di
simulare efficientemente l'approccio analogico ai problemi tipico della
mente umana. I dati di osservazione tipicamente disponibili sono direzione
ed intensità del vento, pressione, temperatura effettiva e di rugiada,
copertura del cielo in ottavi e fenomeni significativi. Ulteriori dati
disponibili: temperatura di bulbo bagnato, precipitazioni. Questi
parametri non forniscono attualmente input alla macchina. La scelta di
semplicità forse appare troppo ingenua, ma l'idea consiste nel capire
sperimentalmente fino a che punto una rete neurale è in grado di
"comprendere" (e generalizzare) come evolverà la temperatura
riconoscendone l'andamento dalla sua "storia". In questa
direzione rientra anche la scelta di limitare gli esempi a periodi ben
definiti dell'anno (in genere, un mese). Grazie per l'attenzione
accordatami. Un cordiale saluto da Vittorio Villasmunta
|
(5) Vorrei sapere tanto quando continuerai con le lezioni sulle reti
neurali.
IO sono arrivato alla seconda lezione e mi piacerebbe tanto completare il
corso che tu egregiamente porti avanti.
Ti ringrazio per la tua disponibilità e a presto. (Lorenzo)
|
(10 ottobre 2000)
Sfortunatamente ho dovuto temporaneamente sospendere la preparazione delle
lezioni a causa di onerosi impegni di lavoro. La terza lezione è quasi
pronta e conto di pubblicarla al più presto.
A proposito, cosa ne pensi delle prime due, sono sufficientemente chiare?
|
|