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?

 


Questa pagina è stata realizzata da Vittorio Villasmunta

Ultimo aggiornamento: 29/11/14