Gli approssimatori non lineari, di cui forniremo nel seguito alcune basi teoriche, possono
essere utilizzati per approssimare funzioni tipiche della teoria del controllo, quali funzioni
di costo o di controllo ottimo.
In questo capitolo saranno analizzati vari schemi di approssimazione, introducendo criteri di
confronto basati sulla loro complessità (in termini computazionali e di ingombro di memoria),
che permetteranno di constatare la bontà degli schemi non lineari rispetto a quelli lineari.
Nel seguito, fra le varie reti approssimanti, descriveremo in dettaglio due particolari classi,
le Multilayer Feed-forward Neural Networks e le Radial Basis Functions,
distinguibili per le caratteristiche delle unità e/o per il modo in cui queste sono connesse
tra loro. Le prime verranno poi scelte per la nostra implementazione al calcolatore.
Nella ricerca di metodi approssimati capaci di risolvere problemi di controllo ottimo, come ad
esempio il problema del controllo ottimo a N stadi, un possibile approccio consiste nel sostituire
al problema originario problemi approssimati di più agevole definizione e risoluzione.
Per formalizzare questi sotto-problemi usiamo funzioni approssimanti dotate di una struttura
fissata, dove occorre determinare il valore di un dato numero di parametri attraverso metodi
di programmazione non lineare, al fine di minimizzare un costo che quantifica, in un qualche
modo, la differenza tra la funzione e la sua realizzazione.
Poniamo quindi:
con funzione da approssimare,
vettore di stato,
funzione di struttura fissata,
e
vettore dei parametri di dimensione
finita da determinare, ed assegnamo alla j-esima componente della funzione
la struttura:
dove è la dimensione della funzione da
approssimare,
una data funzione di base,
mentre i
e le componenti di
sono i parametri da determinare.
Sia ora il vettore così strutturato:
Definendo poi l’insieme parametrizzato
di tutte le funzioni, le cui componenti hanno la forma data in (1.2), si ottiene:
dove è l’insieme dei valori ammissibili
per i parametri, secondo i limiti stabiliti dall’insieme S. Si può allora affermare che
la sequenza degli insiemi
al variare del
parametro
ha una struttura annidata di
questo tipo:
Si assuma che lo spazio all’interno del quale cerchiamo le funzioni da approssimare sia dotato
di norma . Inoltre le funzioni
siano tali che l’insieme
sia denso in S.
Sotto queste ipotesi, definiamo allora reti approssimanti le funzioni
le cui componenti hanno la forma in (1.2)
e che sono dotate della proprietà di densità. La complessità in termini computazionali e di
ingombro di memoria di una rete così definita è riconducibile alla dimensione del vettore dei
parametri da ottimizzare
.
Nel caso in cui le funzioni da approssimare siano continue su un insieme compatto K,
la proprietà di densità ci porta a definire formalmente una “rete approssimante” nel modo
seguente:
Definizione 1 Una rete approssimante nella forma (1.2) si dice di
Weierstrass se, data una funzione continua ,
per ogni ,
con
, esistono vettori di parametri
tali che:
La disuguaglianza (1.5) assicura l’esistenza, per ogni funzione continua, di una rete
approssimante (1.2), dalla quale si ottiene un’approssimazione, a meno dell’errore
, della funzione stessa.
L’impiego pratico di questi strumenti, talvolta anche definiti “approssimatori universali”,
richiede qualche ulteriore precisazione in merito alle tecniche di costruzione delle funzioni
base parametrizzate .
La procedura più diffusa consiste nel derivare le funzioni base da una singola funzione
monodimensionale o da una famiglia di funzioni monodimensionali. Fra le tecniche più usate,
ricordiamo:
1) Tensor product construction:
dove sono le
componenti del vettore
,
con .
È usata nella costruzione di funzioni base polinomiali e splines per l’approssimazione
multidimensionale basata su griglie.
2) Ridge construction:
Ad esempio, nel caso delle reti neurali Multilayer Feedforward con uno strato nascosto,
la j-esima componente della rete è:
dove è la funzione di attivazione,
solitamente sigmoidale.
3) Radial construction:
dove rappresenta
la j-esima colonna della matrice
.
Ad esempio, nelle Radial Basis Function, la j-esima componente è scrivibile
come segue:
Le reti approssimanti così ottenute godono della proprietà di densità nei due spazi che abbiamo
definito, il che ne giustifica l’appartenenza alla classe delle reti approssimanti di Weierstrass.
L’approssimazione multivariabile mediante funzione base costruite con la “tensor product”, basata
su griglie, è usata raramente in problemi con una dimensione non modesta. Invece, la ridge
e la radial construction pongono meno limiti alle dimensioni del problema.
Nel caso in cui soddisfino la proprietà di densità, abbiamo visto che le reti approssimanti
possono essere usate come “approssimatori universali”. Ma ciò vale anche per i più “classici”
approssimatori lineari, definibili come:
dove le sono funzioni base linearmente
indipendenti.
La caratteristica che invece fa la differenza e che rende interessante l’uso delle reti, rispetto
all’altra classe di approssimatori, è il comportamento del “rate dell’approssimazione”, ovvero la
relazione fra l’accuratezza dell’approssimazione ricavabile da un dato schema approssimante e la
complessità di tale schema in termini computazionali e di ingombro di memoria, quantificabile
considerando la dimensione del vettore dei parametri.
Una relazione di questo tipo “misura” quanto rapidamente l’errore di approssimazione vada a zero
al tendere all’infinito della dimensione del vettore dei parametri. Un esempio sono le reti
neurali Feedforward, impiegate per approssimare, con un numero in alcuni casi molto limitato di
parametri, funzioni di decine di variabili. Prima di parlare del “rate” è utile introdurre alcune
definizioni che permettono di effettuare ora in modo efficiente confronti fra i vari schemi di
approssimazione.
Considerando un insieme S, sottoinsieme di uno spazio normato H i cui elementi
siano funzioni scalari , definiamo la
deviazione di S dall’insieme A come:
dove è la norma dello spazio H.
Quindi
misura l’errore di approssimazione
di funzioni appartenenti all’insieme S mediante funzioni appartenenti ad A,
valutando sempre la funzione peggio approssimata.
Sia dato ora un insieme di funzioni parametrizzate ,
dal quale trarre le funzioni approssimanti. Quando lo schema di approssimazione
è lineare e l’insieme S delle
soluzioni ammissibili è anch’esso uno spazio lineare, allora ognuno degli insiemi
è un sottoinsieme parametrizzato di H.
è ottenuto selezionando dagli elementi di
un sottospazio
-dimensionale quelli che soddisfano i vincoli
che definiscono l’insieme S delle soluzioni ammissibili. In questo caso si ha:
poiché .
Per ottenere un limite inferiore per il rate del miglior schema di approssimazione lineare
nell’approssimazione di funzioni appartenenti all’insieme S, possiamo allora definire
la quantità:
in cui l’inf viene eseguito rispetto a tutti i sottoinsiemi
-dimensionali
di H, cioè su tutti gli schemi di
approssimazione lineari. Nel caso non lineare è possibile confrontare i “rate di approssimazione”
di due diversi schemi di approssimazione non lineari
e
, in termini delle due deviazioni
e
.
Se invece si desidera confrontare uno schema di approssimazione non lineare con il migliore schema
lineare, allora si fa riferimento a e
. In generale l’errore espresso da
e da
, per una fissata complessità nu,
cresce con la dimensione n, e perciò l’obiettivo è quello di evitare schemi nei quali
tale crescita sia troppo rapida, cioè richieda, per grandi valori di n, un numero
eccessivamente elevato
di funzioni base.
Alla luce di quanto detto, il “rate di approssimazione”, utile per un paragone fra differenti
schemi di approssimazione, può essere definito anche considerando il comportamento dell’errore nel
caso peggiore, ovvero per la funzione peggio approssimata, in dipendenza da
e n.
Dal momento che espressioni esatte per questa dipendenza sono ottenibili soltanto in casi
particolari, il confronto può essere effettuato sulla base di limiti superiori noti per questo
errore.
Si dice pertanto indipendente dalla dimensione un rate di approssimazione per il quale
esiste un limite superiore con
e C costante indipendente da
e n. Quando invece il miglior
limite superiore ottenibile ha una forma del tipo
,
dove C’ è una costante sempre indipendente da
e n, allora per commettere nel
caso peggiore un errore
, possono essere
richieste funzioni approssimanti di complessità
.
Una tale dipendenza esponenziale dalla dimensione n dà origine alla maledizione della
dimensionalità e uno schema di approssimazione affetto da questo problema è inapplicabile su
grandi dimensioni. Questa sostanziale differenza di comportamento distingue schemi ammissibili
da schemi non ammissibili e può essere quindi impiegata come criterio per scegliere un
tipo di rete approssimante piuttosto che un altro per la soluzione di problemi di ottimizzazione,
sebbene in generale questa distinzione così netta non sia semplice da effettuare.
Tipicamente C e C’ sono costanti rispetto a
, ma dipendono invece dalla dimensione
n. Quando tali valori mostrano una crescita rapida con n, il limite superiore
perde sempre più significato al crescere della dimensione.
Data ora la seguente classe di funzioni da approssimare
dove:
·
· è la trasformata di fourier di
· c è uno scalare positivo finito
si dimostra [1] che, utilizzando lo schema approssimante
rappresentato da reti neurali feedforward
sigmoidali su funzioni da approssimare appartenenti a questo insieme si ottiene:
Teorema 1 (Barron 1993) :
In , dove
è la sfera di raggio unitario in
,
essendo l’insieme definito in (1.15)
e C = 2c.
Da ciò segue un importante risultato: il numero di parametri richiesto da una rete neurale
feedforward sigmoidale per ottenere in
un errore di approssimazione dell’ordine di
è
, ovvero cresce soltanto linearmente con
la dimensione n del vettore di stato.
Nello stesso articolo, si dimostra che nell’insieme
gli schemi lineari possono comportarsi
in modo peggiore, fino a richiedere una crescita esponenziali di
con n (maledizione della
dimensionalità) per mantenere contenuto l’errore di approssimazione.
Gli importanti risultati ottenuti in [1], sebbene rappresentino comunque un primo tentativo per il
confronto di schemi lineari e non lineari nell’approssimazione di una vasta classe di funzioni,
non bastano però a spiegare completamente il migliore comportamento delle reti approssimanti
neurali in sistemi di dimensione elevata, dal momento che c potrebbe anche crescere
esponenzialmente con n.
Tuttavia, recenti direzioni di studio (per esempio, si vedano [2], [3] e [4]) sembrano confermare
la bontà degli approssimatori non lineari rispetto a quelli lineari, portando perciò a concludere
che, dato uno schema non lineare rappresentato da una rete approssimante
, sotto opportune ipotesi esiste un insieme
di funzioni B, dipendente dallo schema
, tale che:
1) ottiene per le funzioni appartenenti
a B un rate indipendente dalla dimensione
2) il miglior schema lineare di approssimazione ha, per le funzioni appartenenti allo stesso
insieme, un rate limitato inferiormente da un valore che può dipendere esponenzialmente dalla
dimensione.
Quindi, per questo insieme di funzioni si ha:
Se C’ non tende a zero con la dimensione n, quando per esempio non dipende da
essa, allora per le funzioni appartenenti all’insieme B qualsiasi schema di
approssimazione lineare è affetto dalla maledizione della dimensionalità, diversamente
dall’approssimazione con “rate” indipendente dalla dimensione ottenuta dallo schema
per lo stessa classe di funzioni.
Una seconda direzione di ricerca, sempre a riguardo di un confronto generale fra rate di
approssimazione, è incentrata su un risultato relativo agli approssimatori lineari e non lineari
parametrizzati (con dipendenza continua dei parametri dalla funzione da approssimare), noto come
“Jackson rate”.
Si dimostra infatti che, se la funzione da approssimare è derivabile con derivate continue fino
al grado s ed ha n variabili, non è possibile ottenere un’approssimazione con
accuratezza migliore di:
detto Jackson rate, con p numero dei parametri. In questo modo, quando il
coefficiente di regolarità s della funzione viene fatto crescere con la dimensione
n, è possibile ottenere una stima non esponenziale del limite superiore del numero
di parametri necessari.
Sebbene il risultato della (1.20) rappresenti un limite inferiore stretto per gli schemi di
approssimazione lineari, può non esserlo per quelli non lineari. Infatti, il Jackson rate
viene ricavato per gli approssimatori non lineari parametrizzati con dipendenza continua dei
parametri ottimi dalla funzione da approssimare, caratteristica che si rivela non necessaria
per la costruzione di uno schema non lineare, dove potrebbe non essere valido un limite
inferiore come quello stabilito in (1.20) e il suo rate allora risultare migliore.
Riassumendo, in spazi caratterizzati da particolari requisiti di regolarità delle funzioni e
delle loro derivate parziali, gli approssimatori non lineari sono in grado di raggiungere
gli stessi rate di convergenza di quelli lineari, nel caso in cui si restringa la trattazione a
considerare solo quegli schemi i cui parametri presentano una dipendenza continua dalla
funzione da approssimare.
Quando invece si considerano i casi con dipendenza non continua, è possibile che fra questi si
possano ottenere tassi di convergenza anche migliori. Al contrario esistono insiemi di funzioni
nei quali gli schemi di approssimazione lineari presentano il problema della maledizione della
dimensionalità, laddove esiste almeno uno schema non lineare che permette di ottenere un tasso
di convergenza indipendente dalla dimensione.
L’utilizzo di schemi non lineari per la soluzione approssimata di problemi di controllo ottimo
si rivela quindi essere una scelta valida sostanzialmente per due motivi:
1°) da un punto di vista teorico offre la possibilità di ottenere rate di convergenza
indipendenti dalla dimensione, non solo per gli insiemi di funzioni in cui anche gli
approssimatori lineari possono riuscirvi, ma anche in quelli dove l’uso di schemi lineari
soffre della maledizione della dimensionalità
2°) da un punto di vista pratico offre buone prestazioni, sia in riferimento all’occupazione di
memoria sia per quanto riguarda la complessità computazionale, a fronte di una accuratezza
soddisfacente delle approssimazioni ottenute confrontate con quelle che si ottengono per altre vie.
La fase di addestramento prevede l’ottimizzazione dei parametri liberi (detti comunemente
pesi) della rete, che avviene risolvendo problemi di programmazione non lineare.
Se ci riferiamo all’uso delle reti approssimanti per approssimazioni di funzioni, durante
la fase di addestramento un insieme (set) di L punti, nei quali si conosce il valore
della funzione da approssimare, viene presentato in ingresso alla rete. Lo scopo è allora
minimizzare una funzione di costo J che penalizza, ad esempio, l’errore quadratico
medio fra l’uscita della rete e il valore vero della funzione valutata nei punti di
addestramento.
La funzione di costo J è perciò esprimibile come
dove:
· è l’uscita della rete la cui
j-esima componente è data nell’equazione (1.8)
· L è la dimensione del “training set”
· è l’l-esimo punto di
addestramento
· è la funzione da approssimare.
Il problema di programmazione non linerare diventa quindi:
A questo punto è possibile scegliere un algoritmo di programmazione non lineare, per esempio
il metodo del gradiente, quale tecnica per risolvere il problema di minimizzazione e portare
a buon fine il processo di addestramento.
Nell’addestramento delle reti neurali, la procedura del gradiente è nota come “back propagation”,
come vedremo nel capitolo 2.
Le Reti Neurali Multilayer Feedforward sono strutture multistrato che sottopongono una
combinazione lineare delle componenti del vettore di input all’ingresso di blocchi non lineari
di “attivazione”, le uscite dei quali vengono a loro volta poste all’ingresso di altre non
linearità, fino allo strato di uscita.
Le reti di tipo feedforward con un singolo strato nascosto sono esempi di reti approssimanti,
le cui funzioni base sono costruite mediante la “ridge construction”. Ricordiamo che la struttura
della j-esima componente di una rete multipercettrone con uno strato nascosto può essere
così definita:
Nel caso generale di un numero L di strati, la struttura globale, data dalla
interconnessione di più unità di processing, assume la forma qui mostrata nella figura 1-1:
dove:
· è il peso relativo alla p-esima
componente del vettore in ingresso al neurone q-esimo dello strato s
· è l’uscita del p-esimo neurone
dello strato s-1
· è la dimensione del vettore di ingresso
allo strato s o equivalentemente quello dei suoi neuroni
· è la funzione di attivazione, che
definisce l’output della singola unità di processing appartenente allo strato s.
Le strutture più usate come funzioni di attivazione, nonché quelle per cui valgono tutti i
risultati dati nel seguito, sono funzioni sigmoidali, ossia funzioni continue e
limitate sull’asse reale, tali che:
Un tipico esempio di funzione sigmoidale è il seguente:
il cui grafico è mostrato in figura 1-2.
Fra le altre funzioni di attivazione frequentemente utilizzate, ricordiamo:
rappresentata in figura 1-3.
Le Radial Basis Functions (RBF) consentono la risoluzione di problemi di interpolazione
multivariabile: il loro utilizzo all’interno della struttura di una rete neurale permette di
ottenere superfici nello spazio multidimensionale che forniscono un “fitting” ottimale in senso
statistico per i dati in ingresso.
La struttura della j-esima componente di una rete approssimante di questo tipo, le cui
funzioni base sono costruite mediante la “radial construction”, è la seguente:
Le reti approssimanti RBF richiedono un numero di neuroni nello strato nascosto tipicamente
molto maggiore rispetto a quello delle reti feed-forward, a fronte però di un tempo di
addestramento notevolmente più ridotto. Inoltre forniscono risultati migliori quando si hanno
a disposizione un numero elevato di punti di osservazione (cioè quando si conoscono valori veri
o approssimati della funzione in un elevato numero di punti).
La loro architettura più comune può essere così schematizzata:
La rete è composta dunque da due strati, uno nascosto e uno di uscita. In ingresso allo strato
nascosto viene presentata la norma del vettore di ingresso a cui si sottrae il vettore “centro”
della gaussiana.
I neuroni di questo strato sono caratterizzati da una funzione di attivazione gaussiana del tipo:
con:
· centro della gaussiana
· varianza.
La combinazione lineare pesata delle uscite dello strato nascosto viene portata in ingresso ad
uno strato lineare di uscita.
A questo punto occorre centrare nello spazio multidimensionale le RBF approssimanti sui punti di
osservazione (mediante lo strato nascosto), per poi modulare, tramite lo strato lineare, sui
valori della funzione in quei punti.
Alla fine la rete ottimizzata avrà un numero di neuroni dello strato nascosto (quello con funzioni
di attivazione gaussiane) circa uguale al numero di punti di osservazione.
La rete appena descritta viene addestrata con un algoritmo di tipo incrementale, dove
inizialmente lo strato nascosto è privo di neuroni, quindi ad ogni passo dell’algoritmo la rete
viene simulata e si aggiunge un’unità neurale con funzione di attivazione gaussiana, i cui pesi
vengono determinati sulla base del valore del vettore di ingresso per il quale si è riscontrato
un errore maggiore (dell’output della precedente simulazione rispetto al valore vero).
I pesi dello strato lineare vengono poi ottimizzati al fine di minimizzare l’errore. L’algoritmo
prosegue fino al raggiungimento dell’errore quadratico medio che si vuole ottenere dalla rete.
Ringraziamenti,
Introduzione,
Capitolo 1,
Capitolo 2,
Capitolo 3,
Capitolo 4,
Bibliografia