Вы находитесь на странице: 1из 28

Redes Neurais Artificiais

Thomas Walter Rauber


Departamento de Informtica
Universidade Federal do Esprito Santo
Av. F. Ferrari, 29065-900 Vitria - ES, BRASIL
Tel.: (+55)(27) 3352654 Fax: (+55)(27) 3352850
E-mail: thomas@inf.ufes.br WWW-homepage: http://www.inf.ufes.br/~thomas

Resumo: Este documento apresenta uma introduo para a rea de redes neurais
artificiais (RNA). Em primeiro lugar motiva-se o paradigma da neurocomputao pelas
capacidades cognitivas de redes neurais biolgicas, inspirado pelo conhecimento da
neurocincia. Os fundamentos das RNA so o modelo de um neurnio, a topologia da
rede e os paradigmas de aprendizagem. O modelo de McCulloch e Pitts serve como
modelo bsico de um neurnio artificial. Propagao para frente e redes com
realimentao constituem as principais topologias de redes. Paradigmas de
aprendizagem apresentados so a aprendizagem supervisionada e aprendizagem nosupervisionada. Em relao s regras para a adaptao dos pesos distingue-se entre a
regra de Hebb, a regra de delta e a aprendizagem competitiva.
A classe de redes de propagao para frente representada pelo perceptron, o
ADALINE e o perceptron com uma camada escondida. Nas regras de aprendizagem do
ADALINE apresentam-se duas tcnicas principais para adaptar os pesos, a soluo
determinstica linear pela pseudoinversa e a descida de gradiente. O algoritmo de
retropropagao do erro a ferramenta fundamental para treinar o perceptron multicamada.
Redes com realimentao que apresentam um comportamento dinmico so
representadas pelo modelo de Hopfield. Motiva-se a topologia e funcionalidade da rede
e analisa-se a estabilidade dos pesos. A introduo de uma funo de energia por
Hopfield junto com pesos simtricos garante a estabilidade da rede. Um exemplo de
aplicao desse tipo de rede o armazenamento e recuperao de imagens binrias.
Redes competitivas concluem a apresentao. Dentro de uma camada competitiva
existe um vencedor que mostra a maior coincidncia com o sinal de entrada. O mapa de
preservao topolgica de Kohonen adicionalmente ao uso da aprendizagem
competitiva impe uma ordem topolgica sobre os neurnios individuais.

NDICE
I

INTRODUO
I.1 A Inspirao da Neurocincia
I.2 Histria da Neurocomputao
I.3 Referncias para Aprofundamento na Matria de Redes Neurais

II FUNDAMENTOS
II.1 Modelo de Neurnio Artificial
II.2 Topologia de Redes de Neurnios Artificiais
II.3 Paradigmas de Aprendizagem
II.3.1 Aprendizagem supervisionada
II.3.2 Aprendizagem no-supervisionada
II.4 Regras de Adaptao dos Pesos
II.4.1 Aprendizagem pela Regra de Hebb
II.4.2 Aprendizagem pela Regra de Delta
II.4.3 Aprendizagem Competitiva
II.5 Taxinomia de Redes
III REDES DE PROPAGAO PARA FRENTE
III.1 Perceptron
III.2 ADALINE
III.2.1 O erro quadrtico mnimo
III.2.2 Soluo determinstica
III.2.3 Soluo iterativa: Descida de Gradiente
III.3 Perceptron Multi-Camada e Retropropagao de Erro
III.3.1 Arquitetura
III.3.2 Adaptao dos pesos
IV REDES COM REALIMENTAO
IV.1 Modelo de Hopfield
IV.2 Associatividade de Padres na Rede de Hopfield
IV.3 Estabilidade e Aprendizagem de Pesos
IV.4 Relaxao, Minimizao de Energia
IV.5 Aplicao: Recuperao de Imagens
V REDES COMPETITIVAS
V.1 Determinao do Vencedor
V.2 Adaptao dos Pesos
V.3 O Mapa de Preservao Topolgica de Kohonen
VI CONCLUSES
BIBLIOGRAFIA

I. INTRODUO
Uma das reas de pesquisa mais fascinante presentemente a simulao de capacidades
cognitivas de um ser humano. Projetam-se mquinas capazes de exibir um comportamento
inteligente, como se fossem reaes humanas. A inteligncia do ser humano a mais avanada
dentro do universo das criaturas e o local dessa inteligncia dentro do corpo humano o
crebro. As entidades bsicas so os neurnios, interconectados em redes o que permite a troca
de informao entre eles, criando a inteligncia biolgica. Uma ambio bvia que surge
desses fatos a tentativa de copiar a estrutura e o funcionamento do crebro em um ambiente
tcnico. Isso significa que a pesquisa tenta entender o funcionamento da inteligncia residente
nos neurnios e mape-la para uma estrutura artificial, por exemplo uma combinao de
hardware e software, assim transformando as redes neurais biolgicas em redes neurais
artificiais.
Foram definidas uma quantidade extensa de modelos de redes neurais artificiais e os mtodos
associados para adapt-los s tarefas a serem resolvidas. Um aviso prvio o fato que os
modelos artificiais tm pouco em comum com as redes neurais reais. Por outro lado existem
paralelos entre os dois mundos que prometem que as redes neurais artificiais sejam uma
aproximao apropriada para resolver problemas cognitivos complexos.
Neste material tenta-se dar uma breve introduo ao campo de computao neural. As
restries de espao permitem unicamente a apresentao de alguns dos modelos e algoritmos
de redes neurais artificiais. Tenta-se dar uma idia bsica sobre as capacidades e limitaes
desse rea de pesquisa e engenharia. Para o leitor interessado do-se referncias para o
aprofundamento da matria.

I.1 A Inspirao da Neurocincia


Quais so as qualidades do crebro humano que o capacitam de um comportamento
inteligente? Os seguintes tpicos refletem as mais importantes caractersticas que so
especialmente atrativas para serem simuladas em uma rede neural artificial:
Robustez e tolerncia a falhas: A eliminao de alguns neurnios no afeta a
funcionalidade global.
Capacidade de aprendizagem: O crebro capaz de aprender novas tarefas que nunca
foram executadas antes.
Processamento de informao incerta: Mesmo que a informao fornecida esteja
incompleta, afetada por rudo ou parcialmente contraditria, ainda um raciocnio
correto possvel.
Paralelismo: Um imenso nmero de neurnios est ativo ao mesmo tempo. No existe a
restrio de um processador que obrigatoriamente trabalhe uma instruo aps a
outra.
11

O processamento local de informao no crebro efetua-se em cerca de 10 unidades (os


neurnios) que tm uma estrutura relativamente simples. Na Figura 1 apresenta-se o modelo
simplificado de um nico neurnio real. O neurnio uma clula com ncleo e corpo (soma)
onde reaes qumicas e eltricas representam o processamento de informao. A sada da
informao do soma realizada por impulsos eltricos que se propagam atravs do axnio. No
final do axnio existem inmeras ramificaes que distribuem a informao para outros
neurnios vizinhos. A ligao com outros neurnios realizada atravs de sinapses que esto
conectadas a um dendrite do neurnio receptor. A sinapse dispara uma substncia qumica

quando for excitada pelo impulso do axnio. A substncia se transmite entre sinapse e dendrite
realizando a conexo entre dois neurnios vizinhos. Conforme as excitaes (ou inibies) que
clulas vizinhas transmitem para a clula em considerao ela processa a informao
novamente e a transmite via seu axnio.

sinapse

axnio
ncleo
soma
dendrites

Figura 1 - Neurnio biolgico

I.2 Histria da Neurocomputao


Um ponto marcante na histria das redes neurais artificiais foi a apresentao de um modelo de
um neurnio artificial por [McCulloch and Pitts, 1943]. As atividades nessa linha de pesquisa
culminaram na concepo do perceptron por [Rosenblatt, 1958] e em um modelo parecido, o
adaline por [Widrow and Hoff, 1960]. O perceptron capaz de classificar entre classes que so
linearmente separveis. Foi usado para reconhecer por exemplo caracteres. Essa aplicao foi
realizada em uma mquina chamada MARK I PERCEPTRON e causou uma grande euforia
certamente exagerada em relao a imaginao das capacidades de futuros robs inteligentes.
A caracterstica importante do perceptron foi a apresentao de um algoritmo de aprendizagem
capaz de adaptar os pesos internos do neurnio de maneira que seja capaz de resolver o
problema de classificao linear, em caso da separabilidade linear das classes.
O caso exemplar das limitaes do perceptron o problema Ou exclusivo (XOR)
( f ( 0, 0 ) = f ( 1, 1 ) = 0 , f ( 0, 1 ) = f ( 1, 0 ) = 1 ) que prova que uma funo to simples de
classificao no pode ser calculada pelo perceptron. Essa crtica centrou-se no livro
Perceptrons de [Minsky and Papert, 1969]. O impacto dessa crtica foi to grande que a
comunidade cientfica abandonou a rea das redes neurais artificiais, com a exceo de alguns
pesquisadores por exemplo Fukushima, Grossberg, Hopfield e Kohonen.
A soluo para o problema XOR j era conhecida. Bastava acrescentar mais uma camada de
neurnios na rede (uma camada escondida). O que faltava era um algoritmo que fosse capaz de
treinar os pesos dessa rede multi-camada para que pudesse classificar corretamente problemas
mais complexos. Vrias solues equivalentes foram descobertas durante os anos seguintes,
ms s a publicao do algoritmo de retropropagao de erro (error backpropagation) por
[Rumelhart et al., 1986] popularizou uma soluo de carcter universal para esse tipo de
problema. A partir desse momento, surgiram os modelos que foram desenvolvidos durante os
anos tranquilos da pesquisa e inmeros outros modelos de redes neurais artificiais junto com
algoritmos de aprendizagem foram apresentados. Espera-se para o futuro que o paradigma da
neurocomputao prove ser uma ferramenta potente para resolver problemas complexos.

I.3 Referncias para Aprofundamento na Matria de Redes Neurais


Alm de uma idia superficial, este texto no pode transmitir muita informao sobre esse
tema altamente interessante e desafiador. O leitor interessado deve ser dirigido para uma
escolha boa de livros de texto e recursos eletrnicos. Leitores com acesso a Internet deveriam
ler as Questes mais perguntadas (FAQ Frequently Asked Questions) do grupo de
discusses USENET com o endereo news:comp.ai.neural-nets. Nessas questes do-se
recomendaes de livros e artigos para uma maior especializao. Recomenda-se [Hinton,
1992] como artigo de introduo mais popular na rea. Livros para iniciantes, parcialmente
junto com cdigo, incluem [Masters, 1994], [Fausett, 1994] e [Anderson, 1995], de nvel
intermedirio e avanado [Bishop, 1995], [Hertz et al., 1991], [Haykin, 1994] e [Ripley, 1996].
Alm das recomendaes de livros encontram-se explicaes bsicas relacionadas aos tpicos
de redes neurais artificiais (RNA), por exemplo respostas s perguntas: O que uma rede
neural?, O que se pode fazer com redes neurais artificiais e o que no?, Quais so as
aplicaes possveis?, entre outras.
A maioria das implementaes de RNA feita em software. Existem uma srie de simuladores
publicamente disponveis, com cdigo fonte e manual. Um simulador especialmente potente
para o sistema operacional UNIX, que cobre a maioria das arquiteturas e algoritmos de
aprendizagem o Stuttgart Neural Network Simulator (SNNS). O programa est
implementado em C e possui uma interface grfica extensa. O endereo na internet desse
software ftp://ftp.informatik.uni-stuttgart.de/pub/SNNS.

II. FUNDAMENTOS
Uma rede neural artificial (RNA) tem duas facetas elementares: a arquitetura e o algoritmo de
aprendizagem. Essa diviso surge naturalmente pelo paradigma como a rede treinada. Ao
contrrio de um computador com arquitetura de von Neumann que programado, a rede
treinada por exemplos de treino. O conhecimento sobre o problema em considerao est
guardado dentro dos exemplos que tm que estar obrigatoriamente disponveis. O algoritmo de
aprendizagem generaliza esses dados e memoriza o conhecimento dentro dos parmetros
adaptveis da rede, os pesos. Assim o construtor de um sistema baseado em RNA tem dois
graus de liberdade, a definio sobre o tipo de rede para resolver o problema em considerao
e o algoritmo para treinar a rede, i.e. para adaptar os pesos da rede.
A composio da rede feita pelos neurnios. Normalmente o tipo de processamento de um
nico neurnio a combinao linear das entradas com os pesos seguida pela passagem da
combinao linear por uma funo de ativao.
A natureza do problema a ser resolvido normalmente define restries em relao aos tipos de
redes e algoritmos de aprendizagem possveis. Neste texto distinguem-se redes com
propagao do fluxo de informao para frente, redes recorrentes (com realimentao das
sadas para as entradas) e redes competitivas. Em relao aos algoritmos de adaptao, vamos
distinguir entre aprendizagem supervisionada e aprendizagem no-supervisionada.

II.1 Modelo de Neurnio Artificial


Em primeiro lugar, vamos introduzir o modelo simplificado de um neurnio e as capacidades
de processamento associadas. Na Figura 2 mostra-se o modelo de um neurnio artificial de
[McCulloch and Pitts, 1943]. Este modelo tenta simular as realidades biolgicas que ocorrem
dentro de uma clula do sistema nervoso, compare Figura 1. A informao fornecida por

outros neurnios entra em D entradas x j (=sinapses) no neurnio processador. O


processamento
consiste
de
uma
combinao
linear
das
entradas
net = w 1 x 1 + w 2 x 2 + + w D x D =

j = 1 w jx j = w
D

x . A cada entrada est associada um

peso w j que reflete a importncia da entrada x j . O resultado dessa combinao linear o valor
net . Se esse valor ultrapassar um limiar , o neurnio dispara o valor 1 na sada binria y ,
se no ultrapassar o limiar a sada fica passiva em y = 0 . A comparao de net com o limiar
realizada pela funo de Heaveside (funo de escada) ( x ) = 1 se x 0 e ( x ) = 0
caso contrrio.
y = ( j = 1 w j x j )
D

x1

PESOS
FUNO DE

w1
ENTRADAS

(1)

w2

x2

wD

xD

ATIVAO

net

COMBINAO

SADA

LIMIAR

LINEAR

NEURNIO ARTIFICIAL

Figura 2 - Modelo de um neurnio de McCulloch e Pitts

A funo de ativao no caso do modelo de [McCulloch and Pitts, 1943] no a nica maneira
de produzir o valor de sada do neurnio. Figura 3 mostra diferentes tipos de funes de
ativao. A funo linear produz uma sada linear contnua, a funo de escada, uma sada
binria (no-linear discreta) e a funo sigmoidal, uma sada no-linear contnua.
y ( net )

y ( net )

y ( net )

net

net

LINEAR

ESCADA

net
SIGMOIDAL

Figura 3 - Funes de Ativao

A definio da funo sigmoidal


1
Funo sigmoidal: g ( z ) = --------------z
1+e

(2)

e tem um conjunto de propriedades que se mostraro muito teis nos clculos relacionados
aprendizagem dos pesos e ao mapeamento realizado pela rede:

No linear
Contnua e diferenivel em todo o domnio de R
Derivada tem forma simples e expressa pela prpria funo: g' ( z ) = g ( z ) ( 1 g ( z ) )
Estritamente montona: z 1 z 2 g ( z 1 ) g ( z 2 )
Em termos do domnio dos valores calculados y i distingue-se basicamente entre sadas
binrias com y i { 0, 1 } ou y i { 1, 1 } e sadas contnuas com y i R .
Eventualmente o neurnio possui uma memria local, i.e. o estado de ativao anterior
tomado em considerao no clculo da ativao atual. Esse tipo de processamento dinmico
est fora do mbito desse texto.

II.2 Topologia de Redes de Neurnios Artificiais


Acabamos de definir uma entidade de processamento relativamente simples que calcula uma
funo de sada y a partir das entradas x j e dos pesos w j , com uma funo de ativao
predefinida. O potencial e flexibilidade do clculo baseado em redes neurais vm da criao de
conjuntos de neurnios que esto interligados entre si. Esse paralelismo de elementos com
processamento local cria a inteligncia global da rede. Um elemento da rede recebe um
estimulo nas suas entradas, processa esse sinal e emite um novo sinal de sada para fora que
por sua vez recebido pelos outros elementos.
SADAS

CAMADAS
ESCONDIDAS

ENTRADAS

Propagao para Frente

Realimentao

Figura 4 - Topologias principais de redes neurais artificiais

Uma categorizao fundamental da topologia dos neurnios pode ser feita em relao ao
mtodo de propagao da informao recebida, veja Figura 4. Pode-se distinguir entre redes de
propagao para frente (feedforward) e redes realimentadas (recurrent). No caso das redes de
propagao para frente o fluxo de informao unidirecional. Neurnios que recebem a
informao simultaneamente agrupam-se em camadas. Camadas que no esto ligadas s
entradas e nem s sadas da rede chamam-se camadas escondidas. Exemplos para esse tipo de
rede so o perceptron [Rosenblatt, 1958], o perceptron multi-camada [Rumelhart et al., 1986] e

o ADALINE [Widrow and Hoff, 1960]. Uma rede que adicionalmente tem uma relao
topolgica de vizinhana entre os neurnios o mapa auto-organizvel de Kohonen [Kohonen,
1972], [Kohonen, 1990].
Redes realimentadas tm ligaes entre os neurnios sem restries. Ao contrrio das redes
sem realimentao, o comportamento dinmico desempenha o papel fundamental nesse
modelo. Em alguns casos os valores de ativao da rede passam por um processo de relaxao
at chegarem a um estado estvel. O modelo que se apresentar como representante a rede
auto-associativa de [Hopfield, 1982].

II.3 Paradigmas de Aprendizagem


Uma vez definida a rede neural, essa tem que ser treinada. Isso significa que os graus de
liberdade que a rede dispe, para solucionar a tarefa em considerao, tm que ser adaptados
de uma maneira tima. Normalmente, isso significa que temos que modificar os pesos w ij
entre o neurnio i e o neurnio j , segundo um algoritmo. Um conjunto finito T de n exemplos
de treino est nossa disposio para adaptar os pesos durante a fase de treinamento da rede.
Uma distino principal em relao ao paradigma de aprendizagem que vlido para todo tipo
de sistemas com capacidade de adaptao aprendizagem supervisionada e aprendizagem
no-supervisionada.

II.3.1 Aprendizagem supervisionada


Na aprendizagem supervisionada cada exemplo de treino est acompanhado por um valor que
o valor desejado. Isso significa que o conjunto de treino T est composto por n pares de
n

exemplos ( x p, y p ) onde T = { ( x p, y p ) } p = 1 . A dimenso do vetor de entrada D , i.e. as


variveis de entrada esto agrupadas em um valor multidimensional (vetor de coluna),
T

normalmente do domnio dos nmeros reais: x = ( x 1, , x j, , x D ) , x j R . (A


transposio ( . )

usada para economizar espao escrevendo um vetor em uma linha). As


T

variveis de sada esto agrupadas em um vetor de sada y = ( y 1, , y i, , y c ) .


y

*
* *
( x 1, y 1 )

( x n, y n )
*
*
y = w0 + w1 x
*

x
Figura 5 - Regresso linear

Um exemplo de uma tarefa de aprendizagem supervisionada a regresso linear. Usamos o


caso unidimensional para facilitar a ilustrao, veja Figura 5. Nesse problema o conjunto de
treino consiste em pares de nmeros reais ( x p, y p ) . O objetivo da aprendizagem a
determinao de coeficientes w 0 e w 1 da reta y = w 0 + w 1 x . O algoritmo de aprendizagem

tenta minimizar a discrepncia entre o valor desejado y p e o valor que a resposta


y' = w 0 + w 1 x p do sistema, e isso em mdia para cada exemplo ( x p, y p ) .

II.3.2 Aprendizagem no-supervisionada


Quando a nica informao disponvel so os valores ( x p ) a tarefa de aprendizagem
n

descobrir correlaes entre os exemplos de treino T = { ( x p ) } p = 1 . O nmero de categorias


ou classes no est definido a priori. Isso significa que a rede tem que achar atributos
estatsticos relevantes, ela tem que desenvolver uma representao prpria dos estmulos que
entram na rede. Um sinnimo para aprendizagem no-supervisionada aglomerao
(clustering).
Um exemplo da rea de medicina a deteco de doenas a partir de imagens, por exemplo
imagens de raio-X. Existem vrias regies dentro da imagem que se deixam atribuir ao mesmo
material, por exemplo osso. O nmero dos materiais (das aglomeraes) no conhecido a
priori. O objetivo do sistema descobrir o nmero dos materiais diferentes e ao mesmo tempo
categorizar cada ponto da imagem para o respectivo material. A entrada para a rede seriam os
pontos da imagem, por exemplo uma pequena janela de 5 por 5 pontos. A resposta ideal da
rede seria o material a qual pertence essa regio da imagem.

II.4 Regras de Adaptao dos Pesos


Durante o processo de aprendizagem os pesos normalmente percorrem uma modificao
iterativa. O peso entre neurnio i e neurnio j seja w ij , veja Figura 6. Na iterao l o peso
(l)

w ij influencia a funo calculada pela rede. O algoritmo de aprendizagem julga a qualidade


do peso e eventualmente determina se o peso deve sofrer uma modificao no seu valor de uma
(l)

diferena w ij na prxima iterao l + 1 . Assim, se define a regra bsica de adaptao dos


pesos:
(l + 1)

Adaptao de peso: w ij

(l)

(l)

= w ij + w ij

(3)

Costuma-se inicializar os pesos aleatoriamente. O algoritmo de aprendizagem percorre um


nmero fixo de iterao e/ou at que uma condio de parada seja atingida, por exemplo numa
aprendizagem supervisionada a discrepncia entre o valor calculado e o valor desejado
desaparece para todos os exemplos de treino.
Neurnio i

w ii

w ij
w ji

Neurnio j

w jj

Figura 6 - Pesos entre neurnios, caso geral com realimentao

II.4.1 Aprendizagem pela Regra de Hebb


Um dos trabalhos pioneiros nos estudos de sistemas capazes de aprender foi feito por [Hebb,
1949]. Ele criou uma hiptese de que o peso de ligao entre dois neurnios que esto ativos

aos mesmo tempo deve ser reforado. Para o nosso modelo essa lei traduz-se para a
Regra de aprendizagem de Hebb: w ij = y i y j

(4)

onde a taxa de aprendizagem um fator de escala positivo que determina a velocidade da


aprendizagem. A definio dessa regra baseia-se em estudos biolgicos do crebro, mas como
j foi constatado, a correspondncia do modelo matemtico com a realidade biolgica
somente uma idealizao aproximada. A regra de Hebb define um algoritmo de adaptao dos
pesos, porm sem a definio de um objetivo a atingir, por exemplo, minimizar um erro entre
um valor desejado e calculado. No estudo da rede de Hopfield voltaremos regra de Hebb e
vamos provar que tem utilidade prtica.

II.4.2 Aprendizagem pela Regra de Delta


Uma regra de adaptao dos pesos com um objetivo bem visvel a regra de delta ou regra de
Widrow-Hoff [Widrow and Hoff, 1960]. A rede calcula na sada (no neurnio i ) uma funo
y' i . Na aprendizagem supervisionada conhece-se o valor desejado y i que a rede deve calcular.
Assim pode-se calcular o erro e i = y i y' i entre o calculado e o desejado. O peso entre o
neurnio i e o neurnio j que responsvel por esse erro ento deve ser modificado
proporcional ativao e ao erro, outra vez escalado por uma taxa de aprendizagem :
Regra de Delta: w ij = e i y j = ( y i y' i )y j

(5)

Neste caso, o objetivo do algoritmo de aprendizagem est bem claro, nomeadamente


minimizar o erro entre os valores calculados pela rede e desejados pelos exemplos fornecidos
num problema de aprendizagem supervisionada.

II.4.3 Aprendizagem Competitiva


Consideram-se as redes de neurnios onde um nico neurnio pode ser ativo ao mesmo tempo.
*

Isso significa que todos os outros neurnios tm uma ativao igual a zero y i = 0 para i i e
*

somente o vencedor i emite um sinal de ativao y * = 1 .


i

Aprendizagem Competitiva: w ij = y i ( x j w ij )

(6)

O efeito dessa regra que os pesos w i se deslocam em direo do estmulo (entrada) da rede x .
Vamos considerar a rede de Kohonen como exemplo de uma rede neural artificial que usa
aprendizagem competitiva para adaptar os pesos.

II.5 Taxinomia de Redes


Resumindo o paradigma de aprendizagem e as regras de adaptao dos pesos pode-se criar
uma diviso hierrquica para os modelos de redes neurais apresentados nesse texto, veja Figura
7. Os modelos que tm uma capacidade de aprendizagem dividem-se em modelos que usam
aprendizagem supervisionada e aprendizagem no supervisionada, dependendo se para cada
estmulo x um sinal com a resposta desejada da rede y est disponvel ou no. Perceptron,
perceptron multi-camada e adaline so modelos com aprendizagem supervisionada que se
baseiam no erro entre a resposta desejada e calculada da rede para adaptar os pesos. A rede de
Hopfield usa a regra de Hebb para memorizar um conjunto de padres. Na aprendizagem no

supervisionada a regra de Hebb tambm pode ser usada, por exemplo para estimar a densidade
de probabilidade com base nos exemplos dados. Uma arquitetura de rede com um algoritmo
competitivo a rede topolgica de Kohonen.

Modelo com
capacidade de aprendizagem

Aprendizagem supervisionada

Regresso, Classificao
(Regra de Delta)
Perceptron

Associativo
(Regra de Hebb)

Adaline

Perceptron
Multi-Camada

Hopfield

Aprendizagem no-supervisionada

Associativo
(Regra de Hebb)

Densidade
de probabilidade

Competitivo

Kohonen

Figura 7 - Classificao estrutural e funcional de redes neurais artificiais

III. REDES DE PROPAGAO PARA FRENTE


Considera-se aprendizagem supervisionada em redes de propagao para frente que esto
organizadas em camadas. No incio das atividades de pesquisa essas redes chamaram-se
perceptrons. O caso mais simples o perceptron com uma nica camada. O domnio dos
valores de sada binrio. O ADALINE permite variveis de sada com valores contnuos.
Quando existe mais que uma camada, i.e. existe uma ou mais camadas escondidas, trata-se de
perceptrons multi-camada. O fluxo de informao sempre unidirecional, ao contrrio de
redes com realimentao. Existem pesos (assimtricos) unidirecionais entre dois neurnios que
necessariamente tm que estar em camadas diferentes.

III.1 Perceptron
Classificao uma das aplicaes principais do clculo que as redes neurais so capazes de
realizar. O objetivo associar uma categoria de um universo finito a um objeto. Exemplos para
classificao so:
Reconhecimento automtico de caracteres
Deteco de falhas em processos
Identificao de pessoas por impresses digitais, voz, iris do olho
Diagnstico mdico
O perceptron [Rosenblatt, 1958] capaz de classificar entre duas classes que linearmente so
separveis, veja Figura 8 (O modelo extensvel facilmente para o caso de vrias classes).
Junto com a arquitetura foi proposto um mtodo de como os pesos podem ser adaptados.

Tambm foi dada uma prova formal da convergncia em um nmero finito de iteraes desse
algoritmo em caso da separabilidade linear.
A funo que o perceptron implementa a do neurnio de McCulloch e Pitts (1), onde a
funo de escada ( . ) substituda pela funo do sinal sgn ( z ) = 1 se z 0 e sgn ( z ) = 1
se z < 0 . Pode-se absorver o limiar no clculo como = w 0 , introduzindo um novo valor
de entrada fixo x 0 = 1 :
Regra de Classificao do Perceptron: d ( x ) = sgn ( j = 0 w j x j )
D

(7)

A funo calculada d ( x ) fornece uma resposta binria de que lado est o objeto
T

x = ( x 1, x 2 ) , assim permitindo uma classificao linear entre duas classes.


x2
+ +
+
++
+ +

*
**
**
d( x) > 0

d( x) < 0

d( x) = 0

* Classe 1
+ Classe 2

x1

Figura 8 - Problema de classificao. Duas classes so linearmente separveis. A reta d ( x ) = 0


separa as duas classes. O objectivo do algoritmo de perceptron achar pesos w 0 , w 1 e w 2 para a
definio do hiperplano separador (nesse caso a reta d ( x ) = w 0 + w 1 x 1 + w 2 x 2 ).

A estrutura da rede ento foi definida simplesmente pela equao linear de (7). Resta agora o
algoritmo de adaptao dos pesos, o algoritmo de aprendizagem de perceptron. A ideia bsica
uma adaptao iterativa nos moldes de (3) por um algoritmo iterativo. O algoritmo classifica
n

todos os objetos de treino T = { ( x p, t p ) } p = 1 , com x p = ( x 1 p, x 2 p ) neste caso ilustrativo


de duas dimenses pela regra (7) d ( x p ) . A classe verdadeira de x p est disponvel no valor de
alvo t p . Se nenhum erro de classificao ocorreu temos d ( x p ) = t p . Nesse caso estamos
D

satisfeitos com o conjunto dos pesos W = { w j } j = 1 . Se d ( x p ) t p ocorreu um erro de


classificao. Todos os objetos x p que provocaram um erro de classificao so usados para
modificar os pesos W para que o nmero de erros diminua e finalmente desaparea.
Define-se uma regra simples de modificao de pesos
Regra de aprendizagem do perceptron (verso simples):
w j = t p x j se d ( x p ) t p e w j = 0 se d ( x p ) = t p

(8)

Escolhem-se pesos aleatrios inicialmente. A regra (8) adapta os pesos em um nmero finito
de iteraes, se existe uma separao linear.
O perceptron um sistema de uma rede neural simples (nesse caso D + 1 entradas, uma
sada), capaz de resolver problemas lineares de classificao. Est equipado com um algoritmo

de adaptao de pesos que aprende baseado nos exemplos de treino. Obviamente a capacidade
de clculo do perceptron est limitada pela separabilidade linear das classes. Para classificar
problemas em que as classes se distribuem de tal maneira que seja impossvel criar um
hiperplano para separ-las, tcnicas mais sofisticadas tm que ser usadas, como o perceptron
multi-camada.

III.2 ADALINE
Vimos no exemplo anterior do perceptron que as sadas estavam limitadas para terem valores
binrios. Um modelo muito parecido com o perceptron em termos de arquitetura o ADALINE
[Widrow and Hoff, 1960]. A diferena porm est nas sadas contnuas, i.e. permite-se calcular
valores de sada do domnio dos nmeros reais, veja Figura 9. A funo calculada
simplesmente a combinao linear dos pesos e das entradas, ou equivalentemente o produto
interno do vetor de pesos e o vetor das entradas:
Funo do ADALINE: d ( x ) =

j = 0 w jx j
D

(9)

= w x

Foi outra vez introduzido uma entrada com um valor constante de 1 que facilita a
representao da funo calculada.

SADA

Camada de sada

d, t

Rede

Entradas

d( x) =

w jx j
j=0

w0
w1
1

x1

w2 w3
x2

x3

w4
x4

ENTRADAS

Figura 9- ADALINE com 4 variveis de entrada

Outra vez o problema para resolver (a funo para calcular) est especificado nos n exemplos
n

de treino: T = { ( x p, t p ) } p = 1 , compare com o perceptron. Os graus de liberdade que


T

existem para realizar essa aproximao de funo1 so os pesos w = ( w 0, w 1, , w D ) . O


objetivo do algoritmo de aprendizagem est na busca dos pesos que exibem uma propriedade
tima em relao a funo a ser calculada.

1. Se tivssemos c sadas d i e no s uma sada d , teramos que introduzir mais um ndice i para os
pesos w ij , assim indicando a ligao entre entrada j e sada i . Em vez de ter um vetor de pesos
w = ( w 0, w 1, , w D )

T T

teramos uma matriz de pesos W = ( w 1 , , w c ) de dimenso c ( D + 1 ) ,


T

com w i = ( w i0, w i1, , w iD ) . O vetor de funes seria W x = d ( x ) .

III.2.1 O erro quadrtico mnimo


Uma escolha natural para medir a qualidade da funo calculada pela rede a diferena entre o
valor desejado para o exemplo x p e o valor calculado pela rede:
Erro de clculo para um exemplo x p : e ( x p ) = desejado ( x p ) calculado ( x p )

(10)

O valor desejado o valor de alvo t p . O valor calculado pela rede d ( x p ) . Como o erro (10)
pode ser negativo ou positivo, calcula-se o quadrado para sempre ter uma diferena positiva
que no se elimina, considerando todos os exemplos individuais x p do conjunto de treino T .
2

Erro quadrtico para um exemplo x p : e ( x p ) = ( t p d ( x p ) ) = ( t p w x p )

(11)

O objetivo do algoritmo vai ser a minimizao do erro, considerando a mdia de todos os n


2

exemplos (valor esperado E { e ( x p ) } ). Isso permite definir o critrio a ser minimizado:


1
Erro quadrtico mdio: EQM = --n

p=1

1
e ( x p ) = --n

(t p w

x)

(12)

p=1

III.2.2 Soluo determinstica


Para esse tipo de problema linear existe uma soluo explcita para obter aquele vetor de pesos
w que minimize (12). Pode-se juntar todos os n exemplos de treino x p em uma nica matriz X
T

T T

de dimenso n ( D + 1 ) : X = [ x 1 , , x n ] , com x p = ( x p1, , x pD ) . Em analogia podeT

se juntar todos os valores de alvo t p num vetor de alvo t = ( t 1, , t n ) de dimenso n 1 .


T

O exemplo x p deve ser mapeado pela rede para w x p = t p . Assim pode-se formular o clculo
de

todos

os

exemplos

de

treino

xp

numa

nica

equao

de

dimenso

( n ( D + 1 ) ) ( ( D + 1 ) 1 ) = ( n 1 ) de vetores e matrizes:
Mapeamento de ADALINE de todos os exemplos: X w = t
Uma pr-multiplicao de (13) pela matriz transposta X
T

(13)
T

de X resulta em X X w = X t.

Outra pr-multiplicao pela inversa ( X X ) de X X (que sempre existe, sem prova)


finalmente resulta na soluo explcita do problema:
T

Soluo determinstica do ADALINE: w = ( X X ) X t

(14)

onde a matriz X = ( X X ) X denominada como Pseudoinversa de X .

III.2.3 Soluo iterativa: Descida de Gradiente


Acabamos de ver que existe uma soluo direta para calcular o conjunto de pesos que

minimiza o critrio de qualidade do mapeamento da rede. Esse soluo deve-se principalmente


natureza linear do problema, possibilitando assim a soluo por lgebra linear. Em caso de
redes que realizam um mapeamento no-linear, como no caso do perceptron multi-camada
com funo de ativao sigmoidal, essa soluo determinstica j no pode ser encontrada.
Temos que empregar tcnicas de otimizao de problemas sem restries. Analisaremos como
caso exemplar a tcnica da descida de gradiente. Em primeiro lugar apresenta-se esse mtodo
para o caso linear do ADALINE. Como vamos ver no caso do perceptron multi-camada a
descida de gradiente constitui o veculo para o conhecido algoritmo de retropropagao de
erro.
Figura 10 mostra a idia principal da tcnica da descida de gradiente. O erro quadrtico mdio
EQM uma funo dos pesos da rede EQM ( w ) = f ( w ) (para fins de ilustrao usa-se s um
nico peso w ). Essa funo em geral no conhecida para quem est procurando os pesos
timos (se fosse conhecida existia uma soluo determinstica). O objetivo geral encontrar o
peso w min que minimize o erro EQM (12), i.e. que faz a rede aproximar da melhor maneira
possvel o mapeamento entre todos os n exemplos x p para os valores de alvo t p .
Tenta-se chegar iterativamente ao mnimo global w min . A nica informao que conhecida
(l)

(l)

(l)

na iterao l o valor do erro EQM ( w ) = E ( w ) para o peso w atual. Supe-se que a


funo do erro seja derivvel em todo o domnio. Isso significa que o gradiente da funo de
erro E = dE ( w ) dw existe (no caso de um peso: E' ( w ) = dE dw ).

EQM ( w )

Gradiente

E ( w )
--------------w

E ( w )
Gradiente
--------------negativo ponderado
w

w min
w
w

(l)

Taxa de aprendizagem

(l + 1)

Figura 10- Descida de Gradiente. Considera-se um nico peso w = w j .

O gradiente um vetor. Ele aponta na direo do crescimento da funo E . Consequentemente


o gradiente negativo aponta na direo de decrescimento da funo E . A tentativa para chegar
no mnimo da funo ento a modificao do peso na iterao l para a iterao l + 1 na
direo do gradiente negativo E (da descida do gradiente). Para controlar a velocidade da
(l)

(l + 1)

modificao do peso de w para w


usa-se um fator de escala, a taxa de aprendizagem
. Temos ento no esprito da tcnica da adaptao dos pesos (3) uma regra de como vamos
procurar aquele peso que minimize o erro de mapeamento da rede:

Regra de adaptao de peso por descida de gradiente:


w

(l + 1)

= w

(l)

+ w

(l)

= w

(l)

(l)

(15)

Agora fica mais clara a necessidade da propriedade da funo sigmoidal (2) de que ela seja
contnua e diferenivel em todo o domnio de R . Assim consegue-se calcular o gradiente para
uma rede com funo de mapeamento no-linear, como ainda vamos verificar mais tarde.
(0)

Comea-se com um valor aleatrio do peso w na iterao 0 . A regra de adaptao de peso


aplicada um nmero fixo de vezes ou at que a diferena entre dois conjuntos de pesos
(l + 1)

(l)

consecutivos w
e w seja menor do que uma tolerncia eps . A diferena poderia por
exemplo ser a distncia Euclidiana entre os dois vetores de pesos. Todos os passos esto
resumidos no Algoritmo 1.
Algoritmo 1: Descida de Gradiente
Objetivo: Aprende uma vetor de pesos timos w opt que minimize a funo de custos E
0.) Nmero mximo de iteraes: l max
Diferena mnima entre dois vetores de pesos consecutivos: eps
Taxa de aprendizagem:
(0)

1.) l = 0 , w arbitrrio
2.) Repete iterao l
(l)

2.1) Calcule o gradiente do erro relativo aos pesos individuais w j : E j

= E

(l)

(l)

w j

2.2) Adapte os pesos na direo oposta ao gradiente


(l + 1)

wj

(l)

(l)

= w j + w j

at ( l > l max ou w

(l + 1)

(l)

(l)

(l)

= w j E j
=

(l + 1)

j = 0 (w j
D

(l) 2

w j ) < eps )

Problemas com o algoritmo so a escolha da taxa de aprendizagem e a ocorrncia de


mnimos locais. Se for escolhida muito pequena a aprendizagem poderia ficar lenta, se for
escolhida grande demais poderiam surgir oscilaes do erro com uma divergncia dos pesos,
i.e. os pesos no param de crescer. Mnimos locais so locais na funo de erro onde o
gradiente desaparece, portanto j no h uma modificao dos pesos. Assim o algoritmo pode
parar num conjunto de pesos que no corresponde ao mnimo global da funo de erro o que
seria desejvel.
Resta definir a prpria funo de erro. Temos duas possibilidades de como modificar os pesos:
2

1.) Depois da apresentao de cada exemplo x p , i.e. E = E ( x p ) = e ( x p ) (aprendizagem


estocstica, apresentao dos exemplos em ordem aleatria). Neste caso calcula-se o gradiente
relativo ao peso individual w j como:
2

E j = E w j = ( e ( x p ) ) w j = 2e ( x p ) ( e ( x p ) w j )
= 2e ( x p ) ( ( t p j = 0 w j x pj ) w j ) = 2e ( x p )x pj
D

2.) Depois da apresentao de todos os exemplos x p , i.e. E =

p = 1 e
n

( x p ) (aprendizagem

batch). Neste caso calcula-se o gradiente relativo ao peso individual w j como:


E j = E w j = 2 p = 1 e ( x p )x pj
n

o que resulta nas regras de atualizao de pesos (15) (absorvendo o termo constante 2 na taxa
de aprendizagem ):
(l)

(l + 1)

= w j + e ( x p )x pj , para j = 0, , D

(l + 1)

= w j + p = 1 e ( x p )x pj , para j = 0, , D

1.) w j
2.) w j

(l)

A regra de adaptao de pesos apresentada acima chama-se regra de delta, regra de adaline,
regra de Widrow-Hoff [Widrow and Hoff, 1960] ou regra da mdia dos quadrados mnimos
(LMS, least mean square rule), veja tambm [Hertz et al., 1991].

III.3 Perceptron Multi-Camada e Retropropagao de Erro


O estudo dos modelos do perceptron e do ADALINE trouxe-nos conhecimento sobre a natureza
das funes calculadas pela rede neural artificial e os mtodos de adaptao de pesos. Uma
limitao natural desse tipo de rede a linearidade das funes calculadas. Como j foi
referido anteriormente a incapacidade do perceptron de calcular a classificao dos dois
resultados
da
funo
do
Ou
exclusivo
(XOR)
( f ( 0, 0 ) = f ( 1, 1 ) = 0 ,
f ( 0, 1 ) = f ( 1, 0 ) = 1 ) na Figura 11 levou a um certo desinteresse por parte da comunidade
cientfica, devido especialmente a publicao de Perceptrons [Minsky and Papert, 1969].
x2
1

* Classe 1
+ Classe 2

x1
*0

+
1

Figura 11- O problema XOR. No existe uma separao linear entre as duas classes.

Era conhecido que a introduo de mais camadas no perceptron poderia resolver o problema de
XOR. O que no se conhecia era um mtodo para adaptar os pesos, especialmente em
problemas de regresso e classificao de maior complexidade. [Rumelhart et al., 1986]
popularizaram o algoritmo de retropropagao de erro. Apresenta-se em seguida o perceptron
com uma camada escondida e vrias sadas, treinado pela retropropagao de erro.

III.3.1 Arquitetura
Qualquer perceptron com pelo menos uma camada escondida (nem entrada, nem sada) um
perceptron multi-camada. Consideramos aqui o caso de uma nica camada escondida. A
generalizao para mais que uma camada escondida direta e a teoria aplica-se sem alterao,

veja a literatura. Um neurnio recebe vrias entradas da camada anterior e calcula uma
combinao linear (9) dessas variveis. O resultado da combinao linear passa pela funo de
ativao, neste caso novamente a funo sigmoidal (2). Usamos mais que uma sada. Isso
significa que a sada um vetor d = ( d 1, , d c )

de c funes individuais d i calculadas.

Assim a rede realiza um mapeamento de um vetor multidimensional x para outro vetor


multidimensional

d,

i.e.

rede

d( x)

calcula

com

d ( x ) = ( d 1 ( x 1, , x D ), , d c ( x 1, , x D ) ) .
A camada escondida tem um nmero H de neurnios. Usa-se eventualmente outra vez uma
entrada constante de 1 tambm na camada escondida. Um peso entre a varivel de entrada x j
e o neurnio com ndice h na camada escondida chama-se w hj . Todos os pesos w hj podem ser
juntados na matriz de pesos entrada-escondida W h . Em analogia, existe um peso w ih que
liga o neurnio com ndice h na camada escondida com a sada d i . Todos os w ih formam a
matriz W i .
H

Camada de sada

d, t

d1

d2

d3

gi
i

1
g ( z ) = --------------z
1+e

w ih
h

Camada escondida(s)
Rede

W = W i, W h

d i ( x ) = g w ih g w hj x j
h = 0
j = 0

SADAS

gh
h
w hj

Entradas

x1

x2

x3

x4

ENTRADAS

Figura 12- Perceptron multi-camada com uma camada escondida. Quatro variveis de entrada, trs
variveis de sada. Funo de ativao sigmoidal.

O mapeamento realizado para uma funo d i de sada :


Funo do perceptron multi-camada: d i ( x ) = g ( h = 0 w ih g ( j = 0 w hj x j ) )
H

(16)

A funo (16) constitui um instrumento poderoso de realizar clculos no lineares em muitas


reas de aplicao. Pode-se usar (16) para classificao de classes que no so linearmente
separveis, como no caso do XOR. Tambm para problemas de regresso o perceptron multicamada muito til, por exemplo para realizar previses. A rea de controle automtico e a
identificao de plantas outro exemplo.

Uma das grandes vantagens dessa tcnica que o perceptron multi-camada um aproximador
universal de funes. Isso significa que desde que os pesos sejam bem adaptados e a rede
dispe um nmero suficiente de neurnios escondidos, o clculo desejado atingido.

III.3.2 Adaptao dos pesos


Em analogia ao ADALINE tenta-se aprender os pesos da rede baseado numa funo de erro
entre o mapeamento realizado e desejado. Usa-se outra vez a tcnica de descida de gradiente
do Algoritmo 1. Temos que reformular o erro quadrtico (10) porque aumentamos o nmero de
sadas d i para c . A diferena entre os valores desejados para o exemplo x p e os valores
calculados pela rede (10) agora virou diferena entre dois vetores. Os valores desejados o
vetor

de

t p = ( t p1, , t pc ) .

alvo

d ( x p ) = ( d 1 ( x p ), , d c ( x p ) )

valor

calculado

pela

rede

vetor

. A escolha comum para a diferena entre o desejado e o

calculado pela rede a distncia Euclidiana1 quadrtica entre os dois vetores:


c

Erro quadrtico para um exemplo x p : e ( x p ) = t p d ( x p )

( t pi d i ( x p ) )

(17)

i=0
2

Finalmente o valor esperado do erro quadrtico E { e ( x p ) } pode ser estimado pela mdia dos
erros quadrticos de todos os exemplos do conjunto de treino T .
1
Erro quadrtico mdio: EQM = --n

1
e ( x p ) = --n
2

p=1

( t pi d i ( x p ) )

(18)

p = 1i = 0

Utilizamos outra vez a filosofia da descida de gradiente (15) e o Algoritmo 1 para adaptar os
pesos. Desta vez porm, temos que adaptar pesos que dependem no-linearmente do gradiente
de erro. Na adaptao dos pesos da camada escondida para a camada de sada W i = [ w ih ]
ainda podemos usar a regra de delta. Para a adaptao dos pesos da entrada para a camada
escondida W h = [ w hj ] temos que usar a regra de delta generalizada.
Vamos considerar unicamente a aprendizagem orientada a cada exemplo x p . Resta ento
calcular o gradiente em relao aos pesos da camada escondida para a camada de sada
E ih = E w ih e o gradiente em relao aos pesos da entrada para a camada escondida
E hj = E w hj . Usamos as seguintes abreviaes:
e i = t pi d i ( x p )
H

d i ( x p ) = g i = g ( i ) = g w ih g h = g w ih g ( h ) = g w ih g w hj x j
h = 0
j = 0

h = 0

h = 0

1. Distncia Euclidiana entre dois vetores x = ( x 1, , x dim ) e y = ( y 1, , y dim ) de dimenso dim


xy =

i = 0 ( xi yi )
dim

Camada escondida para a camada de sada: Regra de delta:


E ih = E w ih = e w ih = ( i = 1 e i ) w ih
2

= ( i = 1 ( t i g i ) ) w ih =
2

i = 1 ( t i gi )
c

w ih =

= 2 i = 1 ( t i g i ) ( g i w ih ) = 2 ( t i g i ) ( g i w ih ) = 2e i g i w ih
c

= 2e i [ g i ( 1 g i ) ( i w ih ) ] = 2e i [ g i ( 1 g i )g h ] = 2 i g h
onde a quantidade i = e i g' i = e i ( g i ( 1 g i ) ) foi definida como o delta da camada de sada.
Entrada para camada escondida: Regra de delta generalizada:
E hj = E w hj = e w hj = ( i = 1 e i ) w hj = ( i = 1 ( t i g i ) ) w hj
2

i = 1 ( t i gi ) whj = 2 i = 1 ( t i gi )gi whj


c
c
2 i = 1 e i ( g ( i ) w hj ) = 2 i = 1 e i g i ( 1 g i ) ( i w hj )
c
H
= 2 i = 1 e i g i ( 1 g i ) [ ( h = 0 w ih g h ) w hj ]
c
H
= 2 i = 1 e i g i ( 1 g i ) [ ( h = 0 w ih g h ) w hj ]
c
= 2 i = 1 e i g i ( 1 g i ) [ g h ( 1 g h ) ( h w hj ) ]
c
= 2 i = 1 e i g i ( 1 g i ) [ w ih g h ( 1 g h )x j ]
c
= 2g h ( 1 g h ) i = 1 e i g i ( 1 g i )w ih x j = 2 h x j
=

onde a quantidade h = g' h i = 1 i x j foi definida como o delta da camada escondida.


c

Fica clara que os deltas da camadas anteriores so propagadas para trs, assim justificando o
nome retropropagao de erro (error backpropagation).
A rede neural artificial do perceptron multi-camada um instrumento poderoso de realizar
aproximaes universais de funes a partir de um conjunto de dados de treino. Existem
muitos campos de aplicao que permitem mapear o problema para uma rede e adaptar os
pesos pelos dados de treino especificados.
Uma desvantagem do perceptron multi-camada o tempo de treino extenso. Em um problema
complexo pode-se levar vrias semanas at se obter um conjunto de pesos adequados. A
escolha da taxa de aprendizagem desempenha tambm um papel fundamental. Como j foi dito
existe a possibilidade de que a funo de erro fique presa em um mnimo local. Existem
heursticas para tentar resolver esse problema (fora do mbito desse texto). Paralisia do treino
um fenmeno que acontece quando a magnitude dos pesos grande. A derivada da funo
sigmoidal (2) fica muito pequena nesse caso, o que causa que a modificao dos pesos
praticamente desaparece.

IV. REDES COM REALIMENTAO


Todos os modelos at agora apresentados (perceptron e adaline) so redes com propagao
para frente. Isso significa que a informao processada unidirecionalmente dentro da rede.
Esse tipo de processamento supe que no h comportamento dinmico da rede, i.e. a ativao
dos neurnios depende deterministicamente das entradas. Por outro lado, podemos conceber
uma rede que realimenta os valores calculados como entradas novamente, o que provoca o
clculo de valores modificados nas sadas, que por sua vez novamente so realimentadas,
compare Figura 4 e Figura 6. Certamente esse tipo de rede exibe um comportamento dinmico
dos seus valores, i.e. uma modificao dos valores ao longo do tempo, dado um nico estmulo
inicial. O conjunto de valores de sada atuais dos neurnios chama-se o estado da rede.
Desejvel um comportamento estvel. Isso significa que depois de um estmulo inicial da
rede os valores de sada caminham para uma constante.

IV.1 Modelo de Hopfield


Como exemplo para apresentar os conceitos de redes com realimentao e comportamento
dinmico apresenta-se o modelo de Hopfield, denominado segundo um pesquisador com um
grande impacto nesse tipo de arquitetura de rede [Hopfield, 1982]. Entradas x j e sadas x i do
neurnio i so valores binrios, sendo o valor 1 atribudo ao estado ativo e o valor 1
atribudo ao estado inativo, i.e. x j { 1, 1 } e x i { 1, 1 } . O neurnio do modelo
McCulloch-Pitts, com pesos w ij entre neurnio i e neurnio j , veja Figura 2. Para facilitar o
clculo usa-se como funo de ativao a funo do sinal sgn ( z ) = 1 se z 0 e
sgn ( z ) = 1 se z < 0 e seja o limiar = 0 . Assim permite-se a formulao da
Regra de adaptao dinmica da sada de neurnio i : x i = sgn ( j = 0 w ij x j )
D

(19)

Em princpio no se distinguiu entre variveis de entrada x j e variveis de sada x i , porque a


sada de um neurnio pode servir como entrada realimentada do mesmo neurnio. Tendo uma
rede de H neurnios o estado atual da rede caracteriza-se por um vetor de dimenso H com
valores de 1 ou 1 , e.g. Estado = ( 1, 1, 1, 1, 1, 1 )

= x ( t ) para uma rede de 6

neurnios. O comportamento dinmico a mudana do estado de x ( t ) no momento t para o


estado x ( t + t ) no momento t + t . A rede est estvel se j no h mudana de estado, i.e.
x ( t + t ) = x ( t ) para todos t 0 .
Existem duas maneiras de atualizar o estado da rede. Na atualizao sncrona existe uma
entidade central que regula a transio de x ( t ) para x ( t + t ) ao mesmo tempo para todos os
H neurnios. Na atualizao assncrona cada neurnio se atualiza independentemente dos
outros neurnio (mas com a mesma frequncia). A melhor maneira de realizar uma simulao
passar por todos os neurnios numa ordem aleatria e atualizar sequencialmente.

IV.2 Associatividade de Padres na Rede de Hopfield


n

O objetivo da rede memorizar n padres x p de um conjunto de padres T = { x p } p = 1 . A

rede tem que responder nas sadas com o estado x ( t ) = x p quando esse mesmo estado for
apresentado inicialmente rede, i.e. x ( 0 ) = x p . A resposta deveria ser tambm o padro
memorizado, mesmo se o estmulo inicial somente for parecido1 com um dos padres
memorizados, i.e. x ( 0 ) x p . Dessa capacidade de recuperar informao memorizada, mesmo
com informao inicial incompleta, corrompida ou parcialmente errada deriva-se a ambio
desse tipo de rede, nomeadamente de ser uma memria associativa que capaz de imitar as
capacidades do ser humano.

IV.3 Estabilidade e Aprendizagem de Pesos


Quais so as condies para que a rede seja estvel? Se tivssemos s um nico padro
x = ( x 1, , x H )

o estado calculado pela rede segundo (19) teria que ficar inalterado para

cada neurnio i = 1, , H , i.e. x i ( t + t ) = x i ( t ) . Substituindo o peso w ij pela expresso


x i ( t ) x j ( t ) na regra (19) x i ( t + t ) = sgn ( j = 0 w ij x j ( t ) ) , obtm-se
D

x i ( t + t ) = sgn ( j = 0 x i ( t ) x j ( t ) x j ( t ) ) = sgn ( j = 0 x i ( t ) 1 )
D

= sgn ( D x i ( t ) ) = x i ( t )

Normalizando pelo nmero dos neurnios presentes na rede (e ignorando o ndice t do tempo)
pode-se definir a:
1
Regra de aprendizagem para o peso w ij para um padro: w ij = ---- x i x j
H

(20)

Uma rede treinada por essa regra vai recuperar o padro ensinado x mesmo quando a metade
(menos 1) das entradas esteja diferente do padro. Um estmulo inicial parecido com x
rapidamente relaxa para x .
No caso de n padres diferentes a extenso bvia da regra (20) a superposio do peso para
todos os padres. Observa-se que a regra de aprendizagem de Hebb (4) foi aplicada em (20),
dando o nome regra de aprendizagem para o peso w ij para n padres.
1 n
Regra de Hebb, Regra de Hebb Generalizada: w ij = ---- p = 0 x pi x pj
H

(21)

onde x pi o estado de neurnio i para padro p .

IV.4 Relaxao, Minimizao de Energia


Na rede de Hopfield os pesos entre os neurnios so simtricos, i.e. w ij = w ji e define-se um
peso nulo da realimentao do prprio neurnio i.e. w ii = 0 . Com essas pr-condies a
T

1. A semelhana entre dois padres binrios x p = ( x p1, , x pH ) e x q = ( x q1, , x qH ) pode-se medir


por exemplo em termos da distncia de Hamming: dist ( x p, x q ) =

i = 0 [ x pi ( 1 xqi ) + ( 1 x pi )xqi ]
H

introduo de uma
H

1
Funo de Energia: H = ---
2

wij xi x j

(22)

i=0j=0

garante que a rede sempre relaxa para um estado estvel. Isso acontece porque com os pesos
simtricos a energia obrigatoriamente tem que diminuir em cada passo de relaxamento. Para
uma prova desse fato veja [Hertz et al., 1991].
Vale a pena ainda ser mencionada que a rede relaxa para estados que no s so os padres
memorizados. Existem estados reversos e estados esprios. Veja tambm [Hertz et al., 1991]
para a definio desses efeitos colaterais no desejveis na recuperao de informao na rede
de Hopfield.

IV.5 Aplicao: Recuperao de Imagens


x2

x1

x3

x4

Padres
memorizados

Relaxao
Estmulo
inicial

x(0)

Energia H

x ( t final )
Resposta
final

Tempo t

Figura 13 - Rede de Hopfield como memria de imagens. Quatro imagens binrias 4 5 so


T

guardadas em vetores x p = ( x p1, , x p20 ) de dimenso 20 = 4 5 . Na fase de recuperao uma


imagem corrompida apresentada como estmulo inicial a rede que por relaxao chega no estado
final da imagem memorizada mais parecida.

Uma aplicao que demostra a capacidade de associar informao incompleta a


memorizao de imagens. Usam-se imagens binrias onde o valor 1 significa que o pixel na
posio ( a, b ) da imagens seja branco e o valor 1 significa preto. Seja A o nmero de linhas
da imagem e B o nmero de colunas, o que resulta em A B pixels. Assim a imagem completa
pode ser guardada em um vetor x de dimenso H = A B simplesmente por linearizao da
imagem, introduzindo linha por linha no vetor x .
Dessa maneira pode-se memorizar um conjunto de imagens diferentes { x p } , quatro no
exemplo da Figura 13. A recuperao de uma imagem guardada se efetua pela apresentao de

uma imagem inicial rede, i.e. inicializar o estado x ( 0 ) com a imagem inicial. Espera-se
ento que a rede relaxe para uma das imagens guardadas que seja a mais parecida com a
imagem inicial. Assim, permite-se relembrar de uma imagem completa, mesmo que a imagem
inicial seja apenas uma verso parcialmente errada ou incompleta da imagem memorizada.

V. REDES COMPETITIVAS
Consideremos o caso de aprendizagem no-supervisionada, em que a nica informao
n

disponvel o conjunto de exemplos T = { ( x p ) } p = 1 . Todos os H neurnios i ,


i = 1, , H recebem o mesmo estmulo x . Entre a entrada x j e o neurnio y i existe um peso
w ij , i.e o vetor w i liga a entrada x a sada y i . Todos os neurnios formam a camada
competitiva, veja Figura 14. Determina-se um vencedor dentro dessa camada competitiva. O
*

neurnio vencedor i o nico que tem o direito de emitir um sinal de sada que seja 1 , i.e.
y * = 1 (vencedor-pega-tudo ou winner takes all). Todos os outros neurnio ficam inativos,
i

i.e. y i = 0 , para i i .
Sadas

y1

y2

y4

y3

EM CASO DE RELAO
TOPOLGICA:
Interao
lateral com
vizinho em termos
de topologia

yi
wi

Camada competitiva
(Camada de Kohonen)

w ij

xj
x1

x2

x3

Entrada x

Figura 14 - Rede Competitiva. A nica sada que emite um sinal y * = 1 aquela do neurnio i , o
i

vencedor, que tem a maior semelhana com o estmulo x .

V.1 Determinao do Vencedor


Basicamente usam-se duas possibilidades de determinar o vencedor dentro da camada
competitiva. No primeiro caso normalizam-se ambos o sinal de entrada e os pesos para um
comprimento de 1 , i.e. x x x e w i w i w i para que seja x = 1 e w i = 1 .
Nesse caso o vencedor determina-se pelo maior produto interno:
T
i

Vencedor (caso vetores normalizados): w * x > w i x

(23)

ou equivalentemente pelo menor ngulo i entre peso e sinal de entrada, veja Figura 15 a.

x2 w2
w1

w1

x2 w2
1

Distncia
Euclidiana

1
2

w2

w2

w1
0

x1

w1

x1

1
b.)

a.)

Figura 15 - Determinao do vencedor (da semelhana entre o estmulo x e o peso w i ). Caso de


T

duas dimenses ( D = 2 ). A semelhana pode ser o produto interno w i x em caso de comprimento


normalizado dos vetores, i.e. w i = 1 e x = 1 ou pode ser a distncia Euclidiana w i x caso
contrrio.

A segunda opo para determinar a maior semelhana entre a entrada x e o peso w i medir a
distncia Euclidiana entre os dois vetores x w i =

j = 0 ( x j wij )
D

. No caso em que os

dois vetores no estejam normalizados como na Figura 15 b, essa conveno toma melhor em
considerao o comprimento dos vetores e no o ngulo entre eles.

V.2 Adaptao dos Pesos


Usando o mtodo iterativo de adaptao de pesos (3), os pesos da rede se modificam
exclusivamente baseado na estrutura dos dados de treino T . A expectativa do comportamento
de uma rede desse tipo que estmulos x p e x q que so parecidos provocam a resposta do
mesmo vencedor. Considerando esse fato bvio que os pesos deveriam movimentar-se em
*

direo aos estmulos, i.e. na direo do vetor w * pertencendo ao neurnio vencedor i , i.e.
i

w * = x w * . Naturalmente temos que ponderar o passo de aproximao pela taxa de


i

aprendizagem que controla a velocidade do processo de aprendizagem. A adaptao pode


ser feita outra vez independentemente para cada componente j do vetor x , j = 1, , D .
*

Como as sadas dos neurnios no-vencedoras so nulos para i i , pode-se juntar a regra
para todos os pesos, obtendo (6):
(l + 1)

Regra de aprendizagem competitiva: w ij

(l)

(l)

= w ij + y pi ( x pj w ij )

(24)

onde y pi a sada de neurnio i para a entrada x p e x pj a j-sima componente da entrada x p .

V.3 O Mapa de Preservao Topolgica de Kohonen


At agora no existia nenhuma relao topolgica entre neurnios da mesma camada. Por
exemplo, num perceptron multi-camada o valor da funo de ativao de um neurnio na
camada escondida no tem nenhuma influncia sobre o valor dessa funo do vizinho dele na
mesma camada, ou sobre o peso na fase de aprendizagem. Vamos considerar agora redes que
na fase da adaptao dos pesos exercem um efeito colateral sobre os vizinhos na camada
competitiva. Na Figura 14 essa interao est implementada pelas ligaes laterais entre
vizinhos imediatos e mais afastados da camada competitiva. Muitas contribuies foram feitas
por T. Kohonen nessa rea [Kohonen, 1972], [Kohonen, 1990]. Por isso as vezes a camada
competitiva topolgica com interao chamada camada de Kohonen. A motivao biolgica
para essa aproximao o fato que tambm no crebro pode-se observar que estmulos
sensoriais externos parecidos muitas vezes excitam as mesmas reas do crebro, especialmente
na formao das capacidades de motricidade e sensibilidade.
Entrada

Entrada

Mapa auto-organizvel de Kohonen

Mapa auto-organizvel de Kohonen


w1

...

w2

w1

...

w2

...

wi

...

wi

...

...

... ... ... ...

... ... ... ...

a.)

b.)

Figura 16- Mapa auto-organizvel de Kohonen de duas dimenses: a.) Topologia retangular. Cada
neurnio tem quatro vizinhos imediatos. b.) Topologia hexagonal. Cada neurnio tem seis vizinhos
imediatos.

Na Figura 16 mostra-se uma organizao topolgica dos neurnios (que todos fazem parte da
camada competitiva) em uma estrutura 2-D. Cada neurnio tem 4 ou 6 vizinhos imediatos,
conforme a organizao retangular ou hexagonal das ligaes entre os membros da camada.
Cada neurnio recebe o mesmo estmulo externo x e o vencedor determinado, conforme a
conveno ilustrada na Figura 15. A regra (24) modificada de maneira que se modificam
*

todos os pesos, dependendo da funo de relao topolgica (funo de vizinhana) h ( i , i )


*

entre o vencedor i e os seus vizinhos i , sendo h ( i , i ) = 1 .


Regra de aprendizagem competitiva na camada de Kohonen:
(l + 1)

w ij

(l)

(l)

= w ij + h ( i , i ) ( x pj w ij )

(25)

A funo h ( ., . ) deve ter um valor mximo no centro, i.e. no neurnio vencedor e ter um
comportamento decrescente com distncia crescente do centro. Uma funo que satisfaz essas
condies a funo Gaussiana, veja Figura 17. A introduo de h ( ., . ) provoca que, alm do
vencedor, os pesos dos vizinhos do vencedor tambm se atraem em direo do estmulo, mas

em quantidade menor. Se h ( ., . ) for outra funo com valores menor que zero na vizinhana
teramos ligaes inibitrias que em vez de atrair os pesos para o estmulo os afastariam do
estmulo.
h ( ., . )

Figura 17 - Gaussiana em duas dimenses.

VI. CONCLUSES
Neste documento deu-se uma breve introduo rea das redes neurais artificiais. A ambio
desse texto a familiarizao com os conceitos bsicos da neurocomputao, neurnio
artificial, topologia da rede, paradigmas de aprendizagem e regras para a adaptao dos pesos.
Ao mesmo tempo tentou-se esclarecer as capacidades e limitaes de uma rede neural
artificial. Desde que seja possvel mapear o problema em considerao para a arquitetura de
uma rede, pode-se esperar a resoluo de problemas cognitivas interessantes. Ao mesmo
tempo tem que ficar claro que a classe de problemas resolveis por uma rede neural artificial
limitada. Basicamente redes neurais artificiais so aproximadores universais de funes. Em
outras reas cientficas existem propostas para a obteno da funo desejada, como por
exemplo na estatstica. A vantagem das redes a aprendizagem por um conjunto de treino,
junto com um carter universal da arquitetura da rede. Isso significa que o projetista de uma
rede no tem que se preocupar muito com parmetros internos da rede. Por exemplo em um
perceptron com uma camada escondida praticamente o nico grau de liberdade o nmero dos
neurnios nessa camada escondida. Mesmo assim esse tipo de rede possui um potencial grande
para ser usado em vrias reas de aplicao. Pode-se concluir que o caminho para um sistema
artificial realmente inteligente provavelmente tenha que ter incorporado alguns dos princpios
de redes neurais artificiais.

BIBLIOGRAFIA
[Anderson, 1995]
Anderson, J. A., An Introduction to Neural Networks, Cambridge, MA: The MIT Press, 1995
[Anderson and Rosenfeld, 1988]
Anderson, J. A. and Rosenfeld E., eds., Neurocomputing: Foundations of Research, Cambridge, MIT
Press, 1988.
[Bishop, 1995]
Bishop, C. M., Neural Networks for Pattern Recognition, Oxford: Oxford University Press, 1995
[Fausett, 1994]
Fausett, L., Fundamentals of Neural Networks: Architectures, Algorithms, and Applications, Englewood
Cliffs, NJ: Prentice Hall, 1994
[Haykin, 1994]
Haykin, S., Neural Networks, a Comprehensive Foundation, Macmillan, New York, NY, 1994
[Hebb, 1949]
Hebb, D. O., The Organization of Behavior. Wiley, New York, 1949, Partially reprinted in [Anderson and
Rosenfeld, 1988]
[Hertz et al., 1991]
Hertz, J., Krogh, A., and Palmer, R., Introduction to the Theory of Neural Computation. Addison-Wesley:
Redwood City, California, 1991
[Hinton, 1992]
Hinton, G.E., How Neural Networks Learn from Experience, Scientific American, 267 (September),
144-151, 1992
[Hopfield, 1982]
Hopfield, J. J., Neural networks and physical systems with emergent collective computational abilities,
Proc. of the National Academy of Sciences, USA, vol. 79, pp. 2554-2558, 1982, Reprinted in [Anderson
and Rosenfeld, 1988]
[Kohonen, 1972]
Kohonen, T., Correlation Matrix Memories, IEEE C-21 (4), pp. 353-359, 1972
[Kohonen, 1990]
Kohonen, T., The self-organizing map, Proc. of the IEEE, vol. 78, no. 9, 1990.
[Masters, 1994]
Masters, T., Practical Neural Network Recipes in C++, Academic Press, 1994
[McCulloch and Pitts, 1943]
McCulloch, W. S., and Pitts, W., A logical calculus of the ideas immanent in nervous activity, Bulletin of
Mathematical Biophysics, vol. 5, pp. 115-133, 1943, Reprinted in [Anderson and Rosenfeld, 1988]
[Minsky and Papert, 1969]
Minsky, M., Papert S., Perceptrons, The MIT Press, Cambridge, MA, 1969.
[Ripley, 1996]
Ripley, B.D., Pattern Recognition and Neural Networks, Cambridge: Cambridge University Press, 1996
[Rosenblatt, 1958]
Rosenblatt, F., The perceptron: A probabilistic model for information storage and organization in the
brain, Psychological Review, vol. 65, pp. 386-408, 1958.
[Rumelhart et al., 1986]
Rumelhart, D. E., Hinton, G. E., and Williams, R. J., Learning internal representations by error
propagation, in Rumelhart, D. E., and McClelland, J. L. (eds.), Parallel Distributed Processing:
Explorations in the Microstructure of Cognition I, pp. 318-362, MIT Press, Cambridge MA, 1986.
[Widrow and Hoff, 1960]
B. Widrow, and M. E. Hoff, Adaptive switching circuits, in 1960 WESCON Convention Record, New
York, 1960.

Вам также может понравиться