Anda di halaman 1dari 35

Simulando o Crebro: Redes Neurais

Prof. Srgio Luiz Tonsig 1

2 semestre de 2000

Analista de Sistemas. Especialista em Sistemas de Informao pela UFSCar. Mestrando em Gerncia de


Sistemas de Informao pela PUCCamp.

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. Por que Redes Neurais ?


2.1. Uma Galxia Biolgica
No so apenas as estrelas no universo, com sua impressionante quantidade,
que fascinam o homem. Ao observar seu universo biolgico interno, ele vislumbra uma
gigantesca "galxia" com centenas de milhes de pequenas clulas nervosas que
formam o crebro e o sistema nervoso; estas clulas comunicam-se umas com as outras
atravs de pulsos eletroqumicos para produzir diversas atividades que regem o
comportamento humano. [Cardoso, 2000]

Fig. 01 - Crebro Humano


O crebro humano considerado o mais fascinante processador baseado em
carbono existente, sendo composto por aproximadamente 10 bilhes de neurnios
interconectados, cada um podendo estabelecer de 1000 a 10.000 conexes com outros
neurnios. [Vellasco, 2000]
Neurnios so clulas especializadas (figura 02). Eles so feitos para receber
certas coneces especficas, executar funes apropriadas e passar suas decises a um
evento particular e este, a outros neurnios, que esto relacionados com aquele evento.
Estas especializaes incluem: uma membrana celular, que especializada para
transportar sinais nervosos como pulsos eletroqumicos; o dendrito, (do grego dendron,
ou rvore) que recebe e libera os sinais; o axnio (do grego axoon, ou eixo), o "cabo"
condutor de sinais; e os pontos de contatos sinpticos, onde a informao pode ser
passada de uma clula a outra. [Cardoso, 2000]
5

1. Corpo Celular (soma)

2. Membrana

3. Dendritos

4. Axnio

5. Terminal Nervoso Pr-Sintico

Fig. 02 Esquema Estrutural de um Neurnio


Os neurnios diferem de outras clulas em um aspecto importante: eles
processam informao.
Os neurnios esto conectados uns aos outros atravs de sinapses4. Em mdia
cada neurnio forma entre mil a dez mil sinapses, formando uma grande e complexa
rede, chamada REDE NEURAL. As sinapses transmitem estmulos atravs de diferentes
concentraes de Na+ (Sdio) e K+ (Potssio), e o resultado disto pode ser estendido
por todo o corpo humano.
Na regio da sinapse dois neurnios entram em contato, e atravs dela os
impulsos nervosos5 so transmitidos entre eles. Os impulsos recebidos na dendrite por
um neurnio A, em um determinado momento, so processados, e atingindo um dado
limiar de ao, o neurnio A dispara, produzindo uma substncia neurotransmissora que
flui do corpo celular para o axnio, o qual, possui nas pontas da arborizao axonial
(terminal nervoso pr-sintico), as sinpses, que podem estar conectadas a um dendrito
4

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]

de um outro neurnio B (figura 02A). O neurotransmissor pode diminuir ou aumentar a


polaridade da membrana ps-sinptica, inibindo ou excitando a gerao dos pulsos no
neurnio B. Este processo depende de vrios fatores, como a geometria da sinapse e o
tipo de neurotransmissor. [RUSSELL & NORVIG, 1995]

Fig. 02A Relao entre neurnios


2.2. Redes Neurais Artificiais Sntese Histrica
As primeiras informaes mencionadas sobre a neuro computao datam de
1943, em artigos do neurofisiologista Warren McCulloch, do MIT, e pelo matemtico
Walter Pitts da Universidade de Illinois, onde fizeram uma analogia entre clulas
nervosas vivas e o processo eletrnico num trabalho publicado sobre "neurnios
formais", simulando o comportamento do neurnio natural, onde o neurnio possua
apenas uma sada, que era uma funo da soma (threshold) do valor de suas diversas
entradas (figura 03). O trabalho consistia num modelo de resistores variveis e
amplificadores representando conexes sinpticas de um neurnio biolgico
(Mathematical Bio-Physics, vol. 5, 1943, A Logical Calculus of Ideas Immanent in
Nervous Activity). [Vellasco, 2000]

Fig. 03 - Neurnio artificial projetado por McCulloch e Pitts

Em 1948, baseado na noo de loops de feedback negativos, Wiener


esquematizou um modelo para aprendizagem em redes neurais.
Um ano depois, Donald Hebb escreveu um livro entitulado "The Organization of
Behavior" (A organizao do Comportamento) que perseguia a idia de que o
condicionamento psicolgico clssico est presente em qualquer parte dos animais pelo
fato de que esta uma propriedade de neurnios individuais. Suas idias no eram
completamente novas, mas o psiclogo Donald Hebb (1949) foi o primeiro a propor
uma lei de aprendizagem especifica para as sinpses dos neurnios. [RUSSELL &
NORVIG, 1995]
Ele demostrou que a capacidade da aprendizagem em redes neurais vem da
alterao da eficincia sinptica, isto , a conexo somente reforada se tanto as
clulas pr-sinpticas quanto as ps-sinpticas estiverem excitadas. Este primeiro e
corajoso passo serviu de inspirao para que muitos outros pesquisadores perseguissem
a mesma idia.
Em 1951, Marvin Minsky constri o primeiro neuro computador, denominado
Snark. O Snark operava com sucesso a partir de um ponto de partida tcnico, ajustando
seus pesos automaticamente, entretanto, ele nunca executou qualquer funo de
processamento de informao interessante, mas serviu de inspirao para as idias de
estruturas que o sucederam. [RUSSELL & NORVIG, 1995]
Em 1956 no "Darthmouth College" nasceram os dois paradigmas da Inteligncia
Artificial 6, a simblica e o conexionista. A Inteligncia Artificial Simblica tenta
simular o comportamento inteligente humano desconsiderando os mecanismos
responsveis por tal. J a Inteligncia Artificial Conexionista acredita que construindose um sistema que simule a estrutura do crebro, este sistema apresentar inteligncia,
ou seja, ser capaz de aprender, assimilar, errar e aprender com seus erros.
[TATIBANA & KAETSU, 1999]
Rosemblatt (1958) mostrou em seu livro Principles of Neurodynamics o modelo
dos "Perceptrons" (figura 04). Nele, os neurnios eram organizados em camada de
entrada e sada, onde os pesos das conexes eram adaptados a fim de se atingir a
eficincia sinptica. O primeiro neuro computador a obter sucesso (Mark I Perceptron)
surgiu em 1957 / 1958, criado por Frank Rosenblatt, Charles Wightman e outros.
[RUSSELL & NORVIG, 1995]

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]

Fig. 04 - Rede de perceptrons proposta por Rosemblatt


Devido a profundidade de seus estudos, suas contribuies tcnicas e de sua
maneira moderna de pensar, muitos o vem como o fundador da neuro computao na
forma em que a temos hoje. Seu interesse inicial para a criao do Perceptron era o
reconhecimento de padres.
Aps Rosenblatt, Bernard Widrow, em 1960, com a ajuda de alguns estudantes,
desenvolve um novo tipo de elemento de processamento de redes neurais chamado de
Adaline (Adaptative Linear Network) e Madline (Many ADALINE), equipado com uma
poderosa lei de aprendizado (figura 05).

Fig. 05 - Redes ADALINE e MADALINE


Nos anos seguintes, marcados por um entusiasmo exagerado de muitos
pesquisadores, os quais em parte, tiraram a credibilidade dos estudos da rea, porm,
9

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.

Fig. 06 - Estrutura do mtodo Backpropagation


Muitos histricos desconsideram a existncia de pesquisa nessa rea nos anos 60
e 70 e apontam uma retomada das pesquisas com a publicao dos trabalhos do fsico e
bilogo Hopfield (1982) relatando a utilizao de redes simtricas para otimizao,
atravs de um algoritmo de aprendizagem que estabilizava uma rede binria simtrica
com realimentao.
As expresses da rede multicamada foram pesquisadas por Cybenko (1988;
1989), o qual mostrou que duas camadas escondidas so suficientes para representar
muitas funes e uma simples camada suficiente para representar qualquer funo
contnua.
O problema de encontrar uma boa estrutura para uma rede multicamada foi o
resolvido usando algoritmos genricos, por Harp e Miller (1990).
Um dos tpicos de maior interesse atualmente em pesquisas de redes neurais, o
emprego de hardware com processamento paralelo.

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

Tabela 01 - Quadro comparativo entre crebro e o computador


O mesmo paralelo pode ser traado comparando o computador com as redes
neurais. Para tanto, a comparao no se dar com um computador especfico
encontrado no mercado, mas sim com o paradigma predominante nos computadores
atuais.

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

Tabela 02 - Quadro comparativo entre computadores e


neurocomputadores
H um grande desejo humano de construir mquinas que tenham independncia
de atuao, a qual, seja conseguida pelo aprendizado e capacidade de deciso da
prpria mquina, para poder interagir com ambientes insalubres ao homem ou onde
possa substitu-lo em situaes de perigo, portanto, espera-se obter uma mquina que
atue em ambiente desconhecido por ela, e portanto, teria-se um autnomo inteligente e
cognitivo.
O sucesso de uma mquina autnoma dependeria nica e exclusivamente de sua
capacidade de lidar com uma variedade de eventos inesperados no ambiente em que
opera. Estas mquinas teriam maior capacidade de aprender tarefas de alto nvel
cognitivo que no so facilmente manipuladas por mquinas atuais, e continuariam a se
11

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

4. Redes Neurais Artificiais e a Inteligncia Artificial


As redes neurais artificiais consistem em um mtodo de solucionar problemas de
inteligncia artificial, construindo um sistema que tenha circuitos que simulem o
crebro humano, inclusive seu comportamento, ou seja, aprendendo, errando e fazendo
descobertas. Trata-se de tcnicas computacionais que apresentam um modelo inspirado
na estrutura neural de organismos inteligentes e que adquirem conhecimento atravs da
experincia. [MENDES FILHO, 2000]
Uma grande rede neural artificial pode ter centenas ou milhares de unidades de
processamento, enquanto que o crebro de um mamfero pode ter muitos bilhes de
neurnios.
Apesar da complexidade das redes neurais no permitir uma nica definio, as
linhas seguintes seguem como uma tentativa das inmeras definies ou interpretaes
do que seja realmente uma rede neural.
Um grafo direcionado um objeto geomtrico que consiste de um conjunto de
pontos, chamados ns (ou unidades), ao longo de um conjunto de segmentos de linhas
direcionadas entre eles (links). Uma rede neural uma estrutura de processamento de
informao distribuda paralelamente na forma de um grafo direcionado, com algumas
restries e definies prprias (figura 07).

Fig. 07 Esquema da Rede Neural


Os ns deste grafo so chamados elementos de processamento. Suas arestas so
conexes, que funcionam como caminhos de conduo instantnea de sinais em uma
nica direo, de forma que seus elementos de processamento podem receber qualquer
nmero de conexes de entrada. Estas estruturas podem possuir memria local, e
tambm possuir qualquer nmero de conexes de sada desde que os sinais nestas
conexes sejam os mesmos.
13

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:

Sinais so apresentados entrada;


Cada sinal multiplicado por um peso que indica sua influncia na sada da
unidade;
feita a soma ponderada dos sinais que produz um nvel de atividade;
Se este nvel excede um limite (threshold) a unidade produz uma sada;

Assim como o sistema nervoso composto por bilhes de clulas nervosas, a


rede neural artificial tambm seria formada por unidades que nada mais so que
pequenos mdulos que simulam o funcionamento de um neurnio. Estes mdulos
devem funcionar de acordo com os elementos em que foram inspirados, recebendo e
retransmitindo informaes.
O fisiologista Warrem MacCulloch interpretou o funcionamento do neurnio
biolgico como sendo um circuito de entradas binrias combinadas por uma soma
ponderada (com pesos) produzindo uma entrada efetiva.
No modelo geral de neurnio artificial (figura 08) as entradas W1Wp so
combinadas usando uma funo F, para produzir um estado de ativao do neurnio
(correspondente freqncia de descarga do neurnio biolgico).As entradas chegam
atravs dos dentritos e tem um peso atribudo pela sinapse.

14

Fig. 08 - Modelo de McCulloch e Pitts


A funo bsica de um neurnio somar as entradas e retornar uma sada, caso
esse valor seja maior que o valor de soma (threshold).
O neurnio artificial uma estrutura lgico-matemtica (figura 09) que procura
simular a forma, o comportamento e as funes de um neurnio biolgico. Assim sendo,
os dendritos foram substitudos por entradas, cujas ligaes com o corpo celular
artificial so realizadas atravs de elementos chamados de peso (simulando as sinapses).
Os estmulos captados pelas entradas so processados pela funo de soma, e o limiar
de disparo do neurnio biolgico foi substitudo pela funo de transferncia. [DENIZ,
1998]

Fig. 09 Representao Funcional do Neurnio Artificial

4.1. A Rede Neural Artificial


A rede neural artificial um sistema de neurnios ligados por conexes
sinpticas e dividido em neurnios de entrada, que recebem estmulos do meio externo,
neurnios internos ou hidden (ocultos) e neurnios de sada, que se comunicam com o
exterior.
15

A forma de arranjar perceptrons em camadas denominado Multilayer


Perceptron. O multilayer perceptron foi concebido para resolver problemas mais
complexos, os quais no poderiam ser resolvidos pelo modelo de neurnio bsico.
Um nico perceptron ou uma combinao das sadas de alguns perceptrons
poderia realizar uma operao XOR, porm, seria incapaz de aprend-la. Para isto so
necessrias mais conexes, os quais s existem em uma rede de perceptrons dispostos
em camadas. [MENDES FILHO, 2000]
Os neurnios internos so de suma importncia na rede neural pois provou-se
que sem estes torna-se impossvel a resoluo de problemas linearmente no separveis.
Em outras palavras pode-se dizer que uma rede composta por vrias unidades de
processamento, cujo funcionamento bastante simples. Essas unidades, geralmente so
conectadas por canais de comunicao que esto associados a determinado peso. As
unidades fazem operaes apenas sobre seus dados locais, que so entradas recebidas
pelas suas conexes. [RUSSELL & NORVIG, 1995]
O comportamento inteligente de uma Rede Neural Artificial vem das interaes
entre as unidades de processamento da rede. A maioria dos modelos de redes neurais
possui alguma regra de treinamento, onde os pesos de suas conexes so ajustados de
acordo com os padres apresentados; ou seja, elas aprendem atravs de exemplos.
Arquiteturas neurais so tipicamente organizadas em camadas (figura 10), com
unidades que podem estar conectadas s unidades da camada posterior. Por conveno a
camada que inicialmente recebe os dados chamada de input (entrada), a camada
intermediria chamada de hidden (oculta) e por ltimo, a camada de sada. Cada
camada pode ter de 1 a n neurnios artificiais com as caractersticas apresentadas na
figura 09. [DHAR & STEIN, 1997]

Fig. 10 - Organizao em camadas

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:

Camada de Entrada: onde os padres so apresentados rede;


Camadas Intermedirias ou Ocultas: onde feita a maior parte do processamento,
atravs das conexes ponderadas; podem ser consideradas como extratoras de
caractersticas;
Camada de Sada: onde o resultado final concludo e apresentado.

Redes neurais so tambm classificadas de acordo com a arquitetura em que foram


implementadas, topologia, caractersticas de seus ns, regras de treinamento, e tipos de
modelos.

4.2. Classificao de Redes Neurais


Um dos objetivos da pesquisa sobre redes neurais na computao desenvolver
morfologias neurais matemticas, no necessariamente baseada na biologia, que podem
realizar funes diversas.
Na maior parte dos casos, modelos neurais so compostos de muitos elementos
no lineares que operam em paralelo e que so classificados de acordo com padres
ligados biologia.
Quando um processo criado visando utilizar aspectos de redes neurais,
comeam com o desenvolvimento de um neurnio artificial ou computacional, baseado
no entendimento de estruturas biolgicas neurais, seguidas do aprendizado de
mecanismos voltados para um determinado conjunto de aplicaes. Ou em outras
palavras, seguindo as trs etapas:

desenvolvimento de modelos neurais motivado por neurnios biolgicos;


Modelos de estruturas e conexes sinpticas;
aprendizado das regras (um mtodo de ajuste de pesos ou foras de conexes
internodais)

Por causa de diferenas entre algumas ou s vezes todas as entidades envolvidas,


diferentes estruturas de redes neurais tem sido desenvolvidas por pesquisadores.
Do ponto de vista estrutural, a arquitetura de redes neurais pode ser classificada
como esttica, dinmica ou fuzzy (nebulosa), e de nica camada ou mltiplas camadas.
Alm disso, diferenas computacionais surgem tambm quando se trata da maneira com
que so feitas as conexes existentes entres os neurnios. Estas conexes podem ser
estritamente no sentido de ida, no sentido de ida e volta, lateralmente conectadas,
topologicamente ordenadas ou hbridas.[VELLASCO, 2000]
17

A aplicao de redes neurais pode ser classificada em classes distintas:


Reconhecimento de padres e Classificao; Processamento de imagem e viso;
Identificao de sistema e controle e Processamento de sinais.
importante verificar que uma determinada aplicao de um sistema baseado
em rede neural no precisa necessariamente ser classificada em apenas uma das citadas
acima.

4.3. Topologias de Redes Neurais Artificiais


De acordo com Rummelhart, a rede neural deve possuir no mnimo duas
camadas, a de entrada de dados e a da sada dos resultados. [RUSSELL & NORVIG,
1995]
Como a rede apresenta desempenho muito limitado com somente duas camadas,
a adio de uma camada intermediria faz-se necessria. Neste tipo de configurao,
cada neurnio est ligado com todos os outros das camadas vizinhas, mas neurnios da
mesma camada no se comunicam, alm da comunicao ser unidirecional,
apresentando assim um comportamento esttico.
J a rede neural de Hopfield apresenta comportamento dinmico e fluxo de
dados multidirecional devido integrao total dos neurnios, desaparecendo assim a
idia da camadas bem distintas (figura 11). Com isso seu funcionamento mais
complexo, havendo certas complicaes, seja na fase de aprendizado quanto na fase de
testes. Seu uso direcionado problemas de minimizao e otimizao, como por
exemplo de percurso de caminhes. [VELLASCO, 2000]

Fig. 11 - Modelos de Rummelhart e Hopfield


H pesquisadores como Hecht - Nielsen, que afirmam que com apenas uma
camada oculta j possvel calcular uma funo arbitrria qualquer a partir de dados
fornecidos. De acordo com Hecht - Nielsen, a camada oculta deve ter por volta de 2i+1
neurnios, onde i o nmero de variveis de entrada. Outros, no caso de Cybenko,
defendem o uso de duas camadas ocultas. [TATIBANA & KAETSU, 1999]
No caso de Kudrichy, empiricamente observou-se que para cada 3 neurnios da
primeira camada oculta era preciso um da segunda camada.

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

5. Processos de Aprendizado de uma Rede Neural Artificial


A propriedade mais importante das redes neurais a habilidade de aprender de
seu ambiente e com isso melhorar seu desempenho. Isso feito atravs de um processo
iterativo de ajustes aplicado a seus pesos: o treinamento. [RUSSELL & NORVIG,
1995]
O aprendizado ocorre quando a rede neural atinge uma soluo generalizada
para uma classe de problemas.
Denomina-se algoritmo de aprendizado a um conjunto de regras bem definidas
para a soluo de um problema de aprendizado. Existem muitos tipos de algoritmos de
aprendizado especficos para determinados modelos de redes neurais, estes algoritmos
diferem entre si principalmente pelo modo como os pesos so modificados.
Aprendizagem, para uma rede neural, envolve o ajuste destes pesos. [DHAR & STEIN,
1997]
A rede neural se baseia nos dados para extrair um modelo geral. Portanto, a fase
de aprendizado deve ser rigorosa e verdadeira, a fim de se evitar modelos esprios.
Todo o conhecimento de uma rede neural est armazenado nas sinapses, ou seja,
nos pesos atribudos s conexes entre os neurnios. De 50 a 90% do total de dados
deve ser separado para o treinamento da rede neural, dados estes escolhidos
aleatoriamente, a fim de que a rede "aprenda" as regras e no "decore" exemplos. O
restante dos dados s apresentado rede neural na fase de testes a fim de que ela possa
"deduzir" corretamente o inter-relacionamento entre os dados. [VELLASCO, 2000]
Outro fator importante a maneira pela qual uma rede neural se relaciona com o
ambiente. Nesse contexto existem os seguintes paradigmas de aprendizado:
a) Por independncia de quem aprende
As Redes Neurais Artificiais aprendem por memorizao, contato, exemplos, por
analogia, por explorao e tambm por descoberta.
b) Por retroao do mundo
Diz respeito a ausncia ou presena de realimentao explcita do mundo exterior,
ou seja, que em certos intervalos de tempo um agente assinala acertos e erros.
b.1) Aprendizado Supervisionado: utiliza um agente externo que indica rede
um comportamento bom ou ruim de acordo com o padro de entrada
b.2) Aprendizado No Supervisionado (auto-organizao): no utiliza um agente
externo indicando a resposta desejada para os padres de entrada; utiliza-se
entretanto, exemplos de coisas semelhantes para que a rede responda de maneira
semelhante.

20

c) Por Finalidade do Aprendizado


c.1) Auto-associador: apresentada rede uma coleo de exemplos para que ela
memorize. Quando se apresenta um dos elementos da coleo de exemplos mas de
modo errneo, a rede deve mostrar o exemplo original, funcionando assim como um
filtro.
c.2) Hetero-associador: uma variao do Auto-associador, mas que se memoriza
um conjunto de pares. O sistema aprende a reproduzir o segundo elemento do par
mesmo que o primeiro esteja pouco modificado, funcionando desta maneira como
um reconhecedor de padres.
necessrio tambm que exista um Detector de Regularidades, que nada mais
que um reconhecedor de padres em que o sistema deve se auto-organizar e criar
padres possveis.
Podemos denominar ainda ciclo como sendo uma apresentao de todos os N
pares (entrada e sada) do conjunto de treinamento no processo de aprendizado. A
correo dos pesos num ciclo pode ser executado de dois modos:

Modo Padro: A correo dos pesos acontece a cada apresentao rede de um


exemplo do conjunto de treinamento. Cada correo de pesos baseia-se somente no
erro do exemplo apresentado naquela iterao. Assim, em cada ciclo ocorrem N
correes.

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.1. Coleta de Dados e Separao em Conjuntos


Os dois primeiros passos do processo de desenvolvimento de redes neurais
artificiais so a coleta de dados relativos ao problema e a sua separao em um conjunto
de treinamento e um conjunto de testes.
Esta tarefa requer uma anlise cuidadosa sobre o problema para minimizar
ambigidades e erros nos dados. Alm disso, os dados coletados devem ser
significativos e cobrir amplamente o domnio do problema; no devem cobrir apenas as
operaes normais ou rotineiras, mas tambm as excees e as condies nos limites do
domnio do problema.
Normalmente, os dados coletados so separados em duas categorias: dados de
treinamento, que sero utilizados para o treinamento da rede e dados de teste, que sero
utilizados para verificar sua performance sob condies reais de utilizao.
Alm dessa diviso, pode-se usar tambm uma subdiviso do conjunto de
treinamento, criando um conjunto de validao, utilizado para verificar a eficincia da
rede quanto a sua capacidade de generalizao durante o treinamento, e podendo ser
empregado como critrio de parada do treinamento. [TATIBANA & KAETSU, 1999]
Depois de determinados estes conjuntos, eles so geralmente colocados em
ordem aleatria para preveno de tendncias associadas ordem de apresentao dos
dados. Alm disso, pode ser necessrio pr-processar estes dados, atravs de
normalizaes, escalonamentos e converses de formato para torn-los mais
apropriados sua utilizao na rede.

6.2. Configurao da Rede


A configurao da rede pode ser dividida em trs etapas:
a) Seleo do paradigma neural apropriado aplicao.
b) Determinao da topologia da rede a ser utilizada - o nmero de camadas, o nmero
de unidades em cada camada, etc.
22

c) Determinao de parmetros do algoritmo de treinamento e funes de ativao.


Este passo tem um grande impacto na performance do sistema resultante.
Normalmente estas escolhas so feitas de forma emprica. A definio da configurao
de redes neurais ainda considerada uma arte, que requer grande experincia dos
projetistas.

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

Devem ser considerados ainda outros testes como anlise do comportamento da


rede utilizando entradas especiais e anlise dos pesos atuais da rede, pois se existirem
valores muito pequenos, as conexes associadas podem ser consideradas insignificantes
e assim serem eliminadas (prunning). De modo inverso, valores substantivamente
maiores que os outros poderiam indicar que houve over-training da rede.

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

7. Aplicaes de Redes Neurais Artificiais


Aplicaes de redes neurais so inmeras.
comum que a primeira informao que se tenha sobre a aplicao das redes
neurais, seja atravs de leitura a respeito das tcnicas no prognstico de mercados
financeiros. Grupos de investimento conhecidos utilizam redes neurais para analisar
pelo menos uma parte do mercado financeiro e fazerem suas selees. [LIN &
BRUWER, 1996]
O reconhecimento de caracteres, independente do meio, embora o tico seja
mais conhecido (OCR), outro tipo de aplicao que j existe e est crescendo, e em
breve estaremos em constante contato com esse tipo de aplicao. [YAGER, 1998]
O reconhecimento de caracteres a converso da imagem de um texto (conjunto
de pontos cujo elemento representado nesta imagem no est identificado), utilizando-se
de tcnicas de reconhecimento de padres, e permitindo identificar os elementos tais
como: letras, algarismos e demais smbolos contidos na imagem. Hoje os melhores
OCR (Optical Character Recognizer) so baseados em redes neurais artificiais, onde
estes recebem como entrada uma imagem digital e tem como sada os caracteres
(ASCII) que so reconhecidos nesta imagem. Este tipo de software evoluiu muito nos
ltimos anos e hoje tem ndices de acerto de mais de 90%. Mesmo quando se trata de
textos escritos a mo livre, este percentual permanece alto, considerando que a maioria
das redes ainda no consegue entender o contexto do texto que est sendo convertido, e
portanto, no pode usar a estrutura das frases para lhe auxiliar no reconhecimento,
artifcio que os seres humanos utilizam inconscientemente todos os dias
Outras aplicaes bem sucedidas das tcnicas de redes neurais artificiais so:
controle de processos industriais, aplicaes climticas, identificao de fraude de
carto de crdito, e Marketing; onde tem sido verificado uma aderncia muito grande
quanto a aplicao de redes neurais. [LIN & BRUWER, 1996]
Um banco americano chamado Mellon Bank instalou um sistema de deteco de
fraudes de carto de crdito implementado com tcnicas de redes neurais e os prejuzos
evitados pelo novo sistema conseguiram cobrir os gastos de instalao em seis meses.
Vrios outros bancos comeam a utilizar sistemas baseados em redes neurais
para controlar fraudes de carto de crdito. Estes sistemas tm a capacidade de
reconhecer uso fraudulento com base nos padres criados no passado com uma preciso
melhor que em outros sistemas.
Outro exemplo da utilizao de redes neurais para melhoria na tomada de
decises no diagnstico mdico. Em seu aprendizado, so submetidos uma srie de
diagnsticos de pacientes, de vrias caractersticas, com vrios sintomas e os resultados
de seus testes. Tambm sero fornecidos os diagnsticos mdicos para cada doena.
Ento quando forem apresentados os dados de um novo paciente, com seus sintomas, a
rede fornecer um diagnstico para os novos casos. Isto essencialmente criar um
sistema com o conhecimento de vrios mdicos, e fornecer um diagnstico inicial em
tempo real a um mdico. [CARDOSO, 2000]
25

Ainda na medicina a utilizao de redes neurais artificiais encontram vrios


nichos de aplicao, alm dos j enfatizados. Como exemplo de outras aplicaes podese citar as bases de dados usadas para o aprendizado, tais como: Breast Cancer
Database (diagnstico de cncer) e Lung Cancer, Tyroid disease, audiology data.
Vrias destas bases de dados podem ser encontradas no UCI Repository of Machine
Learning Databases na INTERNET no endereo ftp://ics.uci.edu/pub/machine-learningdatabases: README ou http:// www.ics.uci.edu/~mlearn/MLRepository.html.
Segue exemplos de outros tipos aplicaes para redes neurais:

Anlise e Reconhecimento da Fala

Outra aplicao das redes neurais artificiais o reconhecimento da fala, nesta


rea j existem redes que conseguem responder perguntas sobre assuntos especficos,
como por exemplo a reservas em um vo. Atravs desta implementao o usurio pode
fazer perguntas simples, como quais so os vos disponveis para um determinado local
ou preos das passagens. Cabe observar que a razo de se limitar o assunto a um
determinado tema a menor complexidade. Este software est sendo desenvolvido no
MIT no Media Lab e em breve poder estar disponvel para o uso comercial. Um dos
modelos mais utilizados na atualidade no reconhecimento de voz a combinao de
tcnicas como HMM (Hidden Markov Model - modelo probabilstico) juntamente com
as redes neurais. Um exemplo o projeto Europeu ESPRIT7 que estuda este tipo de
aplicaes.

Anlise de Imagem

O Inpe (Instituto Nacional de Pesquisas Espaciais) desenvolve redes neurais


artificiais que permitem reconhecer e analisar as imagens geradas por satlite8. Este
processo por sua vez de grande utilidade no trabalho de identificao dos tipos de
solo, obtendo-se as informaes com maior rapidez e maior preciso, tambm de
grande utilidade na determinao da melhor semente e tcnica de cultivo em cada um
deles. Alm disso, permite um grande aumento na preciso das previses do tempo, que
envolvem uma massa muito grande de dados a serem analisados.

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.

maiores informaes podem ser obtidas na INTERNET no endereo:


http://circwww.epfl.ch/data/general/esprit_descrip.html
8
Mais informaes sobre utilizao de redes neurais artificiais pelo Inpe podem ser obtidas na INTERNET no
endereo http://www. met.inpe.br/pub-html/person/wei.html.
9
A referencia deste material encontra-se na INTERNET no endereo abaixo:
http://www.cs.cmu.edu/afs/cs/project/connect/bench/nettalk.html.

26

Neste projeto a palavra digitada (atravs do teclado) e a rede neural artificial


deve gerar os sons correspondentes a palavra digitada.
O problema em produzir os fonemas corretos, que existem palavras como por
exemplo 'letra' e 'alfabeto' em que a grafia da letra 'e' a mesma, mas a pronncia do e
difere completamente de uma palavra para a outra.
Outro exemplo encontra-se nas palavras 'tra-balho' e 'ba-nco', s que neste caso
levando em considerao a letra a. A pronncia da letra pode ser diferente dependendo
da palavra onde empregada, muito embora a escrita seja igual.
O que a rede faz basear-se no contexto (nas letras que antecedem e sucedem a
letra a qual deve ser gerado o fonema), tentando aprender como se faz a pronncia de
diferentes palavras (como converter uma entrada textual em uma sada fontica).
Para o trabalho de implementao, foi criado um banco de 20.008 palavras
inglesas (uma lista destas palavras pode ser encontrada no endereo
ftp://ftp.cs.cmu.edu/afs/cs/project/connect/bench/nettalk.data).
A entrada da rede uma srie de sete letras consecutivas de uma das palavras
treinadas onde esta seqncia denominada de janela de entrada. A letra central na
seqncia a letra atual, sendo esta a letra para a qual a sada fontica deve ser
gerada. As trs letras restantes de cada lado da central, provem o contexto para ajudar a
determinar a pronncia. Neste estudo as palavras so deslocadas de um lado para
outro dentro da janela de entrada para permitir que cada letra da palavra fique na
posio central.
Uma codificao unria foi usada, para cada uma das sete letras de entrada, a
rede tem um grupo de 29 neurnios de entrada (um para cada uma das 26 letras do
alfabeto ingls e trs para caracteres de pontuao), portanto, so no total 29 x 7 = 203
neurnios de entrada.
A sada da rede usa uma representao distribuda dos fonemas, existem 21
neurnios de sada representando vrias articulaes como a fala e peso da vogal.
Cada fonema representado por um vetor binrio, e ainda h cinco neurnios que
representam o stress e as slabas.
Foi usado o algoritmo de Back-propagation para alterar os pesos dos neurnios,
o nmero de neurnios nos nveis intermedirios variou de 0 a 120, cada nvel estava
totalmente conectado com o prximo, no caso de 0 nveis intermedirios, o nvel de
entrada estava totalmente conectado com o de sada.
Foram feitas vrias simulaes com diferentes nmeros de neurnios nos nveis
intermedirios, os testes foram feitos com 0, 15, 30, 60 e 120 neurnios, e com um
subgrupo de 1000 palavras mais utilizadas na lngua inglesa.
Com 0 neurnios nos nveis intermedirios a melhor performance foi de 82% de
correo. A taxa de aprendizado e performance final aumentou firmemente com o
aumento do nmero de nveis intermedirios, chegando a 98% com 120 neurnios.
27

A rede de 120 neurnios intermedirios, inicialmente alcanou 80% aps um


treinamento de 5000 apresentaes de palavras ( cinco vezes todo o subgrupo de
palavras), e 98% foi alcanado aps 30.000 apresentaes.
A esta rede pr-treinada de 120 neurnios intermedirios foi apresentado todo o
conjunto de 20.008 palavras, sem nenhum treinamento adicional (alm do feito com o
grupo de 1000), e o ndice de acerto foi de 77%. Depois de um treinamento de cinco
passagens por todo o grande grupo, o ndice de acerto foi para 90%.

28

8. Exemplo de Funcionamento de uma Rede Neural


H vrios softwares de redes neurais artificiais atualmente no mercado. Alguns
exemplos so: Qnet 2000, NeuroSolutions, EasyNN, NetBrain e Character Recognition.
Entre eles h diferenas com relao a forma de constituir a topologia da rede, j
que, em geral, a quantidade de entradas, sadas e camadas intermedirias (input, output
and hidden layers) so configurveis, e dependem do tipo de problema que se espera
resolver, e para tanto, imprescindvel que haja o correto mapeamento dos dados que se
pretende analisar em conjuntos entrada/sada representativos.
Tambm pode haver diferenas com relao a forma com que os dados sero
informados a rede (input). Isto pode variar desde a entrada por digitao (em muitos
casos uma matriz, uma das formas mais comuns), desenho manual de imagem com
mouse (hand-drawn image), mesa digitalizadora, arquivo de imagem e outras interfaces
diversas.
O software escolhido para esta exemplificao foi o Character Recognition
version 3.53 (figura 12); pelo fato de que qualquer pessoa poder facilmente t-lo em
mos, j que trata-se de um freeware, alm de que, na sua simplicidade ser capaz de
mostrar o potencial de aprendizado supervisionado de uma rede neural artificial.

Fig. 12 Informaes sobre Character Recognition


O Character Recognition utiliza uma grande (mas simples) cadeia neural para
aprender e reconhecer padres. Dado a sua finalidade, a topologia da rede j est prmontada, no sendo possvel alterar ou parametrizar as camadas intermedirias, entrada
e sada.

8.1. Caractersticas Gerais


Aps o desenho manual livre de uma letra, ou a importao mediante abertura de
um arquivo de imagem (bmp, wmf, ico), ocorre o processo de transcrio do desenho
(digitalizao) para uma matriz de 8 X 6, a qual, por sua vez, forma a camada de
29

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.

Fig. 13 Ilustrao da relao da camada de input com a de output


(estando omisso as camadas intermedirias)
Como na maioria das redes neurais, a programao ocorre nos vnculos (links)
entre os neurnios. A sada de um neurnio, conseqente entrada em outro, pode ser
positiva (1) ou negativa (0), este vnculo contribui no neurnio de entrada com um valor
ponderado de acordo com o seu peso. Na camada de sada, onde chega ao fim esta
cadeia de sumarizao, o neurnio com pontuao mais alta, considerado vencedor.
Este neurnio, por sua vez, em nosso caso, representar o caracter reconhecido. Em
caso de erro, indica-se para a rede, qual seria o caracter correto e ela, automaticamente,
refaz os valores dos pesos relacionados aos vnculos (links), ou seja; aprende mediante o
treinamento supervisionado.

8.2. Treinamento da Rede


Inicialmente, o Character Recognition apresenta uma tela conforme mostra a
figura 14. Em nosso exemplo, o primeiro passo para operar a rede, uma vez que sua
topologia j est montada, fazer o treinamento da mesma. Este treinamento chamado
de treinamento supervisionado, porque vamos faz-lo em duas etapas.
30

Fig. 14 Abertura para input no software Character


Recognition
Na primeira, vamos desenhar manualmente (hand-drawn image) a imagem de
cada um dos caracteres numricos (de 0 a 9) a associ-los ao caracter correspondente,
mostrando essa associao para a rede, a fim de que ela aprenda. Assim, no quadro da
esquerda, utilizando o mouse desenhamos o nmero um. Em seguida indicamos ao
software para digitalizar, clicando o boto Digitize, e obtivemos o resultado conforme
mostra a figura 15. Observe na matriz ao centro da tela, que os quadros pretos so
aqueles que, pela digitalizao, receberam pesos positivos, na camada de entrada da
rede.

Fig. 15 Digitalizao do Nmero Desenhado

31

Em seguida, vamos clicar no boto Add, o que permitir associar a imagem


digitalizada um determinado caracter. No caso, bvio, vamos digitar 1. Em seguida,
vamos clicar no boto Learn (Aprenda). A a rede ir fazer os ajustes de seus pesos para
que mediante aquela entrada, ela informe a sada conforme aprendido (figura 16). O
mais importante neste mecanismo, que ao desenhar-se novamente o nmero um, no
se faa exatamente na forma como originariamente a rede aprendeu, porm ela
consegue filtrar pequenas distores e informar corretamente a resposta. A capacidade
que ela ter para esta flexibilizao de interpretao est diretamente ligada a
quantidade de treinamento que ela receber.

Fig. 16 Aprendizado Efetivado Mediante Treinamento


Supervisionado

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

Fig. 17 Empate no reconhecimento de caracter ( 4 e 1 - 42 % cada )


Para o desempate, clica-se no caracter correto e em seguida no boto Learn. A
rede ir ajustar os pesos dos links para a correta sada mediante aquele padro de
entrada. Aps esta correo, em nosso exemplo, foi feito nova tentativa de
reconhecimento, desta vez, fizemos o numero um em formato at ento no apresentado
para a rede (com inclinao superior para a esquerda, conforme mostra a figura 18), e a
rede corretamente reconheceu o caracter.

Fig. 18 Reconhecimento do nmero um, apesar de estar fora do


padro

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

Anda mungkin juga menyukai