Você está na página 1de 18

FACULDADE ANGLICANA DE ERECHIM 

Tecnologia em Análise e Desenvolvimento de Sistemas 

Redes Neurais – Análise de Voz 

Daniel Marin 

Erechim, março de 2007.
Sumário 

1. INTRODUÇÃO ______________________________________________________ 3 
2. OBJETIVO _________________________________________________________ 4 
3. JUSTIFICATIVA_____________________________________________________ 5 
4. ABORDAGEM INICIAL _______________________________________________ 6 
4.1 Sistema Nervoso _________________________________________________ 6 
4.1.2 Componentes e um Neurônio ___________________________________ 6 
4.2 O Que são Redes Neurais? ________________________________________ 7 
4.2.1 Breve Histórico das Redes Neurais ______________________________ 7 
5. CARACTERÍSTICAS GERAIS DAS REDES NEURAIS ______________________ 9 
5.1 Tipos de Camadas das Redes Neurais ______________________________ 10 
5.2 Tipos de Redes Neurais __________________________________________ 11 
5.3 Aprendizado de uma Rede Neural Artificial __________________________ 11 
5.4 Perceptron Multicamadas (MLP) ___________________________________ 12 
5.4.1 Modelagem _________________________________________________ 13 
5.5 Algoritmo de Backpropagation ____________________________________ 13 
5.6 Desenvolvimento de Aplicações de Redes Neurais  ___________________ 14 
6. RECONHECIMENTO DE VOZ_________________________________________ 15 
7. CONCLUSÃO  _____________________________________________________ 17 
REFERÊNCIAS BLIBLIOGRÁFICAS _____________________________________ 18
1. INTRODUÇÃO 

O  mais  fascinante  processador  conhecido  é  o  cérebro  humano,  composto  de 


aproximadamente 100 bilhões de neurônios. Onde todas as funções e movimentos do 
homem estão relacionados a ele. Neste contexto entra o Termo Redes Neurais onde o 
trabalha o processamento dos dados de maneira semelhante ao cérebro humano. 
O  Termo  Rede  Neural  Artificial  abrange  três  aspectos:  neurônio,  arquitetura  e 
aprendizagem.  Neste  trabalho  também  será  abordado  à  utilização  das  redes  neurais 
aplicadas a Softwares de Análise de Voz.
2. OBJETIVO 

Este  trabalho  subdivide­se  em  dois  objetivos  principais,  primeiro  fazer  uma 
abordagem  clara  e  sucinta  sobre  o  ramo  da  Inteligência  Artificial  denominado  “Redes 
Neurais” tratando de suas características, histórico, diferentes tipos, utilização, processo 
de aprendizado, algoritmo de propagação, camadas de uma rede e desenvolvimento de 
aplicações. Em segundo plano demonstrar o emprego de Redes Neurais em softwares 
de análise da voz humana.
3. JUSTIFICATIVA 

O  assunto  escolhido  para  ser  desenvolvido  neste  trabalho,  é  algo  em  plena 
expansão  com  mercado  de  trabalho  promissor,  pois  está  apenas  “engatinhando”  em 
termos  de  tecnologias  e  softwares  disponíveis  no  mercado.  Em  segundo  lugar  é  uma 
forma de agregarmos um maior conhecimento neste campo da Inteligência Artificial.
4. ABORDAGEM INICIAL 

4.1 Sistema Nervoso 

O Sistema Nervoso é composto por bilhões de neurônios, que se comportam de 
maneira  altamente  complexa.  A  comunicação  entre  eles  é  realizada  através  de 
impulsos; quando um impulso é recebido, o neurônio o processa, e passado um limite 
de  ação  (conhecimento),  dispara  um  segundo  impulso  que  produz  uma  substância 
neurotransmissora – que em conseqüência disto flui do corpo celular  para a região do 
axônio,  uma  vez  que  ele pode  ou não estar conectado  ao dentrito  (parte  do  neurônio) 
de outro neurônio. 

O neurônio transmissor do pulso poderá controlar a sua freqüência aumentando 
ou  diminuindo,  seu  papel  é  essencial  na  determinação  do  funcionamento, 
comportamento e raciocínio do ser humano. 

4.1.2 Componentes e um Neurônio 

A estrutura básica de um neurônio é composta por: 
Os dentritos: receber os estímulos transmitidos pelos outros neurônios; 
O  corpo  de  neurônio:  responsável  por  coletar  e  combinar  informações  vindas  de 
outros neurônios; 
Axônio: responsável por transmitir os estímulos para outras células. 
A figura abaixo exibe a estrutura básica de um neurônio.
Figura 1.0: Constituição de uma célula neural. 

4.2 O Que são Redes Neurais? 

Redes  Neurais  são  conjuntos  de  neurônios,  arquitetura  e  aprendizado.  Tem 


como  idéia  principal  processar  as  informações  de  uma  determinada  aplicação  da 
mesma forma e organização dos neurônios cerebrais. 
Segundo  Kohonen  (1972),  as  Redes  Neurais  Artificiais  são  definidas  como  redes 
massivamente  paralelas  e  interconectadas,  de  elementos  simples,  com  organização 
hierárquica.  Estes  elementos  devem  interagir  com  objetivos  do  mundo  real  da  mesma 
maneira que o sistema nervoso biológico. 
Para  Loesch  (1996),  Redes  Neurais  Artificiais  são  sistemas  computacionais,  de 
implementação em hardware e software, que imitam as “habilidades computacionais” do 
sistema  nervoso  biológico,  utilizando,  para  isso,  um  grande  número  de  simples 
neurônios artificiais interconectados. 

4.2.1 Breve Histórico das Redes Neurais 

As  implementações de Redes Neurais, deram seus primeiros passos no final da 
década de 40 através do desenvolvimento de circuitos analógicos. Neste período
surgem nomes como Warren McCulloch e Walter Pitts., precursores desta tecnologia, 
conforme texto retirado do site abaixo exposto. 

As  redes  neurais  foram  desenvolvidas,  originalmente,  na  década  de  40,  pelo 
neurofisiologista Warren  McCulloch,  do  MIT,  e  pelo matemático Walter  Pitts,  da 
Universidade  de  Illinois,  os  quais,  dentro  do  espírito  cibernético,  fizeram  uma 
analogia  entre  células  nervosas  vivas  e  o  processo  eletrônico  num  trabalho 
publicado  sobre  "neurônios  formais".  O  trabalho  consistia  num  modelo  de 
resistores  variáveis  e  amplificadores  representando  conexões  sinápticas  de  um 
neurônio biológico. 
Desde  então,  mais  enfaticamente  a  partir  da  década  80,  diversos  modelos  de 
redes neurais artificiais têm surgido com o propósito de aperfeiçoar e aplicar esta 
tecnologia.  Algumas  destas  propostas  tendem  a  aperfeiçoar  mecanismos 
internos da rede neural para aplicação na indústria e negócios, outras procuram 
aproximá­las  ainda  mais  dos  modelos  biológicos  originais.  Retirado  de: 
http://www.cerebromente.org.br/n05/tecnologia/rna.htm em 19/03/2007 

Na  década  de  1980  houve  um  interesse  maior  sobre  as  redes  neurais  com  a 
elaboração  de  vários  trabalhos.  Tais  como  o  de  Hopfield  com  a  elaboração  de  um 
algoritmo de aprendizagem.
5. CARACTERÍSTICAS GERAIS DAS REDES NEURAIS 

Uma  Rede  Neural  Artificial  é  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  e  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 (GURNEY, 1997). 

A operação de uma unidade de processamento, proposta por McCullock e Pitts em 
1943, pode ser especificada do seguinte modo:
· Sinais são apresentados à entrada;
· Cada sinal é multiplicado por um número, ou peso, que indica a sua influência na 
saída da unidade;
· É feita a soma ponderada dos sinais que produz um nível de atividade;
· Se este nível de atividade exceder um certo  limite (threshold) a unidade produz 
uma determinada resposta de saída. 

Figura 2.0 : Esquema de unidade McCullock – Pitts(neurônio artificial). 

Suponha que tenhamos p sinais de entrada X1, X2, ..., Xp e pesos w1, w2, 
...,  wp  e  limitador  t;  com  sinais  assumindo  valores  booleanos  (0  ou  1)  e  pesos 
valores reais. 
Neste modelo, o nível de atividade a é dado por:
a = w1X1 + w2X2 + ... + wpXp 
A saída y é dada po 
y = 1, se a >= t ou 
y = 0, se a < t. 

5.1 Tipos de Camadas das Redes Neurais 

As  arquiteturas  das  Redes  Neurais  são  organizadas  em  camadas  –  conforme 
figura abaixo. 

Figura 3.0: Organização das camadas. 

A  classificação  das  diferentes  camadas  das  Redes  Neurais  se  dá  de  três  formas 
conforme descrição abaixo.
· Camada de Entrada: onde os padrões são apresentados à rede.
· Camadas Intermediárias: onde é feita a maior parte do processamento.
· Camada de Saída: onde o resultado final é concluído e apresentado.
5.2 Tipos de Redes Neurais 

Diferenciamos  Redes  Neurais  pela  maneira  de  como  se  dá  à  direção  dos  sinais, 
com base nisso temos então dois tipos de Redes Neurais Artificiais.
· Feedforward: neste tipo de Rede Neural, os sinais são propagados em apenas 
uma  direção,  levando  em  conta  a  unidade  de  entrada,  passando  pela  camada 
intermediária até a saída.
· Feedback:  neste  caso  os  sinais  de  entrada  podem  se  propagar  da  saída  de 
qualquer neurônio para a entrada em um outro neurônio. 

Os modelos se apresentam da forma de um conjunto de neurônios de entrada, que 
por sua vez fornecem informações para a rede. E um conjunto de neurônios de saída, 
que representam os sinais de saída e pro final um conjunto de neurônios intermediários. 
Os  neurônios  são  de  certa  forma  conectados  ou  ligados  cada  um  com  um  peso, 
representado pela letra W. Os pesos ditos positivos correspondem ao sinal de entrada, 
e negativos correspondem a fatores de inibição. Cada neurônio tem como propriedade 
processar um sinal de entrada e transformá­lo em sinal de saída. 

5.3 Aprendizado de uma Rede Neural Artificial 

Uma  Rede  Neural  tem  a  habilidade  de  aprender  em  seu  ambiente  e  com  esse 
aprendizado  melhorar  de  forma  significativa  seu  desempenho.  Isso  é  feito  através  de 
um processo iterativo de ajustes aplicado a seus pesos, o treinamento. O aprendizado 
ocorre  quando  a  rede  neural  atinge  uma  solução  generalizada  para  uma  classe  de 
problemas.  Denomina­se  algoritmo  de  aprendizado  a  um  conjunto  de  regras  bem 
definidas para a solução de um problema de aprendizado. Existem diversificados tipos 
de algoritmos de aprendizado específicos para os diferentes tipos de Redes Neurais, de 
pode­se notar a diferença entre um e outro pela forma como os pesos são modificados. 
É importante também ser  mencionado à maneira como uma Rede Neural se relaciona 
com  o  ambiente,  nestes  termos  existe  os  seguintes  paradigmas  de  aprendizado  que 
serão expostos a seguir.
· Aprendizado  Supervisionado:  usa­se  um  agente  externo  que  por  sua  vez 
indica à rede a resposta desejada para o padrão de entrada.
· Auto­Organização:  também  conhecido  como  aprendizado  não  – 
supervisionado,  quando  não  existe  um  agente  externo  indicando  à  resposta  a 
rede.
· Reforço: quando um agente externo avalia a resposta fornecida pela rede. 

5.4 Perceptron Multicamadas (MLP) 

O Perceptron Multi ­ Camadas é uma extensão do Perceptron de camada única. 
Esta arquitetura apresenta uma camada com unidades de entrada, conectada a uma ou 
mais unidades intermediárias, chamadas camadas ocultas, e uma camada de unidades 
de saída. Conforme figura abaixo melhor especificando. 

Figura 4.0 : Camadas de uma Rede Neural. 

Nas  redes  multicamadas,  cada  uma  de  suas  camadas  tem  uma  função.  A  de 
saída  recebe  estímulos  da  camada  intermediária  e  constrói  o  padrão  que  será  a 
resposta.  As  camadas  intermediárias  são  as  que  extraem  características,  seus  pesos
são  a  codificação  de  características  apresentadas  nos  padrões  de  entrada,  que 
possibilitam a criação de sua própria representação mais complexa e detalhada. 

5.4.1 Modelagem 

A modelagem da arquitetura de uma Rede Perceptron Multi­Camadas envolve a 
escolha da quantidade de camadas e o número de unidades em cada camada. 
O  processamento  de  cada  unidade  é influenciado pelo  processamento  efetuado  pelas 
unidades  das  camadas.  Cada  camada  desempenha  um  papel  específico,  conforme 
descrição abaixo.
· Camada de Entrada: Receptora de estímulos;
· Primeira  Camada  Oculta:  Cada  unidade  desta  camada  define  uma  reta  no 
espaço de decisão, refletindo características dos padrões apresentados;
· Segunda  Camada  Oculta:  Combina  as  retas  definidas  pela  camada  anterior, 
formando regiões convexas onde o número de lados é definido pela número de 
unidades da camada anterior conectados a unidade desta camada;
· Camada  de  Saída:  Combina  as  regiões  formadas  pela  camada  anterior, 
definindo o espaço de saída da rede. 

5.5 Algoritmo de Backpropagation 

O aprendizado por backpropagation baseia­se na propagação retrógrada do erro 
para  os  níveis  anteriores  da  rede,  de  acordo  com  o  grau  de  participação  que  cada 
neurônio teve no nível posterior.  Para melhor ser compreendido este conceito devemos 
ter em mente os seguintes conceitos expostos a seguir. 

Primeiramente  é  importante  ser  ressaltada  a  “Regra  Delta  Generalizada”,  a 


mesma é um método de aprendizado por minimização do erro. 
Regra  Delta  Generalizada  ­  Método  de  aprendizado  por  minimização  do  erro.  A 
“Retroprogramação” propaga o erro gerado na camada de saída para trás da rede.
O  algoritmo  de  aprendizado  backpropagation  apresenta  duas  fases  bem  definida.  Na 
primeira é realizado o treinamento da rede. A segunda fase representa a validação do 
treinamento, é onde a rede deve reconhecer os padrões que foram treinados. 

5.6 Desenvolvimento de Aplicações de Redes Neurais 

Primeiramente é feita a coleta de dados relativos ao problema e sua separação 
em um conjunto de treinamento e um conjunto de testes. 
Normalmente,  os  dados  coletados  são  separados  em  duas  categorias:  dados  de 
treinamento,  que  serão  utilizados  para  o  treinamento  da  rede  e  dados  de  teste,  que 
serão utilizados para verificar sua performance sob condições reais de utilização. Além 
dessa  divisão,  pode­se  usar  também  uma  subdivisão  do  conjunto  de  treinamento, 
criando um conjunto de validação, utilizado para verificar a eficiência da rede quanto a 
sua  capacidade  de  generalização  durante  o  treinamento,  e  podendo  ser  empregado 
como critério de parada do treinamento. 

Depois  de  determinados  estes  conjuntos,  eles  são  geralmente  colocados  em 
ordem  aleatória  para  prevenção  de  tendências  associadas  à  ordem  de  apresentação 
dos  dados.  Além  disso,  pode  ser  necessário  pré­processar  estes  dados,  através  de 
normalizações,  escalonamentos  e  conversões  de  formato  para  torná­los  mais 
apropriados à sua utilização na rede.
6. RECONHECIMENTO DE VOZ 

As  redes  neurais  também  são  empregadas  para  o  reconhecimento  de  padrões 
de voz. Para que seja possível realizar o reconhecimento são seguidos quatro passos 
básicos, que serão melhores abordados a seguir. 

Primeiramente  ocorre  a  digitalização  da  fala  que  se  quer  reconhecer.  Um 
segundo  passo  realiza  a  computação  das  características  que  representam  o  domínio 
espectral  contido  na  fala  (regiões  de  alta  energia  em  freqüências  particulares).  Esse 
passo  é  computado  a  cada  10  ms,  sendo  que  cada  seção  de  10  ms  é  chamada  de 
quadro  (frame).  O  terceiro  passo  consiste  do  uso  de  uma  rede  neural  para  realizar  a 
classificação  de  um  conjunto  de  características  dentro  das  características  fonéticas 
básicas  para  cada  frame.  Por  fim,  o  quarto  passo  aplica  um  método  de  busca  para 
associar  as  saídas  da  rede  neural  com  padrões  de  palavras  a  fim  de  encontrar  a 
palavra  com  a  qual  as  saídas  da  rede  mais  se  assemelham.  Em  seguida  a  voz 
digitalizada  em  formato  de  onda  é  convertida  para  uma  representação  de  domínio 
espectral. Nesse processo são tomadas  medidas a fim de reduzir os efeitos de ruídos 
na fala analisada. Para obter informações sobre o índice acústico é aplicada uma janela 
de  contexto  (context  window).  Após,  tem­se  o  quadro  de  interesse  para  o 
processamento  e  ainda  os  ­60,  ­30,  30  e  60  ms  longe  do  quadro  de  interesse,  dessa 
forma  é  considerada  a  natureza  dinâmica  da  fala.  A  saída  da  janela  de  contexto  é 
enviada  a  rede  neural  (26  características  por  quadro  em  5  quadros,  ou  seja,  130 
características).  A  saída  da  rede  neural  é  a  classificação  de  cada  quadro  de  entrada, 
medida  em  termos  de  probabilidade  das  categorias  de  fonemas  básicos.  Essas 
medidas  de  probabilidade  são  dispostas  em  uma  matriz  de  probabilidades  de 
categorias de fonemas básicos.
Figura 5.0: Passos para reconhecimento da voz  “Redes Neurais Artificiais”. 

Figura 6.0: Rede Neural empregada.
7. CONCLUSÃO 

Ao  término  deste  trabalho  podemos  tiras  as  seguintes  conclusões:  as  Redes 
Neurais Artificiais cada vez mais serão usadas para solucionar questões do nosso dia a 
dia. É importante ressaltarmos duas características das Redes Neurais que as tornam 
de  certa  forma  algo  “curioso”,  o  Algoritmo  de  Backpropagation,  onde  trabalha  com  a 
minimização do erro, e o aprendizado de Redes Neurais que consiste na habilidade de 
aprender em seu ambiente e com esse aprendizado melhorar de forma significativa seu 
desempenho. 

A  análise  e  reconhecimento  da  voz  humana,  com  a  utilização  de  softwares 


usando  Redes  Neurais,  vem  a  preencher  uma  lacuna  existente  até  então,  pois  há 
tempos atrás não dispúnhamos desta Tecnologia.
REFERÊNCIAS BLIBLIOGRÁFICAS 

Disponível em: http://www.icmc.sc.usp.br/~andre/research/neural/MLP.htm ­ 
(consultado em 20 de março de 2007). 

Disponível em: http://www.infowester.com/redesneurais.php  ­ (consultado em 20 de 
março de 2007). 

Disponível em: http://www.inf.ufrgs.br/procpar/disc/cmp135/trabs/992/Recon/trab2.html ­ 
(consultado em 20 de março de 2007). 

Disponível em: http://www.din.uem.br/ia/neurais/ ­ (consultado em 20 de março de 
2007). 

Disponível em: http://www.icmc.usp.br/~andre/research/neural/ ­ (consultado em 23 de 
março de 2007). 

Disponível em:http://www.lncc.br/~labinfo/tutorialRN/frm4_perceptronMultiCamadas.htm 
– (consultado em  20 de março de 2007). 

Disponível em: http://www.inf.ufrgs.br/procpar/disc/cmp135/trabs/mccera/t1/padroes.pdf 
­ (consultado em 23 de março de 2007). 

MEDEIROS,  Luciano  Frontino  de.  Redes  Neurais  em  Delphi.  Florianópolis:  Editora 
Visual Books, 2003.