Davyd Bandeira de Melo
Junho 2011
1
* 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
2
Técnicas de Processamento Digital da Voz
Transmissão
Digital e
Armazenamento
Síntese de Voz
Reconhecimento
de Voz
Identificação de
Elocutores
3
Realce da
Qualidade da Voz
Acessibilidade
*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
4
Estágios constituintes de um sistema de reconhecimento de voz
5
*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.
6
*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
7
8
*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
Equação temporal do filtro de pré-ênfase
9
*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
10
*Consiste em representar o sinal através de suas
amostras atrasadas no tempo:
𝑠 𝑛 ≈ 𝑎1 𝑠 𝑛 − 1 + 𝑎2 𝑠 𝑛 − 2 … + 𝑎𝑝 𝑠(𝑛 − 𝑝)
*Os coeficientes a1, a2, a3, ..., ap são chamados de
coeficientes LPC
*p é chamada ordem do preditor
11
*Minimização de uma função custo
*Resolvendo a equação acima obtemos os valores
ótimos
onde
12
*Utiliza-se então o algoritmo de Levison-Durbin para
resolver o sistema dos coeficientes LPC
13
14
* Objetivo: encontrar regularidades nos dados de forma a separá-los
em classes
15
* 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 Xtr com N1 elementos
* Rótulos das classes de cada vetor de treinamento
* Fase de teste
* Conjunto de teste Xtest com 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
16
Problema linearmente
separável
Problema não-linearmente
separável
17
Curva não-linear separando
duas classes de dados
* 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:
18
* 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
19
* 𝑋 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:
20
* Multiplicamos 𝑋 𝑇 pela direita e em seguida por (𝑋𝑋 𝑇 )−1 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
21
* 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μ
22
x
Mapeamento
Aleatório
(W)
u(i)
tgh(.)
z(i)
Arquitetura da rede neural ELM
23
OLAM
(M)
y
Neurônio da camada escondida
Neurônio da camada de saída
24
*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
25
*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 é
26
* 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
27
*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
28
* 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
29
30
Modelos de dados utilizados no SRCV
31
* 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
32
Diagrama de classe que representa o padrão DAO
33
Diagrama de classe que representa o padrão Singleton
34
* 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
35
* Resultados:
* OLAM:
* ELM:
98% de acerto no treinamento
Taxa de acerto da rede ELM no
treinamento
Tempo médio de execução da rede ELM
(inicialização, treinamento e teste)
36
* 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
37
* Resultados:
* OLAM:
* ELM:
65,5% de acerto no treinamento
Tempo médio de execução da rede ELM
(inicialização, treinamento e teste)
Taxa de acerto da rede ELM no treinamento
38
* 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
39
* 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
40
* 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
41
* 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
42
* Resultados:
* OLAM:
* ELM:
55% de acerto no treinamento
Matriz de confusão para a rede neural ELM.
Métrica m1 para a rede neural
ELM.
Taxa de acerto da rede ELM no treinamento
43
Matriz de confusão para a rede neural OLAM.
Métrica m1 para a rede neural OLAM.
44
* 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
45
* 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
46
47
48
Download

apresentação_davyd_tcc