33
CAPITOLO 5 ________________________
Validazione della TME
mediante le Random Neural Network
5.1 La rete di Backbone Abilene
La conoscenza di topologie di rete reali è molto importante, la topologia infatti è un aspetto molto importante per validare i modelli RNN creati per la stima della matrice di traffico.
Nel mio lavoro di tesi è stata utilizzata come rete di validazione la rete Abilene.
Figura 5.1- La rete Abilene
34
Abilene Network era una rete di Backbone ad alte prestazioni creata dalla comunità di Internet2. Nel 2007 il nome Abilene fu sostituito in quanto l’infrastruttura della rete è stata modificata passando alla fibra ottica, attualmente è conosciuta come Internet2 Network.
Il nome Abilene è stato scelto a causa della somiglianza del progetto, per ambizione e portata, al railhead Abilene, Kansas, che nel 1860 rappresentava la frontiera degli Stati Uniti per le infrastrutture ferroviarie della nazione.
La rete Abilene , essendo una rete di ricerca è nota in tutte le sue caratteristiche: è costituita da 12 router, che coprono geograficamente gli Stati Uniti ed è costituita da costituito da 15 link unidirezionali, 30 bidirezionali, che ne consentono la piena connettività. Ci sono 12x11=132 flussi OD di cui 11 silenziosi.
La matrice di traffico (TM) per la rete Abilene è accessibile e disponibile, essa contiene 121 colonne corrispondenti agli 11 flussi OD e 12x24x7 =2016 righe corrispondenti al campionamento fatto ogni 5 minuti per una settimana;; l’unità di misura è 100 bytes/5min.
Il traffico che attraversa i vari flussi OD sono molto diversi tra loro come mostra le fig.5.2_a-b-c-d
.
Figura 5.2_a- Traffico di tipo 1
35
Figura 5.2_b- Traffico di tipo 2
Figura 5.2_c- Traffico di tipo 3
36
Figura 5.2_d- Traffico di tipo 4
La figura 5.2_a mostra un traffico che rimane quasi costante per circa metà del periodo di osservazione per poi avere una brusca diminuzione, mentre il traffico della figura 5_2_b ha un andamento che sembra quasi periodico.
Le figure 5.2_a e b invece mostrano un traffico altamente instabile nel tempo.
Questa eterogeneità del traffico che attraversa i diversi flussi OD da alla mia ricerca un valore aggiunto, sembra infatti che tali flussi possono influire negativamente sulla stima dell’intera matrice e sicuramente rendono la stima difficile da fare.
5.2 Simulazioni Matlab
La rete Abilene è costituita da 121 flussi OD per ognuno dei quali ho impostato una RNN.
Per ciascuna rete, bisognava definire il numero di nodi di ingresso 𝐼 , il numero dei nodi
nascosti 𝐻 e il numero di nodi di uscita 𝑂. Lo studio fatto da Casas in [30], ha stabilito che
in numero di nodi di uscita per le RNN è sempre 1, mentre il numero ottimale di nodi
nascosti è tra 4 e 9, quindi ho impostato tale valore a 6. Il numero dei neuroni di ingresso
invece dipende dalla matrice di routing 𝐴, in particolare il valore di 𝐼 , per ciascun flusso
OD 𝑘-simo, corrisponde al numero di 1 che si trovano sulla colonna 𝑘-sima della matrice
di routing. Tutte le simulazioni effettuate sono state fatte mantenendo fissi il numero di
nodi. La prima fase delle simulazioni consiste nella fase di training (addestramento). I
37
parametri liberi, quelli cioè che possiamo controllare, si possono modificare solo in questa fase e sono:
Il valore di soglia della funzione errore perché l’algoritmo del gradiente si fermi.
Il numero di iterazioni massime per l’algoritmo del gradiente
Il rate di apprendimento, ovvero il rate con cui ad ogni iterazione la matrice dei pesi modifica i suoi valori
Il training set, cioè il numero di campioni su cui si effettua l’addestramento.
Per una prima analisi ho mantenuto fissi il rate di apprendimento 𝜂 , il numero di campioni del trainin set 𝑡 ,e il numero massimo di iterazioni in particolare ho impostato
•
𝜂 = 0.1
•
𝑡 = 288 , pari ad un giorno di osservazioni.
•
#𝑖𝑡𝑒𝑟𝑎𝑧𝑖𝑜𝑛𝑖 = 600
Ho poi fatto variare il valore dell’MSE (figure 5.3)
Figura 5.3.a- MSE=10^-3
38
Figura 5.3.b- MSE=10^-4
Figura 5.3.c- MSE=10^-5
39
Figura 5.3.d- Confronto tra le fig.5.3 a-b-c
Come mostrano le figure (5.3.a-b-c) il diminuire del valore della soglia dell’MSE massima in fase di training fa convergere il valore medio dell’MMSE a 0, nonostante le escursioni tra una simulazione ed un'altra non sono elevate.
L’MMSE passa da un valore di circa il 4% ad un valore di circa 1%.
Ho poi modificato il valore del rate 𝜂 lasciando invariati gli altri parametri,quindi:
•
𝜂 = 0.01
•
𝑡 = 288 , pari ad un giorno di osservazioni.
•
#𝑖𝑡𝑒𝑟𝑎𝑧𝑖𝑜𝑛𝑖 = 600
40
Figura 5.4.a- MSE=10^-3
Figura 5.4.b- MSE=10^-4
41
Figura 5.4.c- MSE=10^-5
Figura 5.4.d- Confronto tra le fig.5.4 a-b-c
Come mostra la figura (5.4.d) quando 𝜂 = 0.01 il valore medio dell’MMSE è insensibile al
diminuire del valore della soglia dell’MSE massima in fase di training, le curve infatti sono
quasi sovrapposte.
42
Figura 5.5. - Confronto tra le simulazioni a parità di valore di soglia dell’MSE
43
La figura 5.5, mostra come nonostante il tasso di apprendimento 𝜂 sia più piccolo, e quindi i pesi vengano aggiornati in maniera più fine, la stima sia peggiore: si passa infatti da valore dell’ MMSE dello 1% a un valore del 3% per ogni simulazione a parità di valore di soglia. Questo significa che con un tasso 𝜂 = 0.1 la stima è migliore.
Tenendo conto dei risultati precedenti e del limite dell’algoritmo di non convergere ad un valore di MSE=10^-6 quando il numero di iterazioni è pari a 600, ho fatto una simulazione aumentando il numero di iterazioni in fase di training affinché l’algoritmo converga con questa funzione errore fissata:
•
𝜂 = 0.1
•
𝑡 = 288 , pari ad un giorno di osservazioni.
•
#𝑖𝑡𝑒𝑟𝑎𝑧𝑖𝑜𝑛𝑖 = 1000
•
MSE=10^-6
Figura 5.6- Plot MMSE
Come si nota nella fig.5.6 il valore dell’MMSE è quasi nullo, il che è un risultato stupefacente.
Confrontando le simulazioni che hanno dato i risultati migliori otteniamo la fig. 5.7:
44
Figura 5.7- Confronto tra simulazioni migliori
Dalla fig.5.7 si evince che le due curve convergono entrambe a zero, ma la curva blu mostra una attenuazione dei picchi che nella curva verde sono più evidenti.
Tali picchi sono evidenti in tutte le simulazioni, negli stessi istanti di tempo, questo indica delle anomalie del traffico, dovute ad un sovraccarico non prevedibile.
Considerando il fatto che per effettuare il training, quando si passa da un numero massimo di iterazioni pari a 600 , per arrivare alla soglia di MSE = 10^-5, ad un numero di iterazioni uguale a 1000, per raggiungere la soglia di MSE = 10^-6, il tempo di calcolo è quasi doppio, la soluzione migliore è certamente la configurazione:
•
𝜂 = 0.1
•
𝑡 = 288 , pari ad un giorno di osservazioni.
•
#𝑖𝑡𝑒𝑟𝑎𝑧𝑖𝑜𝑛𝑖 = 600
•