1 / 48

Um Sistema de Reconhecimento de Comandos de Voz Utilizando a Rede Neural ELM

Davyd Bandeira de Melo. Um Sistema de Reconhecimento de Comandos de Voz Utilizando a Rede Neural ELM. Junho 2011. Aplicações do Processamento Digital de Voz Motivação Arquitetura de um Sistema de Reconhecimento de Voz Aquisição de Dados Pré-processamento Sistema de Recorte

lane
Download Presentation

Um Sistema de Reconhecimento de Comandos de Voz Utilizando a Rede Neural ELM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Davyd Bandeira de Melo Um Sistema de Reconhecimento de Comandos de Voz Utilizando a Rede Neural ELM Junho 2011

  2. Aplicações do Processamento Digital de Voz • Motivação • Arquitetura de um Sistema de Reconhecimento de Voz • Aquisição de Dados • Pré-processamento • Sistema de Recorte • Representação do Sinal de Voz • Reconhecimento de padrões • Tipos de problemas de interesse • Memória Associativa Linear Ótima (OLAM) • Máquinas de Aprendizagem Extrema (ELM) • SRCV – Sistema de Reconhecimento de Comandos de Voz • Simulações • Conclusões • Perspectivas Futuras Sumário

  3. Aplicações do Processamento Digital de Voz

  4. Interação homem-máquina em sistemas multimídias em alta • Maior naturalidade na comunicação com sistemas computacionais • Mobilidade do usuário melhorada através da interface de voz • Aplicações em Robótica Móvel • Acessibilidade Motivação

  5. Estágios constituintes de um sistema de reconhecimento de voz Arquitetura de um Sistema de Reconhecimento de Voz

  6. Responsável por capturar, amostrar e digitalizar as elocuções • O sinal capturado constitui de: • Períodos de silêncio • Períodos relevantes do sinal de voz • Ruído de fundo • Ex: Ar condicionado, chuva, imperfeições do equipamento de captura, dentre outros. Aquisição de Dados

  7. Sistemas Detectores de Atividade de Voz (DAV) • Retira períodos de silêncio do início e do fim da elocução • Reduz a quantidade de dados a serem processados em estágios posteriores • Alguns algoritmos de DAV levam em consideração o ruído de fundo Sistema de Recorte

  8. Sistema de Recorte

  9. Filtro de pré-ênfase • Torna o sinal menos suscetível aos efeitos de precisão finita • Planifica o espectro Função de transferência do filtro de pré-ênfase Pré-processamento Equação temporal do filtro de pré-ênfase

  10. Geração de características que forneçam maior eficiência no reconhecimento das elocuções • Reduz o espaço de dados sem perda de informação útil • Representação utilizada: coeficientes LPC Representação do Sinal de Voz

  11. Consiste em representar o sinal através de suas amostras atrasadas no tempo: • Os coeficientes a1, a2, a3, ..., ap são chamados de coeficientes LPC • p é chamada ordem do preditor Representação do Sinal de Voz

  12. Minimização de uma função custo • Resolvendo a equação acima obtemos os valores ótimos onde Representação do Sinal de Voz

  13. Utiliza-se então o algoritmo de Levison-Durbin para resolver o sistema dos coeficientes LPC Representação do Sinal de Voz

  14. Representação do Sinal de Voz

  15. Objetivo: encontrar regularidades nos dados de forma a separá-los em classes Reconhecimento de Padrões

  16. Fase de treinamento e fase de generalização • Divide-se o conjunto de dados (N elementos) para treinamento e teste • Fase de treinamento • Conjunto de treinamento Xtrcom N1 elementos • Rótulos das classes de cada vetor de treinamento • Fase de teste • Conjunto de teste Xtestcom N2 elementos • Observa-se as saídas do classificador para verificar seu desempenho • Realimentação dos resultados e ajustes finos • Tipos de conjunto • Linearmente separáveis • Não-linearmente separáveis Reconhecimento de Padrões

  17. Tipos de Problema de Interesse Problema não-linearmente separável Curva não-linear separando duas classes de dados Problema linearmente separável

  18. Assume-se inicialmente um mapeamento linear W desconhecido entre vetores de entrada x e vetores de saída d: • Representando o mapeamento através de sistemas lineares: Memória Associativa Linear Ótima (OLAM)

  19. Tem-se como objetivo descobrir uma matriz aproximada dos parâmetros do sistema a partir de pares entrada/saída • Onde yμ é a saída estimada do mapeamento, que deve ser próximo de dμ, cujo o erro é dado por • O OLAM consiste em estimar a matriz utilizando a técnica da pseudoinversa • Fase de treinamento: • Conjunto de dados com N vetores de entrada • Matrix com N1 (N1 < N) vetores de entrada • Matrix com N1 vetores de saídas desejadas Memória Associativa Linear Ótima (OLAM)

  20. e são as concatenações dos vetores de entrada e saídas desejadas respectivamente, ou seja: • Construímos o mapeamento linear a partir de e • Onde cada vetor coluna de possui +1 na classe desejada e -1 nas outras classes, ou seja: Memória Associativa Linear Ótima (OLAM)

  21. Multiplicamos pela direita e em seguida por também pela direita: • De onde obtemos: • Para verificarmos a generalização do modelo obtido fazemos: • Onde: • é um conjunto de teste com N2= N – N1 elementos • saída do novo modelo estimado Memória Associativa Linear Ótima (OLAM)

  22. Obtém-se a classe inferida pela rede observando o índice do maior elemento de um vetor coluna de , ou seja: • Em que representa a classe inferida pelo classificador quando se aplica um vetor de entrada xμ Memória Associativa Linear Ótima (OLAM)

  23. Mapeamento Aleatório (W) OLAM (M) u(i) z(i) tgh(.) x y Arquitetura da rede neural ELM Máquinas de Aprendizagem Extrema (ELM)

  24. Máquinas de Aprendizagem Extrema (ELM) Neurônio da camada escondida Neurônio da camada de saída

  25. Três fases a serem seguidas para realização do treinamento da rede ELM: • Fase 01: Inicialização Aleatória dos Pesos dos Neurônios Ocultos • Fase 02: Acúmulo das Saídas dos Neurônios Ocultos • Fase 03: Cálculo dos pesos dos neurônios de saída • O conjunto de dados possui N vetores de entrada. • N1 (N1 <N) vetores para treinamento • N2 = N - N1 vetores para teste Máquinas de Aprendizagem Extrema (ELM)

  26. Fase 01: Inicialização Aleatória dos Pesos dos Neurônios Ocultos • Inicializa-se a matriz dos pesos W com valores aleatórios que podem ser distribuídos de forma uniforme ou normal • Onde W é Máquinas de Aprendizagem Extrema (ELM)

  27. Fase 02: Acúmulo das Saídas dos Neurônios Ocultos • Calcula-se a matriz de ativação da camada oculta utilizando uma matriz de dados de treinamento (N1 vetores) • Realizando todas as computações matricialmente, temos: • Após isso se aplica a função de ativação tanh(.) para obter a saída da camada oculta Máquinas de Aprendizagem Extrema (ELM)

  28. Fase 03: Cálculo dos pesos dos neurônios de saída • Tendo obtido Z, podemos enxergar a última camada como um modelo OLAM de entrada Z e saídas desejadas D • Podemos obter a matriz de pesos M da camada de saída aplicando o método da pseudoinversa • Teste de capacidade de generalização utilizando as matrizes W e M Máquinas de Aprendizagem Extrema (ELM)

  29. SRCV – Sistema de Reconhecimento de Comandos de Voz • Características Proprostas • Gravação de elocuções • Cadastro de novos comandos de voz • Exibição de formas de onda • Gerenciamento completo das elocuções • Armazenamento dos parâmetros das redes neurais • Seleção do tipo de rede utilizado nas simulações • Log de atividades • Simulações através de arquivos de dados e bancos de dados relacionais SRCV

  30. Screenshot

  31. Modelos de Dados Modelos de dados utilizados no SRCV

  32. Padrão de Projeto • Soluções que, no contexto das linguagens orientadas a objeto, proporcionem reuso, modularidade e uma maior separação entre camadas de software. • Padrões de Projeto utilizados no SRCV • Singleton: Acesso através de um único objeto à conexão com o banco de dados • Data Access Object: Acesso transparente aos meios persistentes Padrões de Projetos Utilizados

  33. Padrões de Projetos Utilizados Diagrama de classe que representa o padrão DAO

  34. Padrões de Projetos Utilizados Diagrama de classe que representa o padrão Singleton

  35. Simulação 01: Utilização de um conjunto de dados pouco desafiador para validação das redes neurais desenvolvidas • Após os vetores de dados serem carregados eles são embaralhados e divididos • 80% dos dados para treinamento. N1 = 0,80 * N • 20% dos dados para teste. N2 = 0,20 * N • A rede é treinada 50 vezes e em cada vez um novo embaralhamento é realizado • Os melhores parâmetros das redes neurais são guardados e utilizados na fase de generalização • OLAM: Matriz W • ELM: Matriz W e M Simulações – Conjunto Wine

  36. Resultados: • OLAM: 98% de acerto no treinamento • ELM: Simulações – Conjunto Wine Taxa de acerto da rede ELM no treinamento Tempo médio de execução da rede ELM (inicialização, treinamento e teste)

  37. Simulação 02: Utilização de um conjunto de dados desafiador para validação das redes neurais desenvolvidas • Após os vetores de dados serem carregados eles são embaralhados e divididos • 80% dos dados para treinamento. N1 = 0,80 * N • 20% dos dados para teste. N2 = 0,20 * N • A rede é treinada 50 vezes e em cada vez um novo embaralhamento é realizado • Os melhores parâmetros das redes neurais são guardados e utilizados na fase de generalização • OLAM: Matriz W • ELM: Matriz W e M Simulações – Conjunto Wall-FollowingRobot

  38. Resultados: • OLAM: 65,5% de acerto no treinamento • ELM: Simulações – Conjunto Wall-FollowingRobot Tempo médio de execução da rede ELM (inicialização, treinamento e teste) Taxa de acerto da rede ELM no treinamento

  39. Simulação 03: Utilização do conjunto de dados para testar o reconhecimento de comandos • Após os vetores de dados serem carregados eles são embaralhados • 100% dos dados para treinamento. N1 = N • 7 elocuções para cada um dos comandos: frente, trás, esquerda e direita • A rede é treinada 50 vezes e em cada vez um novo embaralhamento é realizado • Os melhores parâmetros das redes neurais são guardados e utilizados na fase de generalização • OLAM: Matriz W • ELM: Matriz W e M • Para realização do teste uma nova elocução é gravada, representada através de coeficientes LPC e submetida às redes neurais Simulações – Conjunto das Elocuções

  40. Os coeficientes LPC de cada frame de uma elocução são extraídos e a cada um deles é atribuído um rótulo • A matriz dos vetores de entrada tem a seguinte forma • Onde os rótulo R0, R1, R2,... RL-1 são os rótulos dos comandos dos quais cada coeficiente LPC pertence Simulações – Conjunto das Elocuções

  41. A matriz dos vetores de entrada é submetida a rede neural • Para cada vetor dessa matriz a rede neural inferirá uma classe • Cada classe possui uma variável acumuladora que indica quantas vezes a rede identificou um dado comando • É feito o voto majoritário entre as variáveis acumuladoras para indicar qual comando foi emitido pelo usuário • Por exemplo, se a rede possuir as seguintes variáveis acumuladoras teremos como saída o comando frente: • Frente: 145 • Trás: 0 • Esquerda: 15 • Direita: 12 Simulações – Conjunto das Elocuções

  42. Parâmetros de aquisição das elocuções: • Taxa de amostragem: 8KHz • Bits/amostra: 8 • Número de canais: 1 • Sinalização: Sim • Endianess: Big-endian • Parâmetros de pré-processamento • Coeficiente do filtro de pré-ênfase: 0,9 • Parâmetros de representação do sinal • Ordem de predição linear: 10 Simulações – Conjunto das Elocuções

  43. Resultados: • OLAM: 55% de acerto no treinamento • ELM: Matriz de confusão para a rede neural ELM. Simulações – Conjunto das Elocuções Métrica m1 para a rede neural ELM. Taxa de acerto da rede ELM no treinamento

  44. Matriz de confusão para a rede neural OLAM. Simulações – Conjunto das Elocuções Métrica m1 para a rede neural OLAM.

  45. O uso de conjuntos de dados cuja complexidade é conhecida foi útil para validar as implementações das redes neurais • O classificador não-linear (ELM) se comportou melhor em relação ao classificador linear (OLAM) para os dados de voz • Melhor matriz de confusão • Maior precisão evidenciada através de uma métrica m1 • A taxa de acerto da rede ELM saturou a medida que se aumenta quantidade de neurônios da camada oculta • O tempo de execução da rede ELM apresentou um comportamento exponencial a medida que se aumenta quantidade de neurônios da camada oculta • O uso de padrões de Software adicionou modularidade e reuso à aplicação Conclusões

  46. Correções de bugs conhecidos no simulador • Melhoria da usabilidade do simulador • Implementação da funcionalidade de reconhecimento de usuários • Criação de uma interface entre o software e as rotinas de movimentação do robô SCITOS G5 Perspectivas Futuras

  47. Dúvidas

  48. Obrigadodavydmelo@gmail.com

More Related