6.1.2 Funzionamento

Le LIN hanno la funzione di rappresentare un parlatore, di compiere uno spostamento sui parametri di ingresso al fine di renderlo il più possibile simile ad un parlatore ottimale per la rete SI.

Il training, in accordo con l'interpretazione appena enunciata, viene fatto addestrando una normale LIN con i dati provvenienti da uno stesso parlatore. Questo procedimento viene ripetuto per $K-1$ parlatori ottenendo perciò una rappresentazione per ognuno di essi.

I pesi ottenuti per ogni singola LIN possono a questo punto essere caricati nella struttura K-LIN: nel posto associato alla prima LIN vengono messi i parametri relativi alla LIN identità, mentre nei rimanenti $K-1$ posti vengono caricati i valori delle LIN appena addestrate. I parametri $\lambda $ dello strato di collegamento tra il livello LIN e l'input della rete sono inizializzati a 1 per i valori riferiti alla LIN identità, a 0 nei rimanenti casi. I bias del livello di ingresso della rete SI sono posti a 0.

Questa diversa inizializzazione dei $\lambda $ è stata fatta al fine di compiere un run-forward come se esistesse solo la rete SI. Infatti dando un pattern in ingresso viene compiuto il run-forward su tutta la K-LIN, il pattern viene propagato su tutte quante le $K$ LIN. Nel caso della prima non viene fatto nulla, nelle rimanenti $K-1$ viene applicata la trasformazione riferita al parlatore per cui è stata addestrata. Pertanto verrà propagato ai livelli superiori solo il valore della LIN identità senza nessuna modifica ($\lambda_1=1$). Finito il run-forward della rete si ottengono le probabilità di emissione dei vari fonemi e un errore dovuto all'utilizzo della SI per il riconoscimento. Si nota che il target, al fine di calcolare l'errore, può essere calcolato in modo supervised o unsupervised.

Al fine di minimizzare l'errore compiuto dalla rete SI (o dalla K-LIN) si può applicare l'algoritmo di back-propagation,

Figure 6.3: Schema dell'utilizzo della struttura K-LIN effettuare il riconoscimento del parlatore: 1) Run-forward della rete, che utilizza la LIN identità, 2) Calcolo dell'errore, 3) Back-propagation e modifica dei valori dei pesi $\lambda $, 4) Scelta di $argmax_i \lambda _i$
Image FIGk-lin_riconoscimento
ma, in questo caso si tengono bloccati i pesi di tutta la rete ad eccezione dei pesi $\lambda $. I $\lambda $ delle LIN che riconoscono in modo migliore ciò che è stato detto vengono alzati maggiormente rispetto agli altri. Si può così utilizzare la struttura K-LIN per il riconoscimento del parlatore: il $\lambda_i$ con valore massimo darà l'indice $i$ per rappresentare il parlatore riconosciuto (figura 6.9). Una volta riconosciuto si può pensare di utilizzare la LIN riferita al parlatore al fine di riconoscere tutte le frasi che vengono pronunciate da quel parlatore.

Stefano Scanzio 2007-10-16