2 semestre de 2000
Sumrio
1. INTRODUO ................................................................................................................................ 3
2. POR QUE REDES NEURAIS ?....................................................................................................... 5
2.1. UMA GALXIA BIOLGICA .......................................................................................................... 5
2.2. REDES NEURAIS ARTIFICIAIS SNTESE HISTRICA ...................................................................... 7
3. NEUROCOMPUTAO............................................................................................................... 11
4. REDES NEURAIS ARTIFICIAIS E A INTELIGNCIA ARTIFICIAL..................................... 13
4.1. A REDE NEURAL ARTIFICIAL ..................................................................................................... 15
4.2. CLASSIFICAO DE REDES NEURAIS ........................................................................................... 17
4.3. TOPOLOGIAS DE REDES NEURAIS ARTIFICIAIS............................................................................. 18
5. PROCESSOS DE APRENDIZADO DE UMA REDE NEURAL ARTIFICIAL .......................... 20
6. DESENVOLVIMENTO DE APLICAES ................................................................................. 22
6.1. COLETA DE DADOS E SEPARAO EM CONJUNTOS ...................................................................... 22
6.2. CONFIGURAO DA REDE .......................................................................................................... 22
6.3. TREINAMENTO ........................................................................................................................... 23
6.4. TESTE ....................................................................................................................................... 23
6.5. INTEGRAO ............................................................................................................................. 24
7. APLICAES DE REDES NEURAIS ARTIFICIAIS ................................................................. 25
8. EXEMPLO DE FUNCIONAMENTO DE UMA REDE NEURAL............................................... 29
8.1. CARACTERSTICAS GERAIS ......................................................................................................... 29
8.2. TREINAMENTO DA REDE ............................................................................................................ 30
8.3. TESTES ...................................................................................................................................... 32
9. CONCLUSO ................................................................................................................................ 34
REFERNCIAS BIBLIOGRFICAS............................................................................................... 35
1. Introduo
Alguns anos aps os primeiros artigos e ensaios que marcaram os primrdios da
neurocomputao2, Pierre de Latil, escreveu o livro O pensamento Artificial3, onde
encontra-se o seguinte trecho: Enquanto a inteligncia humana, como diz Louis
Couffignal, no pode exercer sua ao mais do que sobre um nmero restrito de
conceitos conservados pela memria e com um nmero limitado de operaes, a
mquina pode dispor de um nmero muito maior de conceitos e de regras lgicas. A
mquina pode, pois, construir raciocnios dos quais o esprito humano incapaz.. Este
entusiasmo e fascnio demonstrado, sempre tem acompanhado o homem na sua histria,
o qual tem desejado poder criar uma mquina que possa operar independentemente do
controle humano. Uma mquina cuja independncia seja desenvolvida de acordo com
seu prprio aprendizado e que tenha a capacidade de iteragir com ambientes incertos
(desconhecidos por ela), uma mquina que possa ser chamada de autnoma, inteligente
ou cognitiva.
Organismos humanos so uma fonte de inspirao para o desenvolvimento
destas mquinas. Eles proporcionam um vasto campo de aprendizado, onde pode-se
avaliar e gerar algoritmos dos processos existentes, especialmente aqueles chamados
cognitivos.
Enquanto hoje os computadores funcionam de modo seqencial, proporcionando
maior eficincia na resoluo de tarefas nas quais devem ser seguido determinadas
etapas, o crebro humano funciona com processamento paralelo, e sendo extremamente
conectado (massivamente paralelo) mais eficiente na resoluo de tarefas que exigem
um conjunto muito grande de variveis.
Em funo de duas caractersticas essenciais, paralelismo e eficincia, tem se
desenvolvido nas ltimas dcadas vrias pesquisas que tentam espelhar o processamento
dos computadores ao crebro.
O desejo humano, de criar mquinas capazes de gerar pensamento inteligente,
barrado pelo desempenho insatisfatrio das tcnicas de computao convencionais,
levou cientistas e pesquisadores a buscar formas alternativas de computao. Entre estas
formas esto as Redes Neurais Artificiais.
A inteno do presente trabalho propiciar uma introduo ao tema de redes
neurais artificiais, descrevendo em detalhes como o funcionamento das clulas
nervosas, como foi possvel extrair um modelo lgico-matemtico que est permitindo
os primeiros passos para espelhar o processamento cerebral aos computadores, e como,
a partir da, chegou-se ao que hoje conhecido como Redes Neurais Artificiais.
Os modelos neurais, procuram espelhar o processamento dos computadores ao crebro (paralelismo e eficincia) .
[VELLASCO, 2000]
O primeiro artigo que se tem referncia: A logical calculus of the ideas immanente in the nervous activity (1943) de
McCulloch e Pitts [RUSSELL & NORVIG, 1995]
3
Escrito e publicado em 1952, teve traduo para o portugus, e no Brasil chegou terceira edio em
1973, pela IBRASA (Instituio Brasileira de Difuso Cultural S.A.)
Este trabalho traz uma sntese histrica, mostrando os principais fatos que
colaboraram para o estado atual da arte. Explora todas as caractersticas das redes
neurais artificiais, apresentando sua topologia, seu modo de operar, seu treinamento e
aprendizagem. Com relao as aplicaes, mostra quais so os procedimentos para seu
desenvolvimento, exemplifica os vrios tipos de uso atualmente encontrados,
detalhando seu objetivo e funcionalidade.
2. Membrana
3. Dendritos
4. Axnio
Sinapses so junes formadas com outras clulas nervosas onde o terminal nervoso pr-sinptico de uma clula faz
contato com a membrana ps-sinaptica de outra. So nestas junes que os neurnios so excitados, inibidos ou
modulados. Existem dois tipos de sinapses, a eltrica e a qumica.
Sinapses Eltricas ocorrem onde o terminal pr-sinptico est em continuidade com o ps-sinptico. ons e pequenas
molculas passam por eles, conectando ento canais de uma clula a prxima, de forma que alteraes eltricas em
uma clula so transmitidas quase instantaneamente prxima. Os ons podem gerar fluxos em ambos as direes
destas junes, embora eles tendam a ser unidirecionais.
Sinpses Qumicas O modo de transmisso no eltrico, e sim carreado por neurotransmissores, substncias
neuroativas liberadas no lado pr-sinptico da juno. Existem dois tipos de junes qumicas. O tipo I uma sinapse
excitatria, geralmente encontrada em dendritos; o tipo II uma sinpse inibitria, geralmente encontrada em corpos
celulares. Substncias diferentes so liberadas nestes dois tipos de sinapses.
Cada boto terminal conectado a outros neurnios atravs de uma pequena fenda chamada sinpse. As caratersticas
fsicas e neuroqumicas de cada sinapse determina a fora e polaridade do sono sinal de input. Mudando a
constituio de vrios neurotransmissores qumicos pode ocasionar um aumento ou diminuio da estimulao que a
desporalizao do neurnio causa no dendrito vizinho. Alterando os neurotransmissores tambm altera a estimulao,
que pode ser inibitria ou excitatria. [Cardoso, 2000]
5
O impulso nervoso a transmisso de um sinal codificado de um dado estmulo ao longo da membrana do neurnio,
a partir do ponto em que ele foi estimulado. Qualquer informao processada a partir de um impulso nervoso. Dois
tipos de fenmenos esto envolvidos no processamento do impulso nervoso: eltrico e qumico. Eventos eltricos
propagam um sinal dentro do neurnio, e processos qumicos transmitem o sinal de um neurnio a outro ou a uma
clula muscular. Processos qumicos sobre interaes entre neurnios ocorrem no final do axnio, chamado sinapse.
Tocando intimamente com o dendrito de outra clula (mas sem continuidade material entre ambas as clulas), o
axnio libera substncias qumicas chamadas neurotransmissores, os quais se unem a receptores qumicos na
membrana do neurnio seguinte. [Cardoso, 2000]
A arte de criar mquinas que executam funes que requerem inteligncia quando executadas por possoas
(Kurzweil, 1990)
O estudo de como criar computadores para pensamentos, os quais, no momento as pessoas so melhores (Rich and
Knight, 1991)
O estudo de faculdades mentais para o uso em modelos computacionais (Charniak and McDermott, 1985)
Um campo de estudo que busca explicar e emular comportamento inteligente em termos de processos
computacionais (Schalkoff, 1990)
O ramo da cincia da computao que trata a automao do comportamento inteligente (Luger and Stubblefield,
1993) [RUSSELL & NORVIG, 1995]
dois bons livros foram editados neste perodo: Neurodynamics de Rosanblatt em 1962 e
Learning Machines de Nilsson em 1965.
O mais popular mtodo para aprendizado em redes de multicamadas chamado
de back-propagation (retro-propagao). Ele foi inicialmente inventado em 1969 por
Bryson, mas foi ignorado at o inicio dos anos 80.
10
3. NeuroComputao
Os modelos neurais, procuram aproximar o processamento dos computadores ao
crebro. As redes neurais possuem um grau de interconexo similar a estrutura dos
crebro. Em um computador convencional moderno a informao transferida em
tempos especficos, dentro de um relacionamento com um sinal para sincronizao.
[TAFNER, 1998]
A tabela abaixo, traa um comparativo entre o crebro humano e o computador:
Parmetro
Material
Velocidade
Tipo de Processamento
Armazenamento
Controle de Processos
Crebro
Orgnico
Milisegundos
Paralelo
Adaptativo
Distribudo
Computador
Metal e Plstico
Nanosegundos
Seqencial
Esttico
Centralizado
Computadores
Executa Programas
Executa Operaes Lgicas
Depende do Modelo ou do Programador
Testa uma Hiptese por vez
NeuroComputadores
Aprende
Executa operaes no lgicas,
transformaes, comparaes
Descobre as relaes dos dados ou
exemplos
Testa todas as possibilidades em paralelo
adaptar e realizar tais tarefas gradativamente com maior eficincia, mesmo que em
condies de ambiente imprevisveis. Ento, seriam muito teis onde a iterao humana
perigosa, tediosa ou impossvel; como em reatores nucleares, combate ao fogo,
operaes militares, explorao do espao a distncias em que uma nave espacial estaria
fora do alcance do controle na terra porm enviando informaes.
A constituio e funcionamento de rgos humanos so uma fonte de motivao
para o desenvolvimento destas mquinas, e proporcionam diversas dicas para o
desenvolvimento de algoritmos de aprendizado e adaptao. Assim, espera-se que
algumas das caractersticas de organismos biolgicos de aprendizado e adaptao
estejam presentes nas mesmas.
Enquanto computadores funcionam de modo seqencial, proporcionando maior
eficincia na resoluo de tarefas nas quais devem ser seguidas etapas. O crebro
humano funciona de modo paralelo, e sendo extremamente conectado mais eficiente
na resoluo de tarefas que exigem vrias variveis.
O motivo pelo qual mquinas inspiradas na biologia so diferentes das mquinas
atuais se encontra no fato de que as mquinas atuais baseiam seu processamento
explicitamente em modelos matemticos.
Baseado nas caractersticas de seres biolgicos, acredita-se que surgir em um
futuro prximo, uma gerao completa de novos sistemas computacionais, muito mais
eficientes e inteligentes que os sistemas atuais.
12
Portanto, estes elementos tem na verdade uma nica conexo de sada, que pode
dividir-se em cpias para formar mltiplas conexes, sendo que todos carregam o
mesmo sinal.
Ento, a nica entrada permitida para a funo de transferncia (que cada
elemento de processamento possui) so os valores armazenados na memria local do
elemento de processamento e os valores atuais dos sinais de entrada nas conexes
recebidas pelo elemento de processamento.
Os nicos valores de sada permitidos a partir da funo de transferncia so
valores armazenados na memria local do elemento de processamento, e o sinal de sada
do mesmo.
A funo de transferncia pode operar continuamente ou episodicamente. Sendo
que no segundo caso, deve existir uma entrada chamada "activate" que causa o
ativamento da funo de transferncia com o sinal de entrada corrente e com valores da
memria local, e produzir um sinal de sada atualizado (ocasionalmente alterando
valores da memria). E no primeiro caso, os elementos esto sempre ativados, e a
entrada "activate" chega atravs de uma conexo de um elemento de processamento
agendado que tambm parte da rede.
Sinais de entrada para uma rede neural a partir de fora da rede chegam atravs de
conexes que se originam do mundo externo, sadas da rede para o mundo externo so
conexes que deixam a rede.
De forma geral, a operao de uma clula da rede se resume em:
14
16
A rede neural passa por um processo de treinamento a partir dos casos reais
conhecidos, adquirindo, a partir da, a sistemtica necessria para executar
adequadamente o processo desejado dos dados fornecidos. Sendo assim, a rede neural
capaz de extrair regras bsicas a partir de dados reais, diferindo da computao
programada, onde necessrio um conjunto de regras rgidas pr-fixadas e algoritmos.
Usualmente as camadas so classificadas em trs grupos:
18
J Lippmann afirma que a segunda camada oculta deve ter o dobro de neurnios
da camada de sada. No caso de apenas uma camada oculta ela dever ter s(i+1)
neurnios, onde s o nmero de neurnios de sada e i o nmero de neurnios na
entrada. Em redes pequenas o nmero de neurnios da camada oculta pode ser a mdia
geomtrica entre o nmero de neurnios de entrada pelo nmero de neurnios de sada.
[TATIBANA & KAETSU, 1999]
Independente de cada abordagem, quanto mais camadas de neurnios, melhor
o desempenho da rede neural pois aumenta a capacidade de aprendizado, melhorando a
preciso com que ela delimita regies de deciso. Estas regies de deciso so
intervalos fixos onde a resposta pode estar. [VELLASCO, 2000]
A camada de entrada possui um neurnio especial chamado de "bias" e serve
para aumentar os graus de liberdade, permitindo uma melhor adaptao, por parte da
rede neural, ao conhecimento ela fornecido.
19
20
Modo Batch: Apenas uma correo feita por ciclo. Todos os exemplos do conjunto
de treinamento so apresentados rede, seu erro mdio calculado e a partir deste
erro fazem-se as correes dos pesos.
21
6. Desenvolvimento de Aplicaes
A nvel da tecnologia da informao, todo desenvolvimento de artefato de
software ou elementos inerentes, devem estar acompanhados de um conjunto de etapas
bem definidas, j que o desenvolvimento e a implantao de projetos de sistemas sofrem
a influncia de inmeros fatores tcnicos, organizacionais e gerenciais que, combinados,
conduzem a um complexo quadro de decises envolvendo a gerncia de tecnologia,
recursos humanos, prazos e custos. [KUGLER & ARAGON FERNANDES, 1990]
6.3. Treinamento
Nesta fase, seguindo o algoritmo de treinamento escolhido, sero ajustados os
pesos das conexes. importante considerar, nesta fase, alguns aspectos tais como a
inicializao da rede, o modo de treinamento e o tempo de treinamento.
Uma boa escolha dos valores iniciais dos pesos da rede pode diminuir o tempo
necessrio para o treinamento. Normalmente, os valores iniciais dos pesos da rede so
nmeros aleatrios uniformemente distribudos, em um intervalo definido. A escolha
errada destes pesos pode levar a uma saturao prematura. Nguyen e Widrow
encontraram uma funo que pode ser utilizada para determinar valores iniciais
melhores que valores puramente aleatrios. [TATIBANA & KAETSU, 1999]
Quanto ao modo de treinamento, na prtica mais utilizado o modo padro
devido ao menor armazenamento de dados, alm de ser menos suscetvel ao problema
de mnimos locais, devido pesquisa de natureza estocstica que realiza. Por outro lado,
no modo batch pode tornar o treinamento mais estvel. A eficincia relativa dos dois
modos de treinamento depende do problema que est sendo tratado. [VELLASCO,
2000]
Quanto ao tempo de treinamento, vrios fatores podem influenciar a sua
durao, porm sempre ser necessrio utilizar algum critrio de parada. O critrio de
parada do algoritmo backpropagation no bem definido, e geralmente utilizado um
nmero mximo de ciclos. Mas, devem ser considerados a taxa de erro mdio por ciclo,
e a capacidade de generalizao da rede. Pode ocorrer que em um determinado instante
do treinamento a generalizao comece a degenerar, causando o problema de overtraining, ou seja a rede se especializa no conjunto de dados do treinamento e perde a
capacidade de generalizao. [RUSSELL & NORVIG, 1995]
O treinamento deve ser interrompido quando a rede apresentar uma boa
capacidade de generalizao e quando a taxa de erro for suficientemente pequena, ou
seja menor que um erro admissvel. Assim, deve-se encontrar um ponto timo de parada
com erro mnimo e capacidade de generalizao mxima.
6.4. Teste
O quinto passo o teste da rede. Durante esta fase o conjunto de teste utilizado
para determinar a performance da rede com dados que no foram previamente
utilizados. A performance da rede, medida nesta fase, uma boa indicao de sua
performance real.
23
6.5. Integrao
Finalmente, com a rede treinada e avaliada, ela pode ser integrada em um
sistema do ambiente operacional da aplicao. Para maior eficincia da soluo, este
sistema dever conter facilidades de utilizao como interface conveniente e facilidades
de aquisio de dados atravs de planilhas eletrnicas, interfaces com unidades de
processamento de sinais, ou arquivos padronizados.
Uma boa documentao do sistema e o treinamento de usurios so necessrios
para o sucesso do mesmo.
Alm disso, o sistema deve periodicamente monitorar sua performance e fazer a
manuteno da rede quando for necessrio ou indicar aos projetistas a necessidade de
retreinamento. Outras melhorias podero ainda ser sugeridas quando os usurios forem
se tornando mais familiares com o sistema, estas sugestes podero ser muito teis em
novas verses ou em novos produtos.
24
Anlise de Imagem
Sntese de Voz
Para este tpico, apresenta-se como exemplo o Nettalk9, que fruto do estudo da
gerao de fala por redes neurais artificiais, a partir da interpretao de um texto.
O objetivo do trabalho era treinar uma rede neural artificial para produzir os
fonemas corretos, dando como entrada uma cadeia de letras.
26
28
entrada da rede. Esta fase de input dos dados serve tanto para o treinamento quanto para
o reconhecimento do caracter, aps a rede ter sido treinada.
Internamente, o sistema est topologicamente montado com trs camadas
intermedirias (three hidden layes), contendo 768, 192 e 30 unidade de processamento
(neurnios artificiais) respectivamente. Cada possvel resposta representado por um
nico neurnio de sada, conforme ilustrao da figura 13.
31
8.3. Testes
A Segunda etapa do treinamento, consiste em fazer vrios testes, vamos
desenhar vrios nmeros, solicitando o reconhecimento pela rede. Primeiro desenha-se
um nmero manualmente utilizando-se o mouse, depois clica-se em Digitize, e em
seguida clica-se Recognize.
A rede dever mostrar no quadro ao lado direito na tela, em ordem decrescente,
quais os caracteres que ele indica, sendo que o primeiro da lista o considerado correto
por ela.
Pode haver um empate, conforme exemplo da figura 17, neste caso ser
necessrio trein-la, indicando o correto.
32
33
9. Concluso
As redes neurais tem mostrado resultados positivos em um espao de tempo
mais curto que outras tcnicas de criao de bases de conhecimentos, para aplicaes
que tratam problemas pouco ou nada estruturados, com dados incompletos ou
parcialmente incorretos. Mesmo ainda estando em um estgio muito prematuro, tem
encontrado vrios nichos de aplicao.
O entendimento e a criao das redes neurais uma tarefa bem mais simples que
a criao de inmeros outros sistemas, e bem mais flexvel que uma vasta gama de
aplicaes especialistas. Esta flexibilidade permite s redes neurais fazerem anlises
mais finas pouco perceptveis por tcnicas tradicionais ou dificilmente formalizveis a
partir do conhecimento subjetivo de um especialista.
A expectativa de que venha a existir uma grande evoluo do paradigma
existente, permitindo a extenso de sua aplicao a outros sistemas, para os quais, ainda
hoje, o processamento convencional parece ser mais apropriado. E, quem sabe, o desejo
humano, de criar mquinas capazes de gerar pensamento inteligente, barrado pelo
desempenho insatisfatrio das tcnicas de computao convencionais, ser sobreposto,
para o bem comum.
34
Referncias Bibliogrficas
[CARDOSO, 2000] CARDOSO, Silvia Helena, Home Page Neurnios: Nossa
Galxia Interna. Universidade de Campinas, SP,
http://www.nib.unicamp.br/~cardoso, consulta em 28/03/2000.
[DENIZ, 1998] DENIZ, Juan C., Home Page Neural Network Theory.
MIT Massachusetts Institute of Technology,
http://web.mit.edu/denis/www/FuncAppx/Theory.html, consulta em 30/03/2000.
[DHAR & STEIN, 1997] DHAR, Vasant E STEIN, Roger. Seven Methods for
Transforming Corporate Data Into Business Intelligence. Prentice-Hall, New
Jersey, 1997, p.77-106.
[KUGLER & ARAGON FERNANDES, 1990] KLUGER, Jos L.C. e ARAGON
FERNANDES, Aguinaldo. Gerencia de Projeto de Sistemas. LTC, RJ, 2 Ed.,
1990, p.59-149.
[LIN & BRUWER, 1996] LIN, Binshan e BRUWER, Johan. Neural Network
applications in Marketing. Journal of Computer / Information Systems, vol. 36,
no. 2, 1996.
[MENDES FILHO, 2000] MENDES FILHO, Elson Felix, Home Page Redes
Neurais Artificiais. Universidade de So Paulo, SP,
http://www.icmsc.sc.usp.br/~prico/neural1.html, consulta em 07/04/2000.
[RUSSELL & NORVIG, 1995] RUSSELL, Stuart E NORVIG, Peter. Artificial
Intelligence - A Modern Approach. Prentice-Hall, New Jersey, 1995, p.563-597.
[TAFNER, 1998] TAFNER, Malcon Anderson, Home Page Redes Neurais
Artificiais, aprendizado e plasticidade. Revista Crebro e Mente, Maro, 1998,
http://www.epub.org.br/cm, consulta em 02/04/2000.
[TATIBANA & KAETSU, 1999] TATIBANA, Cassia Yuri E KAETSU, Deisi Yuki.
Uma Introduo s Redes Neurais. Departamento de Informtica. Universidade
Estadual de Maringa PR, http://www.din.uem.br/ia/, consulta em 03/04/2000.
[VELLASCO, 2000] VELLASCO, Marley Maria B.R, Home Page Redes Neurais.
ICA: Ncleo de Pesquisa em Inteligncia Computacional Aplicada PUC - Rio,
http://www.ele.puc-rio.br/labs/ica/icahome.html, consulta em 25/03/2000.
[YAEGER, 1998] YAEGER, Larry S. et alii. Artificial Neural Networks &
Handwriting Recognition. AI Magazine, Official publication of the American
Association for Artificial Intelligence, vol. 19, no. 1, 1998.
35