Questi modelli integrano i pregi di entrambe le tecniche.
Ereditano dall'Hidden Markov Model la capacità di gestire fenomeni temporali attraverso un modellamento ad automa a stati finiti delle parole (figura 2.10) che consente di utilizzare l'algoritmo di Viterbi per trovare la sequenza di stati ottima. Dall'altro lato i vantaggi della tecnologia neurale sono molteplici. In primo luogo le reti neurali sono per loro definizione discriminative. Durante il training le varie classi da riconoscere sono messe in competizione l'una contro l'altra, creando una più precisa separazione tra di loro e dando risultati migliori rispetto all'utilizzo di misture di gaussiane. Inoltre nell'Hidden Markov Model dove essere rispettata l'indipendenza stocastica tra un frame e il successivo, mentre nelle reti neurali questo assunto cade. Ciò permette di considerare anche il contesto sinistro e destro di un frame, dando migliori risultati al riconoscimento (figura 2.11). I modelli ibridi HMM-NN sono stati sviluppati in vari laboratori di ricerca, in particolare Bourland e Morgan [1] hanno dato un notevole contributo sia teorico che sperimentale scrivendo un libro sull'argomento.Nel corso degli anni si sono sperimentate diverse strutture di reti neurali al fine di adattarle al riconoscimento vocale, con svariate peculiarità. Una struttura base è quella riportata in figura (2.12). Possiamo notare, in primo luogo, che di solito vengono utilizzate reti a più livelli. In questo caso sono presenti tre livelli completamente interconnessi. In strutture più complesse sono presenti ulteriori livelli e la connessione non è completa. Partendo dal basso si vede una sequenza di frames di ingresso. Rappresentati come in figura (2.11). L'input alla rete è una finestra di sette frame che ad ogni iterazione si sposta di 1 frame verso destra. Una volta caricati i valori di questi frame nel livello di ingresso della rete neurale (input layer), con le formule descritte nella sezione 2.2.1 vi è una propagazione dei valori fino ai nodi di uscita (output layer). A questo punto si ottiene una probabilità che può essere utilizzata come probabilità di emissione nel modello ad automi, simile a quello descritto per l'Hidden Markov Model.
Come si era già spiegato qualche paragrafo addietro, l'addestramento di una rete neurale avviene dandone in ingresso un pattern che, confrontato con il relativo target, permette la correzione dell'errore compiuto, attraverso l'algoritmo di back-propagation. In questo caso però sia i pattern in ingresso che i target dipendono dal tempo. Come si è visto gli ingressi dipendenti dal tempo non creano alcun problema. Lo stesso vale per i target, l'unico accorgimento da prendere è che siano sincronizzati con l'ingresso. Dando ad esempio in input il frame relativo al fonema "a" dovrò confrontarlo con un target "a" in uscita, ci sarà poi un momento in cui avverrà il passaggio ad un altro fonema, anche il target in quel momento dovrà cambiare.
Il processo che porta alla determinazione del momento in cui avviene il passaggio tra un target e il successivo si chiama segmentazione. Può essere eseguita manualmente attraverso l'analisi diretta del segnale vocale: un operatore, osservando la forma d'onda e lo spettro di fraquenza, intercetta tutti i frame in cui vi è questo passaggio. Il metodo più usato, visto gli ottimi risultati che si riescono ad ottenere e i tempi lunghissimi di un approcio manuale, è la segmentazione automatica. Sapendo quali sono le frasi dette, quindi la seguenza di simboli che compongono la frase, si utilizza la rete neurale e l'algoritmo di Viterbi per segmentare. Anche se per segmentare basta una rete di qualità bassa, al migliorare delle prestazioni della rete aumenta la precisione della segmentazione, quindi è buona norma aggiornarla periodicamente durante la fase di training. Quando bisogna addestrare una rete completamente nuova, sorgono due problemi:
Stefano Scanzio 2007-10-16