• Non ci sono risultati.

Costruzione di una ESN

2.4 Echo State Network

2.4.5 Costruzione di una ESN

Questa Sezione descrive la procedura generica di costruzione del reservoir ed elenca alcune delle linee guida pi`u importanti per ottenere delle buone ESN, dato un certo task.

2.4.5.1 Procedura standard

La seguente procedura `e comunemente utilizzata per costruire il reservoir. Algorithm 1 Costruzione del reservoir

1: Costruire in modo casuale una matrice sparsa W0∈ RNx dei pesi del reservoir

2: Calcolare ρ (W0)

3: Costruire una nuova matrice W1=

1 ρ (W0)

W0; si ha che ρ (W1) = 1

4: Scegliere un valore ρd∈ (0, 1] e costruire la matrice W = ρdW1; si ha che ρ (W) = ρd

La scelta del raggio spettrale ρd per la matrice W `e di importanza cruciale per il trai-

ning ESN [15]. A prescindere da come si costruiscono le matrici Win e Wfdb, seguendo

la procedura in Algoritmo 1 per la costruzione del reservoir, si ottiene nella maggior parte delle applicazioni una ESN valida [15].

In generale i pesi delle connessioni nelle matrici Win e Wfdb sono scelti da una di-

stribuzione uniforme dagli intervalli [−cin, cin] e [−cf db, cf db], dove cin e cf db sono iper-

parametri di scalatura. La scelta casuale dei pesi delle connessioni di input e/o di feedback consente ad ogni unit`a del reservoir di avere una propria interpretazione del segnale in arrivo al reservoir.

Infine si vuole precisare che la scelta se utilizzare Win e/o Wfdb dipende dal task in

questione e in alcuni casi il modello pu`o includere entrambe; ci`o aumenta di conse- guenza la potenza del Reservoir Computing in quanto la dinamica fissata e casuale sulla quale conta non `e pi`u guidata soltanto dall’input; tuttavia sorgono problemi di stabilit`a numerica [29].

2.4.5.2 Linee guida

La procedura standard per la costruzione delle ESN, insieme con la funzione di transi- zione di stato fx costruita in (2.9), evidenziano la presenza di numerosi iper-parametri

la cui funzione `e, oltre che diversa per ciascuno, fondamentale per produrre una buona ESN per il task da affrontare. Ci sono delle linee guida generiche che possono essere prese in considerazione quando si devono impostare tali iper-parametri per un dato task [29].

Dimensione del reservoir Il numero delle unit`a del reservoir `e un iper-parametro che pu`o essere reso molto grande data l’efficienza delle ESN se paragonate agli approcci standard RNN. Pi`u `e grande lo spazio degli stati pi`u `e facile trovare una combinazione lineare dei segnali in x(t ) per approssimare ˆy (t ). La dimensione del reservoir determina la complessit`a dello stesso, cos`ı come il numero di parametri liberi del modello.

Densit`a di W Le raccomandazioni originariamente date per questo iper-parametro sono quelle di fornire una matrice W sparsa (non pi`u del 20% di pesi non nulli) in modo da avere segnali debolmente accoppiati in x(t ); se si fissa un numero di connessioni uscenti per ogni unit`a del reservoir, il costo computazionale degli aggiornamenti della rete cresce solo linearmente al crescere di Nx.

Distribuzione dei parametri non nulli Come detto W `e una matrice sparsa i cui parametri non nulli sono scelti in maniera casuale da una distribuzione che a seconda delle esigenze pu`o essere uniforme simmetrica, discreta binomiale o normale centrata sullo zero; la distribuzione considerata in questa tesi `e quella uniforme (simmetrica intorno allo zero) per tutte le matrici. Dato che, come spiegato in Algoritmo 1, i pesi originali della matrice W0 sono scalati in modo da avere ρ (W) = ρd, l’ampiezza della

distribuzione da cui essi sono casualmente scelti inizialmente non ha importanza.

Linearit`a della funzione di attivazione del reservoir Un aspetto da non tra- scurare `e la tipologia di funzione di attivazione utilizzata nel reservoir. Essa dovrebbe riflettere la natura del task ed `e stato sperimentato che i reservoir lineari sono veloci da simulare ma spesso offrono prestazioni inferiori, paragonati a quelli non lineari [23]. Tuttavia, come analizzato in [30], essa `e fortemente legata anche alla capacit`a di me- moria a breve termine (short-term memory) della ESN, facendo emergere il cosiddetto dilemma tra la linearit`a e la capacit`a di memoria di quest’ultima.

Scaling dei parametri di input Lo scaling dei parametri presenti nella matrice Win (in breve input scaling, denotato con cin) `e uno degli iper-parametri che giocano

un ruolo chiave nell’applicare la ESN con successo ad un dato task. Il ruolo di cin `e

particolare per task affrontabili tramite un modello lineare, cin dovrebbe essere piccolo

in modo che le unit`a del reservoir operino nell’intervallo di valori in cui la tanh (nel caso di reservoir non lineare) `e quasi-lineare; viceversa un valore di cin grande determina

la saturazione delle unit`a del reservoir verso gli estremi del codominio della funzione non lineare considerata. Delle considerazioni simili possono essere fatte anche per la matrice Wfdb.

Raggio spettrale Uno dei pi`u importanti iper-parametri legati alla ESN `e il raggio spettrale desiderato di W che in questo lavoro `e denotato con ρd; in genere il valore di

partenza per ρd `e 1. Un principio valido `e che ρd dovrebbe essere vicino a 1 per task

in cui l’output y (t ) dipende da una storia estesa dell’input s, e vicino a 0 per task in cui l’output y (t ) dipende pi`u dalla storia recente dell’input. Come dimostrato in [31] il raggio spettrale determina la stabilit`a delle attivazioni del reservoir.

Leaking decay rate Il decay rate a pu`o essere visto come la velocit`a dell’aggior- namento del reservoir: se a `e vicino a 0 esso induce una lenta dinamica nel reservoir. Impostare questo valore `e equivalente a ricampionare s e ˆy quando i segnali sono lenti [28]. Esso `e un ulteriore iper-parametro da regolare, ma in linea di massima dovrebbe rispecchiare la velocit`a della dinamica di s e/o ˆy.

Dalle linee guida appena elencate, ci`o che risulta evidente `e che cin, ρd e cf db forni-

scono la loro influenza nel calcolo della transizione di stato, cio`e quanto x(t ) dipende da u(t ), x(t −1) e ¯y(t −1), rispettivamente.

Si conclude questa Sezione, precisando che alcune delle linee guida appena esposte si affidano alla capacit`a di inviduare le caratteristiche del task che possano influenzare la scelta dei valori per i relativi iper-parametri; ma questa attivit`a `e tutt’altro che banale anche per i pi`u esperti in Reservoir Computing i quali delle volte non possono fare a meno di affidarsi ad esperimenti di tipo trial-and-error per regolare gli iper-parametri, tramite una rigorosa procedura di selezione del modello.