170 likes | 504 Vues
Arquiteturas para reconhecimento de voz em sistemas embarcados. 2/18. Roteiro. Introdu
E N D
1. Arquiteturas para reconhecimento de voz em sistemas embarcados Luiz Sequeira Laurino
lslaurino@inf.ufrgs.br
Instituto de Informtica - UFRGS
2. Arquiteturas para reconhecimento de voz em sistemas embarcados 2/18 Roteiro Introduo
Reconhecimento de voz
Algoritmo
Arquiteturas
Concluses
Referncias
3. Arquiteturas para reconhecimento de voz em sistemas embarcados 3/18 Introduo Crescimento no uso de sistemas embarcados (celulares, PDAs, ...)
Necessidade de interface natural (gestos, reconhecimento de voz, ...)
Atendimento a certas restries: performance (tempo real), rea e consumo de potncia
4. Arquiteturas para reconhecimento de voz em sistemas embarcados 4/18 Reconhecimento de voz Grande complexidade (sotaques, ambigidade em palavras fora de contexto there e their)
Necessidade de ser independente de interlocutor
Utilizar grandes alfabetos (2000 palavras, p. ex.)
5. Arquiteturas para reconhecimento de voz em sistemas embarcados 5/18 Algoritmo Tarefa tem grande demanda por memria e altas latncias so verificadas
Processo de reconhecimento de voz pode ser dividido em 3 etapas:
Front end: transforma onda sonora em vrios feature vectors (representa o sinal sonoro durante 10ms) atravs de operaes DSP (converses AD)
Clculo Gaussiano
Hidden Markov Model (HMM)
6. Arquiteturas para reconhecimento de voz em sistemas embarcados 6/18 Clculo Gaussiano Converte cada feature vector em um fonema
Dois fonemas seqenciais (senone) so treinados e usados para avaliar a transio entre fonemas
A probabilidade aqui calculada referente a transio de um estado para outro no HMM, para uma determinada entrada (fonema)
Em alguns casos, realimentado pela terceira parte do algoritmo (probabilidade entre palavras)
7. Arquiteturas para reconhecimento de voz em sistemas embarcados 7/18 Hidden Markov Model (HMM) Caracteriza-se por um grafo dirigido onde os ns so os fonemas e para cada aresta h uma probabilidade associada (calculada pela etapa anterior) de transio entre fonemas
Busca no grafo que converte seqncias de fonemas em palavras
Busca possui uma heurstica para reduzir tempo de processamento
Realimenta a etapa anterior
para as transies
entre palavras
8. Arquiteturas para reconhecimento de voz em sistemas embarcados 8/18 Algoritmo (2)
9. Arquiteturas para reconhecimento de voz em sistemas embarcados 9/18 Arquiteturas Tentam explorar paralelismo presente no algoritmo
Focam na fase do clculo Gaussiano e busca sobre grafo (HMM), visto que juntas consomem 98% do processamento
Apresentadas, na maioria dos casos, como co-processadores que aceleram o processamento de reconhecimento de voz
10. Arquiteturas para reconhecimento de voz em sistemas embarcados 10/18 SMT e SMP Arquiteturas Simultaneous Multithreading (SMT) e Symmetric Multiprocessing (SMP) dispostas em um coprocessador
SMP-> aumenta performance, mas processador em espera (memria lenta)
SMT-> tolera delays no sistema (atravs da troca de contextos), mas necessitaria de um nmero muito grande de recursos
Soluo combinar as duas
11. Arquiteturas para reconhecimento de voz em sistemas embarcados 11/18 SMT e SMP (2) Composta por uma srie de Elementos de Processamento (EP), um balanceador de carga dinmico e locks globais
EPs com baixo consumo de potncia
Particionamento esttico das tarefas para maximizar balanceamento de carga e uso do processador e minimizar custos com escalonamento
Cada EP composto por um pipeline de 5 estgios(not-taken prediction), cache e um controle. Cada EP pode executar mltiplas threads
12. Arquiteturas para reconhecimento de voz em sistemas embarcados 12/18 SMT e SMP (3)
13. Arquiteturas para reconhecimento de voz em sistemas embarcados 13/18 ASP (Associative String Processor) Arquitetura para processamento paralelo
Homogneo, tolerante a falhas e reconfigurvel
Processamento associativo
Voltado para vocabulrios restritos
14. Arquiteturas para reconhecimento de voz em sistemas embarcados 14/18 ASP (2)
15. Arquiteturas para reconhecimento de voz em sistemas embarcados 15/18 ASP (3) O algoritmo verifica a maior probabilidade para um determinado estado-destino
Tal verificao feita em paralelo com todos os estados
Valor do estado-destino determinado pela soma dos produtos entre os valores dos predecessores e suas probabilidades para este estado-destino
16. Arquiteturas para reconhecimento de voz em sistemas embarcados 16/18 Concluses Arquiteturas bastante dependentes do modelo von Neumann
O desempenho de arquiteturas auxiliares para resolver esta tarefa mostrou-se bastante satisfatrio
Ainda so necessrias otimizaes nas memrias
Considerar vocabulrios onde certas palavras tm maior probabilidade de ocorrer
17. Arquiteturas para reconhecimento de voz em sistemas embarcados 17/18 Referncias Krishna, R.; Mahlke, S. e Austin, T. Architectural optimizations for low-power, real-time speech recognition. Proceedings of the 2003 international conference on Compilers, architectures and synthesis for embedded systems. ACM Press. 2003.
Hagen, A.; Connors, D. e Pellom, B. The analysis and design of architecture systems for speech recognition on modern handheld-computing devices. Proceedings of the 1st IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis. ACM Press. 2003.
Mathew, B.; Davis, A. e Fang, Z. A low-power accelerator for the SPHINX 3 speech recognition system. Proceedings of the 2003 international conference on Compilers, architectures and synthesis for embedded systems. ACM Press. 2003.
18. Arquiteturas para reconhecimento de voz em sistemas embarcados 18/18 Referncias (2) Anantharaman, T. e Bisiani, R. A hardware accelerator for speech recognition algorithms. Proceedings of the 13th annual international symposium on Computer architecture. IEEE Computer Society Press. 1986.
Krikelis, A. Continuous speech recognition using na associative string processor. IEEE Micro. 1989.
Lea, R. ASP: a cost-effective parallel microcomputer. IEEE Micro. 1988.