7.1 Descrizione

Nei capitoli precedenti sono state illustrate diverse tecniche che permettono di dare risultati buoni nell'adattamento al parlatore. In particolare i risultati migliori sono forniti da J-LIN, nel caso il numero di frasi di training sia ridotto e K-LIN, che permette di selezionare ed associare uno specifico modello ad un parlatore.

Entrambe queste tecniche hanno due grosse limitazioni:

La tecnica dell'interpolazione dei pesi, va a collocarsi proprio in quell'intervallo molto importante, tra 1 e 10 frasi di addestramento, in cui le altre tecniche non offrono buoni risultati.

La teoria su cui si fonda questo metodo, anch'essa basata sulla trasformazione del modello, è nettamente diversa rispetto alle strategie utilizzate in precedenza.

Il funzionamento di una rete neurale è regolato in base ai valori dei suoi bias e dei suoi pesi. Durante l'addestramento vengono lentamente variati al fine di ridurre l'errore compiuto sul pattern dato in ingresso, aumentando le prestazioni di riconoscimento per quel determinato pattern.
Avendo poche frasi di adattamento si possono scegliere due strade:

L'idea che sta alla base della strategia dell'interpolazione dei pesi è quella di riuscire, con poche frasi di un determinato parlatore, a trovare la variazione ottimale dei pesi, da applicare a tutta la rete o a parte di essa, al fine di avere un miglioramento delle prestazioni nel riconoscimento di quel parlatore.

Un'analisi della variazione dei pesi di una rete durante il training ha messo in evidenza che:

In pratica l'ultimo livello della rete tende a far aumentare il valore del nodo riferito al pattern dato in ingresso, a discapito degli altri: è un ulteriore dimostrazione di come la rete tenda a favorire gli ultimi pattern con cui è stata addestrata. Anche l'oscillazione abbastanza irregolare dei pesi di ingresso ha suggerito e riconfermato l'ipotesi di come i pesi del primo livello siano particolarmente influenzati dal pattern che viene fornito in ingresso alla rete.

Analizzando uno specifico peso della rete, durante l'addestramento di un pattern, l'algoritmo di back-propagation calcola una variazione sub-ottimale del peso, al fine di permettere un riconoscimento migliore per quel pattern. Tale spostamento, sub-ottimo per quel determinato pattern, sicuramente non lo è per gli ulteriori patterns che verranno forniti alla rete.

Figure 7.1: Schema generale del funzionamento dell'interpolazione dei pesi. Con AD (ambient dependent) si intende la rete adattata all'ambiente. Con SD (speaker dependent) si intende la rete adattata al parlatore. Le due reti vengono interpolate e viene generata la rete per il riconoscimento.
Image FIGinterpolazioneArchitetturaGenerale

Analizziamo i grafici della percentuale di riconoscimento nell'adattamento di J-LIN e di tutta la rete al variare del numero di frasi di addestramenti, si nota come durante le prime frasi di traning ci sia spesso un peggioramento delle prestazioni, dovuto alla polarizzazione di pesi sul pattern addestrato. La tecnica dell'interpolazione permette di ovviare a questo problema.

Come sempre la rete di partenza è una rete SI. Uno spostamento dei pesi proficuo non dipendente dal parlatore, è uno spostamento che applicato alla rete SI, possa dare dei risultati migliori e che non sia dipendente dal parlatore. Il più intuitivo di questi spostamenti è lo spostamento dei pesi per l'adattamento della rete SI all'ambiente. Spesso, infatti, è possibile ottenere per un'applicazione pratica di avere molto materiale di adattamento all'ambiente ed è sempre buona norma utilizzarlo al fine di rendere migliore il modello. A questo punto possiamo avere, per ogni peso della rete, il valore dello spostamento rispetto alla rete SI, al fine di ottenere una rete adattata all'ambiente. Partendo dalla stessa rete, per tutti i pesi, si può ricavare la variazione riferita al parlatore, sub-ottima per i patterns dati in ingresso.

Figure 7.2: Schematizzazione dell'interpolazione tra i pesi della rete adattata all'ambiente e la rete adatattata al parlatore
Image FIGvariazionePesi
Ricavate le due variazioni, l'idea è quella, con poche frasi di addestramento, di far prevalere lo spostamento dovuto all'adattamento all'ambiente con un minimo contributo dello spostamento specifico del parlatore. Con l'aumentare delle frasi di addestramento del modello del parlatore, si intende far progressivamente spostare l'equilibrio verso il modello del parlatore, diminuendo il contributo dello spostamento dovuto all'adattamento all'ambiente.

Per regolare la prevalenza del modello adattato all'ambiente rispetto a quello adattato al parlatore si è utilizzata la variabile $\lambda $, che permette un'interpolazione tra le due variazioni dei pesi. Siano $\Delta w^{AD}_{ij}$ la variazione della rete adattata all'ambiente rispetto alla rete SI per il peso $w_{i,j}$ e $\Delta w^{SD}_{ij} $ la variazione della rete adattata al parlatore rispetto alla rete SI per il peso $w_{i,j}$, la nuova variazione da applicare alla rete SI sarà data da:

\begin{displaymath}
\Delta w^{new}_{ij}= (1-\lambda) \cdot \Delta w^{AD}_{ij} + \lambda \cdot \Delta w^{SD}_{ij}
\end{displaymath} (7.1)

I pesi della nuova rete da utilizzare per il riconoscimento sono ottenuti dalla rete SI sommando, ad ogni peso, la variazione calcolata con (7.1) secondo la seguente formula:
\begin{displaymath}
w_{ij}=w^{SI}_{ij}+\Delta w^{new}_{ij}
\end{displaymath} (7.2)

Una volta ottenuti i nuovi pesi dalla formula (7.2) la rete può essere utilizzata per il riconoscimento.

L'indice $\lambda $ ottimale per l'interpolazione è collegato direttamente con il numero di frasi di training del modello. Si rimanda ai dati sperimentali per una trattazione più accurata sulla scelta del $\lambda $ ottimo.

L'interpolazione dei pesi può essere applicata per i pesi di tutta la rete o per LIN e J-LIN. In questo caso l'adattamento all'ambiente e al parlatore sarà effettuato solo per i livelli LIN e J-LIN, e anche l'interpolazione verrà eseguita solo per i pesi e per i bias a loro riferiti.

Stefano Scanzio 2007-10-16