ROBSON OGIBÓSKI

ROGÉRIO ANDRÉ AUST

SIMEI GOMES WYSOSKI

ROBERT CHRISTIAN LEH

 

 

 

RECONHECIMENTO DE VOZ ATRAVÉS DE REDES NEURAIS

Trabalho da disciplina de Processamento Digital de Sinais do Curso de Engenharia Elétrica, do Setor de Tecnologia, da Universidade Federal do Paraná, Prof. Eduardo Parente Ribeiro.

 

 

 

 

 

CURITIBA

1999

Introdução

Este trabalho pretende demonstrar um sistema automático de reconhecimento de assinatura vocal para aplicações didáticas, onde pode ser desenvolvido tanto envolvendo o software quanto o hardware para o controle de sistemas, através do reconhecimento de voz. O objetivo do trabalho é dar uma breve descrição e demonstração de como é feito o reconhecimento de voz de um locutor através de redes neurais e utilizará técnicas de Inteligência Computacional para reconhecer os usuários e gerenciar seus direitos de acesso aos andares do prédio.

Os sistemas independentes do locutor são os mais desejados porque tornam possível sua utilização por pessoas que não foram incorporadas no processo de treinamento do sistema. Os sistemas independentes de locutor possuem erros de 2 a 3 vezes superiores aos sistemas dependentes de interlocutor.

O resultado deste trabalho será um sistema capaz de reconhecer palavras ditas por diferentes locutores, possuindo diversos tipos de aplicações comerciais e industriais; bem como um sistema de reconhecimento de assinatura vocal, capaz de funcionar como um método confiável de reconhecimento de identidade.

Os métodos que estão sendo utilizados refletem o estado-da-arte em reconhecimento de locutor, sempre visando a velocidade de processamento do sistema para uma adequação às necessidades do mercado.

O objetivo é demonstrar a vantagem do uso de redes neurais no reconhecimento de voz, que possui um índice de acerto muito melhor que os sistemas precursores.

 

Uma Introdução às Redes Neurais

O cérebro humano é considerado o mais fascinante processador baseado em carbono existente, sendo composto por aproximadamente 10 bilhões neurônios. Todas as funções e movimentos do organismo estão relacionados ao funcionamento destas pequenas células. Os neurônios estão conectados uns aos outros através de sinapses, e juntos formam uma grande rede, chamada REDE NEURAL. As sinapses transmitem estímulos através de diferentes concentrações de Na+ (Sódio) e K+ (Potássio), e o resultado disto pode ser estendido por todo o corpo humano. Esta grande rede proporciona uma fabulosa capacidade de processamento e armazenamento de informação.

O sistema nervoso é formado por um conjunto extremamente complexo de neurônios. Nos neurônios a comunicação é realizada através de impulsos, quando um impulso é recebido, o neurônio o processa, e passado um limite de ação, dispara um segundo impulso que produz uma substância neurotransmissora o qual flui do corpo celular para o axônio (que por sua vez pode ou não estar conectado a um dendrito de outra célula). O neurônio que transmite o pulso pode controlar a freqüência de pulsos aumentando ou diminuindo a polaridade na membrana pós sináptica. Eles tem um papel essencial na determinação do funcionamento, comportamento e do raciocínio do ser humano. Ao contrário das redes neurais artificiais, redes neurais naturais não transmitem sinais negativos, sua ativação é medida pela freqüência com que emite pulsos, freqüência esta de pulsos contínuos e positivos. As redes naturais não são uniformes como as redes artificiais, e apresentam uniformidade apenas em alguns pontos do organismo. Seus pulsos não são síncronos ou assíncronos, devido ao fato de não serem contínuos, o que a difere de redes artificiais.

Os principais componentes dos neurônios são:

fig01-Esquema dos constituíntes da célula neural

Neurocomputação

Os modelos neurais, procuram aproximar o processamento dos computadores ao cérebro. As redes neurais possuem um grau de interconexão similar a estrutura dos cérebro e um computador convencional moderno a informação é transferida em tempos específicos dentro de um relacionamento com um sinal para sincronização.

A tabela abaixo, traça um comparativo entre o cérebro humano e o computador:

Parâmetro

Cérebro

Computador

Material

Orgânico

Metal e plástico

Velocidade

Milisegundos

Nanosegundos

Tipo de Processamento

Paralelo

Seqüencial

Armazenamento

Adaptativo

Estático

Controle de Processos

Distribuído

Centralizado

Número de elementos processados

10 e 11 à 10 e 14

10 e 5 à 10 e 6

Ligações entre elementos processados

10.000

<10

Tabela 01 - Quadro comparativo entre cérebro e o computador

O mesmo paralelo pode ser traçado comparando o computador com as redes neurais. Para tanto, a comparação não se dará com um computador específico encontrado no mercado, mas sim com o paradigma predominante nos computadores atuais.

Computadores

Neurocomputadores

Executa programas

Aprende

Executa operações lógicas

Executa operações não lógicas, transformações, comparações

Depende do modelo ou do programador

Descobre as relações ou regras dos dados e exemplos

Testa uma hipótese por vez

Testa todas as possibilidades em paralelo

Tabela 02 - Quadro comparativo entre computadores e neurocomputadores

A partir do momento em que as máquinas começaram evoluir, um grande desejo do homem tem sido a criação de uma máquina que possa operar independentemente do controle humano. Uma máquina cuja independência seja desenvolvida de acordo com seu próprio aprendizado e que tenha a capacidade de interagir com ambientes incertos (desconhecidos por ela), uma máquina que possa ser chamada de autônoma, inteligente ou cognitiva.

O sucesso de uma máquina autônoma dependeria única e exclusivamente de sua capacidade de lidar com uma variedade de eventos inesperados no ambiente em que opera. Estas máquinas teriam maior capacidade de aprender tarefas de alto nível cognitivo que não são facilmente manipuladas por máquinas atuais, e continuariam a se adaptar e realizar tais tarefas gradativamente com maior eficiência, mesmo que em condições de ambiente imprevisíveis. Então, seriam muito úteis onde a iteração humana é perigosa, tediosa ou impossível; como em reatores nucleares, combate ao fogo, operações militares, exploração do espaço a distâncias em que um a nave espacial estaria fora do alcance do controle na terra porém enviando informações.

Organismos humanos são uma fonte de motivação para o desenvolvimento destas máquinas, e proporcionam diversas dicas para o desenvolvimento de algoritmos de aprendizado e adaptação . Assim, espera-se que algumas das características de organismos biológicos de aprendizado e adaptação estejam presentes nas mesmas.

Enquanto computadores funcionam de modo seqüencial, proporcionando maior eficiência na resolução de tarefas nas quais devem ser seguidas etapas. O cérebro humano funciona de modo paralelo, e sendo extremamente conectado é mais eficiente na resolução de tarefas que exigem várias variáveis.

O motivo pelo qual máquinas inspiradas na biologia são diferentes das máquinas atuais se encontra no fato de que as máquinas atuais baseiam seu processamento explicitamente em modelos matemáticos. Mecanismos de controle baseado em mecanismos neurais entretanto, não são baseados em modelos, utilizam cálculos matemáticos para efetuar suas operações porém podem coordenar diversos graus de liberdade durante a execução de tarefas manipulativas e em ambientes desestruturados. Eles são capazes de lidar com tarefas complicadas sem que tenham que desenvolver um modelo matemático e nem um modelo do ambiente em que operam. Baseado nas características de seres biológicos, acredita-se que surgirá em um futuro próximo, uma geração completa de novos sistemas computacionais, muito mais eficientes e inteligentes que os sistemas atuais.

 

Uma Introdução às Redes Neurais Artificiais

As redes neurais artificiais consistem em um método de solucionar problemas de inteligência artificial, construindo um sistema que tenha circuitos que simulem o cérebro humano, inclusive seu comportamento, ou seja, aprendendo, errando e fazendo descobertas. São mais que isso, são técnicas computacionais que apresentam um modelo inspirado na estrutura neural de organismos inteligentes e que adquirem conhecimento através da experiência. Uma grande rede neural artificial pode ter centenas ou milhares de unidades de processamento, enquanto que o cérebro de um mamífero pode ter muitos bilhões de neurônios.

Um grafo direcionado é um objeto geométrico que consiste de um conjunto de pontos, chamados nós, ao longo de um conjunto de segmentos de linhas direcionadas entre eles. Uma rede neural é uma estrutura de processamento de informação distribuída paralelamente na forma de um grafo direcionado, com algumas restrições e definições próprias.

Os nós deste grafo são chamados elementos de processamento. Suas arestas são conexões, que funcionam como caminhos de condução instantânea de sinais em uma única direção, de forma que seus elementos de processamento podem receber qualquer número de conexões de entrada. Estas estruturas podem possuir memória local, e também possuir qualquer número de conexões de saída desde que os sinais nestas conexões sejam os mesmos. Portanto, estes elementos tem na verdade uma única conexão de saída, que pode dividir-se em cópias para formar múltiplas conexões, sendo que todos carregam o mesmo sinal. Então, a única entrada permitida para a função de transferência (que cada elemento de processamento possui) são os valores armazenados na memória local do elemento de processamento e os valores atuais dos sinais de entrada nas conexões recebidas pelo elemento de processamento. Os únicos valores de saída permitidos a partir da função de transferência são valores armazenados na memória local do elemento de processamento, e o sinal de saída do mesmo.

A função de transferência pode operar continuamente ou episodicamente. Sendo que no segundo caso, deve existir uma entrada chamada "activate" que causa o ativamento da função de transferência com o sinal de entrada corrente e com valores da memória local, e produzir um sinal de saída atualizado (ocasionalmente alterando valores da memória). E no primeiro caso, os elementos estão sempre ativados, e a entrada "activate" chega através de uma conexão de um elemento de processamento agendado que também é parte da rede.

Sinais de entrada para uma rede neural, a partir de fora da rede, chegam através de conexões que se originam do mundo externo, saídas da rede para o mundo externo são conexões que deixam a rede.

De forma geral, a operação de uma célula da rede se resume em:

 

Neurônio Artificial

O fisiologista Warrem MacCulloch interpretou o funcionamento do neurônio biológico como sendo um circuito de entradas binárias combinadas por uma soma ponderada (com pesos) produzindo uma entrada efetiva:

 

fig02-Modelo de McCulloch e Pitts

No modelo geral de neurônio (fig06) as entradas WiUi são combinadas usando uma função F, para produzir um estado de ativação do neurônio (correspondente à freqüência de descarga do neurônio biológico).As entradas chegam através dos dentritos e tem um peso atribuído pela sinapse.

fig03-Esquema de um neurônio artificial

A funcão básica de um neurônio é somar as entradas e retornar uma saída, caso esse valor seja maior que o valor de soma (threshold).

A Rede Neural Artificial (Multilayer Perceptron)

A rede neural artificial é um sistema de neurônios ligados por conexões sinápticas e dividido em neurônios de entrada, que recebem estímulos do meio externo, neurônios internos ou hidden (ocultos) e neurônios de saída, que se comunicam com o exterior. A forma de arranjar perceptrons em camadas é denominado Multilayer Perceptron. O multilayer perceptron foi concebido para resolver problemas mais complexos, os quais não poderiam ser resolvidos pelo modelo de neurônio básico.

Um único perceptron ou uma combinação das saídas de alguns perceptrons poderia realizar uma operação XOR, porém, seria incapaz de aprendê-la. Para isto são necessárias mais conexões, os quais só existem em uma rede de perceptrons dispostos em camadas. Os neurônios internos são de suma importância na rede neural pois provou-se que sem estes torna-se impossível a resolução de problemas linearmente não separáveis. Em outras palavras pode-se dizer que uma rede é composta por várias unidades de processamento, cujo funcionamento é bastante simples. Essas unidades, geralmente são conectadas por canais de comunicação que estão associados a determinado peso. As unidades fazem operações apenas sobre seus dados locais, que são entradas recebidas pelas suas conexões. O comportamento inteligente de uma Rede Neural Artificial vem das interações entre as unidades de processamento da rede.

A maioria dos modelos de redes neurais possui alguma regra de treinamento, onde os pesos de suas conexões são ajustados de acordo com os padrões apresentados. Em outras palavras, elas aprendem através de exemplos. Arquiteturas neurais são tipicamente organizadas em camadas, com unidades que podem estar conectadas às unidades da camada posterior.

A rede neural passa por um processo de treinamento a partir dos casos reais conhecidos, adquirindo, a partir daí, a sistemática necessária para executar adequadamente o processo desejado dos dados fornecidos. Sendo assim, a rede neural é capaz de extrair regras básicas a partir de dados reais, diferindo da computação programada, onde é necessário um conjunto de regras rígidas pré-fixadas e algoritmos.

fig04-Organização em camadas.

Usualmente as camadas são classificadas em três grupos:

Redes neurais são também classificadas de acordo com a arquitetura em que foram implementadas, topologia, características de seus nós, regras de treinamento, e tipos de modelos.

 

Introdução ao Reconhecimento de Voz

Em sua forma geral, reconhecimento de fala é a conversão de um waveform acústico

em texto equivalente. A última meta na maioria das pesquisas em sistemas de reconhecimento de fala foi desenvolver uma máquina que tenha habilidade para entender fala contínua com um vocabulário ilimitado. Esta meta permanece, como ainda, não-alcançada, embora foram feitos desenvolvimentos importantes no campo de reconhecimento de fala.

Há muitas vantagens no uso da fala, com a qual pode ser ganha o desenvolvimento de sistemas de reconhecimento efetivos para os quais podem ser usados comunicação entre o homem e máquinas. Quando comunicação de fala é usada, normalmente podem ser resolvidos mais rapidamente problemas, as mãos e olhos permanecem livres, o usuário pode mudar o quarto e ainda permanecer em contato com a máquina e a comunicação pode acontecer em cima do telefone sem a necessidade de adicional equipamento como modem.

Avaliação De Pesquisa Em Reconhecimento de Fala

Inicialmente acreditava-se que a fala pudesse ser reconhecida pelo seu sinal acústico. Foi percebido que emparelhando simples padrões acústicos estavam limitados como a mesma palavra, falada em diferentes ocasiões, diferindo até mesmo em duração e intensidade quando falado pela mesma pessoa. Quando a mesma palavra é falada por locutores diferentes o sinal de fala também difere em conteúdo de freqüência.

Nos sistemas de reconhecimento de fala, análise espectral foi levada a cabo nos padrões de fala. Tentativas de reconhecimento de fala também perceberam que, para entender o que está sendo dito, é necessário conhecimento lingüístico. Muitas fontes de conhecimento lingüístico , nos anos setenta, estavam sendo desenvolvidas par aumentar o desempenho. Um exemplo é o Sistema HEARSAY , usado para o reconhecimento de fala conectada. Uma implementação reconheceria movimentos falados em um jogo de xadrez. Este sistema usava a sintaxe e vocabulário de um idioma e a semântica de uma tarefa para reconhecer a expressão vocal naquele idioma. No caso da tarefa de xadrez, o sistema podia usar uma lista de todos os possíveis movimentos no momento atual junto com a probabilidade para ajudar o reconhecimento.

Nos meados de 1970, o número de pesquisas no campo de reconhecimento de fala aumentou dramaticamente. Foram desenvolvidos muitos algoritmos matemáticos e um número de sistemas de reconhecimento de fala ficou comercialmente disponível. O maior sucesso foi alcançado usando reconhecimento de padrão de fala através de máquina. Esta aproximação está baseado na idéia que se um sistema viu um padrão então pode reconhecer isto.

Um avanço principal foi feito com a introdução de algoritmos de programação dinâmicos introduzida inicialmente em 1970. Programação dinâmica (DP) é um conceito matemático e a teoria atrás disto está baseada no princípio de optimality do qual uma simples decisão de multi-fase processa e pode ser declarada como segue.

Uma ótima política tem a propriedade que qualquer que seja o estado inicial, as decisões restantes constituem uma ótima política com respeito a o estado que é o resultado da primeira decisão.

Podem ser usados algoritmos de DP para eliminar diferenças entre duas falas padrões, deformando o eixo de tempo de um padrão de fala de tal forma que os dois são alinhados entre si. O reconhecimento de um padrão de fala pode ser alcançado deformando o padrão de fala para padrões de referência de cada categoria para qual o introduza um padrão que poderia pertencer. Uma decisão então é tomada, sobre qual categoria o padrão de fala pertence e para isto nomeando à categoria do padrão de referência até que alcance a coincidência máxima. Este método também é conhecido como o método do tempo dinâmico, que deforma (DTW).

Os algoritmos de DP descritos podem concluir que as condições iniciais e finais de padrão de fala introduzida, e o padrão de fala de referência estão em alinhamento de tempo exato. Rabiner, Rosenberg e Levinson modificaram o algoritmo de DTW para incluir a existência da incerteza na inscrição das condições iniciais e finais. Um banco de dados de 10 palavras falado em isolamento por 100 locutores eram usados para testar o sistema de reconhecimento de fala. Foi achado que a remoção de ruídos impertinentes, conduziu a um melhor desempenho, mas a introdução de uma rampa para conter este ruído, necessariamente não conduziria a um melhor desempenho. Fatores estes, foram apontados como que poderiam afetar o seriamente o desempenho deste método, e mais adiante uma investigação veio comprovar esta teoria.

Um algoritmo baseado em modelos de Stochastic é Markov, que escondido modela (HMM) no qual um modelo gerador de cada classe é construído. Então, na aproximação do HMM, o padrão de referência é representado por um modelo contrário do modelo padrão. Um HMM consiste em duas partes; um máquina de estados finitos se encadeiam num jogo finito de distribuições de probabilidade. A máquina de estados finitos contem vários estados e as probabilidades de transição de um estado para outro são muitas.

As probabilidades de saídas consistem nas probabilidades que, para uma transição de um estado particular, uma certa saída será observada. Um observador verá as saídas sendo produzidas, mas não os estados e transições, pois estas estão " escondidas ". O reconhecimento de um padrão introduzido será alcançado determinando qual o modelo que tem a maior probabilidade de gerar a sucessão de saídas observadas. Um método muito provável para este caso, um modelo de estados é o algoritmo de viterbi que é uma versão de stochastic na programação dinâmica . Algumas pesquisas viram que o reconhecimento da fala humana, os sistemas se utilizam do HMM e os algoritmos de DP. Um exemplo é et de Fissore que em ambos os métodos usados num vocabulário grande isolaram cada palavra para o reconhecimento do sistema.

Na ocasião, HMMs treinou ao longo de um máximo critério de probabilidade e mostrou as propriedades de discriminação eram pobres. Inadequado para vocabulários que contêm palavras parecidas entre si como o alfabeto inglês que é o vocabulário de interesse. HMMs treinou usando o máximo critério de informação mútuo, mas era mais complicado. Muitos desenvolvimentos em HMMs aconteceram desde então e no momento HMMs é a ferramenta de reconhecimento de fala amplamente usada em sistemas de estado-da-arte. HMMs ainda têm a desvantagem de que, usando informação contextual, é difícil capacidade de armazenamento grande. Este problema está sendo resolvido em trabalho contínuo atual que usa um HMM/Connectionist híbrido aproxima para contínuo reconhecimento de fala.

Em 1980, perceptrons de multi-capa (MLP) foi reconhecido como sendo uma ferramenta de reconhecimento de fala satisfatória. Um MLP, também conhecido como um rede neural, é um mecanismo de reconhecimento de padrão geral para o qual pode aprender entre categorias diferentes de sinais de fala " vendo " exemplos durante treinamento.

Grande esperança tem sido colocada em redes neurais para executar tarefas como reconhecimento de fala desde que o cérebro humano já alcançou a habilidade para executar esta tarefa. O entendendimento do sistema nervoso e neurônios biológicos está incompleto e isto pode ser o caso que redes neurais são muito simples para alcançar o nível de reconhecimento de fala de humanos.

Para levar em informação de contextual de conta, a rede neural de demora de tempo (TDNN) foi adotada em alguma pesquisa. Um exemplo de este trabalho é et de Waibel, al. quem TDNNs usado para o reconhecimento dos fonemas B ", D" e G ". Uma rede neural de back-propagação foi empregada com a cadeia introduz sendo 16 Mel normalizado escalam coeficientes de Cepstral a cada armação de tempo. A todo intervalo de tempo, eram 15 armações introduzidas à rede neural, quer dizer, a armação atual para aquele período de tempo e as armações dos 14 intervalos de tempo prévios. Depois de treinando, reconhecimento é levado a cabo então passando padrão de fala em cima de o introduza neurônios. Um vocabulário grande de japonês, 5240 palavras, foi registrado e estes foram os fonemas a serem reconhecidos. Um taxa de reconhecimento comum de 98.5% foi atingida nos dados de teste pelo TDNN considerando que 93.7% foram alcançados por um HMM dado a mesma tarefa de reconhecimento.

Waibel, Sawai e Shikano TDNNs usado em um sistema de reconhecimento de fala onde foram treinadas cadeias menores para aprender subcategorias de fonemas. Estes cadeias de subcategoria usaram cadeias maiores então sem qualquer degradação em desempenho. Várias técnicas por cultivar estas cadeias sem desempenho degradante, incorrendo tempos de treinamento grandes ou requerendo mais dados, foram propostas. Foram treinados duas sub-redes, um reconhecer o fonemas " B ", D " e " G ", alcançando 98.3%, e o outro reconhecer o fonemas " P ", T " e " K ", alcançando 98.7% desempenho. A rede neural criando nestas cadeias de subcomponentes, para reconhecer as letras " B ", D ", G ", P ", T ", e " K " alcançou 98.6%. Uma cadeia treinou para reconhecer todas as consoantes, alcançando taxas de reconhecimento de ao redor 96%. Estes resultados eram comparado a esses de um HMM padrão que alcançou 83.6% desempenho e um HMM melhorado que alcançou 92.7% mostrando que a rede neural era significativamente melhor.

O Hampshire e Waibel usaram um TDNN para o reconhecimento dos fonemas " B ", D " e " G " que empregam vários encarecimento inclusive um objetivo novo. Esta função foi achada para ser um encarecimento significativo que prova ser menos propenso a um super treinamento e prevendo generalizações melhores no treinamento destes dados.

Outros tipos de redes neurais demonstraram alternativas atraentes para fala. Cadeias de função de base radiais são um exemplo de tais cadeias com a vantagem que eles podem ser treinados muito mais rápido que cadeias de propagação padrão. Renals e Rohwer compararam o desempenho de cadeias de função de base padrão com cadeias de propagação e um HMM em reconhecimento de fonemas isolados. Ambas as aproximações de rede neural superaram o HMM. A função de base radial foi treinada em 4 minutos como oposto à cadeia de propagação de parte de trás que levou 3 horas. Mas a cadeia de propagação parte de trás alcançou desempenho melhor e é muito mais robusto que a cadeia de função de base radial.

A rede neural de controle escondida (HCNN) usa um modelo de fonte dos dados para que melhore desempenho. Ela mede a distância em espaço de padrão entre o padrão de fala a ser reconhecido e um padrão de referência gerado por modelo de classe.

Também podem ser usadas redes neurais para implementar os algoritmos usados em sistemas de reconhecimento de fala convencionais. Durante a supervisão que treina e organiza cadeias que usam o algoritmo de Kohonen, são apresentados vetores consecutivos à cadeia e nenhum vetor de produção desejado é especificado. Os pesos organizarão de tal forma que fique sensível para semelhante característica que associa agrupamentos diferentes com modos de produção diferentes. Isto age como uma cadeia neural de implementação de classificação. Uma rede de viterbi é um implementação de rede neural de um decodificador de viterbi usou em reconhecedores de HMM. Também foram aplicadas redes neurais ao problema de fala contínua. O Harrison e Fallside usaram uma aproximação de rede neural para o reconhecimento de fonemas em fala contínua que usa dois sistemas de parte. O primeiro regressou uma rede neural de propagação que classificou os dados de fala espectrais em sub-unidades de fala. A segunda parte consistiu de um classificador de sucessão, formado de neurônios como componentes que reconhecem fonemas de sucessões de sub-unidades. O banco de dados utilizado, é constituído de 162 palavras a serem treinadas e 90 palavras de teste faladas por um locutor. A tarefa era o reconhecimento de um subconjunto de 14 fonemas de inglês britânico e um desempenho global de 87% foi alcançado.

Outro exemplo de uma aproximação de rede neural para reconhecimento de fala contínuo é o locutor que sistema independente desenvolveu por Franzini, Witbrock e Lee. A tarefa era reconhecer fios de dígitos e o sistema incluídos rede neural reincidente e um HMM. A rede neural produziu hipóteses dos componentes da expressão vocal a ser reconhecido. Estes eram usados como introdução ao HMM que fez a decisão concludente. Um desempenho de 97% era alcançado nas palavras de dígito individuais e 91% para as orações completas.

Alguma pesquisa olhou no desenvolvimento de sistemas que incorporam redes neurais e os algoritmos mais tradicionais usaram em reconhecimento de fala. Huang e Kuh usaram uma rede neural para o reconhecimento de palavras isoladas de um vocabulário de tamanho médio. Este sistema também incluiu o uso de mapas de característica que foram treinados usando um algoritmo de k-meios. Estes mapas de característica transformaram os dados em vetores estimados binários que eram então usado como introdução à uma única rede neural de propagação. Usando mais de uma partição para um mapa de características, o banco de dados de categorias de possíveis palavras em dois banco de dados menores. O desempenho por dividir corretamente a introdução de banco de dados menores é de 98% a taxa de reconhecimento da palavra global, que era alcançada cerca de 93%.

Botros, Siddiqui e Deiro olharam outro tipo de sistema de reconhecimento de fala

que combinou HMMs e redes neurais para palavra reconhecimento isolado. Um HMM é usado para extrair os estados da fala, então estes dados são apresentados a uma rede neural. A rede neural é treinada para toda palavra a ser reconhecida pelo sistema. Isto prediz o vetor de característica durante o qual será produzido o da próxima vez e a diferença entre o vetor de característica predito e a característica atual é calculado. Este valor de erro é somado em cima de todas as armações e então a cadeia que produz o mais baixo erro indica a palavra para qual o padrão pertence.

Reconhecimento do Alfabeto inglês

O reconhecimento do Alfabeto de inglês falado através de máquina soube ser muito tempo uma tarefa difícil e desafiadora em Reconhecimento de Fala. Isto é devido ao existência de vários subconjuntos de facilmente se confundem. Estes subconjuntos são; o E fixe {B, C, D, E, G, P, T, V}, o jogo {Q, U}, o jogo {M, N} e o jogo {UM, K, J}.

Um sistema de reconhecimento de fala capaz para reconhecer o alfabeto inglês seria útil em muitas aplicações. Em situações onde informações devem ser dadas pelo usuário, como diretório automatizado, recuperação, soletrando o nome e precisando clarificar o que desde então há tal um número ilimitado de possíveis nomes. Soletrando de uma palavra ou oração pode ser gastada atrás como " em sistemas de reconhecimento de palavra conectados onde o sistema não tem reconhecido aquela porção da fala. Como mencionou na seção prévia, muitos sistemas usam métodos padrão de emparelhar. O trabalho foi acabado usando métodos estatísticos para o reconhecimento das cartas do alfabeto inglês falado em isolamento.

Soong usa uma aproximação de segmento baseado na cadeia, para o locutor reconhecimento dependente. Para cada carta, uma ficha de treinamento é segmentada em fichas de palavras menores, que consiste em 4 unidades; sons estacionários, sons transitivos rápidos, lento transitivo e agrupamentos consoante. As fichas de treinamento restantes são alinhadas para a ficha de referência que usa um procedimento de programação dinâmico. Os segmentos treinandos usam a cadeia então. Um banco de dados com o alfabeto inglês que consiste em 4 locutores que repetem cada palavra 5-7 vezes durante treinamento e 10 vezes durante os testes. Uma taxa de erro de 7.7% em cima de todos os locutores foi alcançado um desempenho de 92.3%.

Hard e Vasry aplicaram uma probabilidade de posteriori de máximo (MAPA) estimação técnica em um locutor por base de locutor como expressão vocal.

A estimação de MAPA é usada para atualizar os vetores de característica ms. A classificação é levada a cabo usando uma estrutura de árvore de decisão para tomar decisões e classificar cada expressão vocal em sua categoria. Um banco de dados de alfabeto inglês que consiste em 20 locutores, cada um repetindo as 26 letras do alfabeto 4 vezes era usado. Treinando foi levado 20 vezes. Cada tempo 19 locutores eram usados para treinar e o foram usados 20º para testar o sistema que muda o locutor de teste toda vez. Foram executadas análises temporais e espectral em cada expressão vocal para prover 60 medidas que descrevem várias características do sinal de fala. Em cima do erro de alfabeto inteiro foram alcançados 6.2%, que é um desempenho de 93.8%.

Algoritmos de alinhamento

A fala comum é o problema principal de sistemas de reconhecimento de fala. Dois algoritmos disponíveis para lidar com isto são, tempo dinâmico que deforma (DTW) e segmentação de rastro (TS), que são explicados em detalhe.

Para tal, são examinados e utilizados junto com uma rede neural completamente conectada para reconhecimento de um banco de dados do alfabeto inglês. O desempenho deles são alguns méritos relativos, então quando comparados para determinar um método que é o mais satisfatório para a tarefa.

O uso de funções de transferência diferentes dentro das unidades de processo da cadeia neural é para que sejam examinadas as várias versões da função de sigmoid e comparadas. A discrepância da taxa de aprendizagem no erro do algoritmo de propagação, também regressa investigando e comparando o desempenho da rede neural, quando três valores diferentes de taxa de aprendizagem são usados.

O Banco de dados padrão do Alfabeto inglês

A fonte dos dados para treinar e testar a rede neural é um banco de dados dos Laboratórios de Pesquisa de Telecomunicações britânicos (BTRL), que consiste de cada uma das cartas do alfabeto inglês que é falado três vezes por 104 locutores.

O banco de dados foi registrado a BTRL que usa os empregados de Telecom britânicos como o locutores. Os locutores consistem em 53 machos e 57 fêmeas de várias idades. Os dados são providos em dois formatos: um locutor em treinamento independente na forma de teste e um locutor múltiplo que treina e testa forma. Em forma de locutor múltiplo, as primeiras duas expressão vocais de cada carta faladas por todo locutor é utilizado para treinar a cadeia e a expressão vocal restante, e então são usadas para testar a cadeia. Isto significa que, a cadeia que usa estas expressões vocais faladas, são testadas por vozes das quais já viu alguns exemplos. Dessa forma, o banco de dados de fala contém 5302 expressões vocais que podem ser usadas por treinar a cadeia e 2674 expressões vocais que estão disponível para testar.

Os sinais de fala são registrados em um baixo ambiente de ruído, com alta qualidade em um equipamento gravador. Os sinais que usam um conversor de 16-bits A/D, são provados às 20KHz no conversor. Os locutores são incitados em uma ordem fortuita para dizer cada carta e depois de cada lembrete são registrados dois segundos de dados a disco.

A posição final precisa, dos dados de fala, é uma tarefa difícil, mas obtêm-se resultados razoáveis, tendo sido alcançado com palavras em reconhecimento isolado onde o introdução de dados é cercado por silêncio. Alguns dos algoritmos típicos localizavam o final da fala olhando a energia do sinal entrante. Outros algoritmos examinaram o número de vezes que o sinal cruza nos zeros, que são o número de tempos que as mudanças notáveis auditivas de positivo, negativo e vice-versa. Quando a energia do sinal ou o número de alcance de cruzamentos em zeros chega a um certo nível, é razoável assumir que o sinal de fala não está mais presente. Neste caso, uma rotina de automática dá a finalização exata para cada expressão vocal. Isto é conferido então, por um operador humano e ajustado se preciso for. São descartadas expressões vocais ruins nesta fase, quer dizer, se a carta errada é falada ou se a gravação é cortada.

Freqüência de Mel Coeficientes de Cepstral

O sinal digitalizado contém muita informação irrelevante e requer um lote de espaço de armazenamento. Simplificar o processo subseqüente do sinal útil, devem ser características para os dados comprimidos. O espectro de potência do sinal de fala é o método freqüentemente utilizado para codificação. A orelha humana executa algo bem parecido para um Transformada rápida de Fourier, antes de passar a informação para o cérebro para análise.

Antes de transformar o sinal de fala, em seu espectro de potência, isto deve ser dividido para cima e sobrepor blocos. Aqui, uma janela de hamming é utilizada:

Freqüência de Mel e coeficientes de Cepstral (MFCCs) são usados para codificar o sinal de fala. As escalas de Mel são distribuídas em freqüências linearmente de baixo alcance, mas logaritmicamente no alto alcance, para o qual corresponde as características fisiológicas da orelha humana. A análise de Cepstral calcula a Transformada Inversa de Fourier do logaritmo do espectro de potência do sinal de fala.

Para cada expressão vocal, os coeficientes de Cepstral são calculados para armações de 512 amostras com armações sucessivas que são sobrepostas através de 256 amostras. Cada armação é pre-enfatizado em janelas, então pela janela de hamming para minimizar a posição final, são efetuadas mudanças de uma seção de 512 amostras fora do sinal de fala. Uma Transformada rápida de Fourier (FFT) é utilizada para calcular a magnitude discreta do espectro. A energia é calculada em 26 Mel, onde sobrepondo faixas de freqüência são calculados. Isto resulta que cada armação é representada por 8 MFCCs. Isto é uma redução de dados de 512 amostras para 8 coeficientes.

Os dados são usados em sua forma crua como apresentou no banco de dados. Nenhum adicional de pré-processamento são executados nos dados, antes dos métodos de alinhamento de tempo serem empregados.

 

 

 

REFERÊNCIAS BIBLIOGRÁFICAS

www.inf.ufrgs.br/~adami/semianda.html

www.moonstar.com/~morticia/thesis/chapter4.html

mars.elcom.nitech.ac.jp/~lamar/eletr/bio.html

www.speech.kth.se/NICO/index.html

www.dragonsys.com/marketing/fs_vtl.html

www.ucs.br/revox/frame.htm

www.nacional.br/~gustavos/teses.htm

 

CONCLUSÃO

De acordo com diversas estruturas neurais e algoritmos de aprendizagem propostos por vários pesquisadores, redes neurais possuem certas características exclusivas de sistemas biológicos. Tais características entram em conflito com os tradicionais métodos computacionais. Sistemas de computação baseados em redes neurais tem a capacidade de receber ao mesmo tempo várias entradas e distribuí-las de maneira organizada.

Geralmente, as informações armazenadas por uma rede neural são compartilhadas por todas as suas unidades de processamento. Característica que contrasta com os atuais esquemas de memória, onde a informação fica confinada em um determinado endereço.

Em um sistema de rede neural, a informação pode parecer ter representação redundante, porém, o fato de que ela se encontre distribuída por todos os elementos da rede significa que mesmo que parte da rede seja destruída, a informação contida nesta parte ainda estará presente na rede, e poderá ser recuperada. Portanto, a redundância na representação de informações em uma rede neural, diferente de outros sistemas, transforma-se em uma vantagem, que torna o sistema tolerante a falhas. Os atributos de uma rede neural, tais como aprender através de exemplos, generalizações redundantes, e tolerância a falhas, proporcionam fortes incentivos para a escolha de redes neurais como uma escolha apropriada para aproximação para a modelagem como o reconhecimento de voz e demais sistemas biológicos.

A principal força na estrutura de redes neurais reside em sua habilidades de adaptação e aprendizagem. A habilidade de adaptação e aprendizagem pelo ambiente significa que modelos de redes neurais podem lidar com dados imprecisos, principalmente o reconhecimento de voz, que como pudemos perceber é muito suscetível a erros e situações não totalmente definidas. Uma rede treinada, com um bom e eficiente banco de dados, tem a habilidade de generalizar quando é apresentada à entradas que não estão presentes em dados já conhecidos por ela.

Para o reconhecimento de voz, o grande trunfo das redes neurais é esta possibilidade de treinamento dos neurônios no sistema. Uma vez que o banco de dados está bem treinado com todo alfabeto, com várias vozes diferentes, fica um tanto mais fácil a identificação da voz vinda de um usúario. Fato esse, podemos concluir como as Redes Neurais, o método mais eficiênte em matéria de reconhecimento de voz.