Você está na página 1de 37

REDES NEURAIS ARTIFICIAIS

Marley Maria Bernardes Rebuzzi Vellasco



















2007
Sumrio


1) Redes Neurais Artificiais (RNAs)

1.1. Introduo .................................................................................................................3
1.2. Histrico .................... ..............................................................................................3
1.3. Redes Neurais Artificiais (RNAs)............................................................................5
1.4. Funo de Ativao....................................................................................................6
1.5. Etapas de modelagem de uma rede neural.................................................................9
1.6. Tipos de arquitetura neural: redes recorrentes e redes no recorrentes ...................10
1.7. Tipos de treinamento: supervisionado e no supervisionado...................................11
1.8. Perceptron................................................................................................................21
1.9. MLP (redes de mltiplas camadas) e o algoritmo de retropropagao....................24


















2
1.1) Introduo

A expresso rede neural motivada pela tentativa destes modelos imitarem a
capacidade que o crebro humano possui de reconhecer, associar e generalizar padres.
Trata-se de uma importante tcnica estatstica no-linear capaz de resolver uma gama de
problemas complexos. Isso torna o mtodo extremamente til quando no possvel definir
um modelo explcito ou uma lista de regras. Em geral, isso acontece em situaes em que o
ambiente dos dados muda muito. As principais reas de atuao so para a classificao de
padres e previso.

1.2) Histrico
O crebro humano possui caractersticas desejveis em qualquer sistema artificial.
Como exemplo pode-se citar a sua capacidade para lidar com informaes inconsistentes
e/ou probabilstica, alta flexibilidade para se adaptar a situaes aparentemente pouco
definidas, tolerncia a falhas, entre outras. Todas estas caractersticas mencionadas
despertaram o interesse de pesquisadores que, na dcada de 80, intensificaram suas linhas
de estudo na rea de inteligncia artificial com o uso da computao intensiva.
No entanto, o aparecimento da neuro-computao ocorreu bem antes, na dcada de
40. Em 1943, Warren Mc Culloch, psiquiatra e neuroanatomista, e Walter Pitts,
matemtico, desenvolveram uma mquina inspirada no crebro humano e um modelo
matemtico de neurnio biolgico artificial denominado Psychon. Entretanto, este modelo
no era capaz de desempenhar uma de suas principais tarefas: o aprendizado.
Em 1951, Marvin Minsky criou o primeiro neurocomputador chamado Snark. A
partir de um ponto de partida, o Snark, operava bem, ajustando os seus pesos
automaticamente. Apesar de no ter executado uma funo de processamento de
informao relevante serviu como molde para futuras estruturas.
Em 1958, Frank Rosenblatt e Charles Wightman junto com alguns outros
estudiosos desenvolveram o primeiro neurocomputador bem sucedido. Estes pesquisadores
so designados como os fundadores da neurocomputao devido a importncia de seus
trabalhos para essa linha de pesquisa muito prxima da forma como existe atualmente. Os
seus estudo sustentaram os modelos do tipo perceptron (redes de um nvel) e MLP
(Perceptrons de mltiplas camadas). O objetivo inicial era aplicar a modelagem do tipo
3
Perceptron para o reconhecimento de padres.
Os modelos baseados no Perceptron sofreram graves crticas. Na obra: Na
Introduction to computacional geometry, Minsky e Papert, mostraram matematicamente
que estes modelos, na forma como estavam, no eram capazes de aprender a funo lgica
do OU Exclusivo (Exclusive OR_XOR). A funo XOR possui padres de valores de
entrada e sada cuja associao no poderia ser aprendida pelos modelos baseados em
Perceptrons. Esta constatao impactou negativamente as pesquisas que vinham sendo
realizadas sobre este assunto nas dcadas de 60 e 70.
A partir dos anos 80, os estudos com redes neurais tomaram um impulso
revolucionrio. Em 1982, John Hopfield, fsico mundialmente conhecido, criou um tipo de
rede diferente daquelas fundamentadas no Perceptron. Neste modelo a rede apresentava
conexes recorrentes (sinal no se propaga exclusivamente para frente) e baseava-se num
aprendizado no supervisionado com a competio entre os neurnios.
Em 1986, o reaparecimento das redes baseadas em Perceptrons foi possvel graas
a teoria de redes em multinvel (MLP) treinadas com o algoritmo de aprendizado por
retropropagao (Backpropagation) desenvolvida por Rumelhart, Hinton e Willians. Alm
disso, vale lembrar que a dcada de 80 foi marcada pelo desenvolvimento de computadores
cada vez mais potentes e velozes que permitiram melhores simulaes das redes neurais.
Neste perodo tambm foram desenvolvidos modelos matemticos que permitiam
solucionar o problema do XOR.
A partir de ento, um contexto favorvel foi criado para o desenvolvimento das
pesquisas em neurocomputao:

(1987): acontece a primeira conferncia de redes neurais, a IEEE Internacional
Conference on Neural Networks em So Francisco. Criou-se ainda a INNS
(International Neural Networks Society).
(1989): fundao do INNS journal.
(1990): criao do Neural Computation e do IEEE Transactions on Neural Networks.



4
1.3) Redes Neurais artificiais (RNA`s)

Uma rede neural um sistema computacional constitudo por unidades conhecidas
como neurnios. Os neurnios so elementos processadores interligados, trabalhando em
paralelo para desempenhar uma determinada tarefa. Os modelos RNAs constituem uma
importante tcnica estatstica no-linear capaz de resolver uma gama de problemas de
grande complexidade. Por isso, so modelos teis em situaes que no possvel definir
explicitamente uma lista de regras. Em geral, isso acontece quando o ambiente gerador dos
dados muda constantemente. As principais reas de atuao so para classificao de
padres e previso.
Para comear a falar de redes neurais, o ponto de partida definir o que so e
como se constituem as suas unidades bsicas. Nesta perspectiva, a figura 1 mostra a
descrio funcional do k-simo neurnio de uma rede, ou seja, descreve o que se encontra
no interior do neurnio.

:
:

X
1
X
2
X
P
:
:
E
N
T
R
A
D
A
S
w
k1
w
k2
w
kp
pesos

SADA u
k
y
k
polarizador

k

Figura 1: descrio do k-simo neurnio

As entradas esto representadas pelos xs. Esses xs no so os padres da camada
de entrada, mas a sada do neurnio da camada anterior.
Os ws representam os pesos ou os parmetros da rede. Estes pesos representam a
memria da rede. Isto , a experincia ganha como resultado das n-apresentaes dos
padres. So os pesos que combinam a no-lineariedade para que a mesma fique distribuda
pela rede.
5
U
k k
( (n ne et t
k k
) ) representa a combinao linear dos pesos. Corresponde a soma
ponderada da entrada pelos pesos.
Y
k k
a sada do k-simo neurnio que depende do nvel de ativao aplicado ao
neurnio pela funo de ativao.
Ressalta-se que a funo de ativao refere-se a parte no-linear de cada neurnio,
sendo o nico lugar que a no-linearidade se encontra.

k
conhecido como termo polarizador. Indica o ponto em que a funo se
encontra em cima do eixo e, portanto, define o domnio dos valores de sada. Na
modelagem recorre-se ao artifcio de tratar este termo como mais um peso de modo que,
durante o processo de otimizao dos pesos, a ser realizado pelo algoritmo implementado, a
atualizao acontea para todos os parmetros, incluindo para o polarizador.
Em uma rede neural os parmetros a serem estimados so os pesos e o polarizador.
Como em cada neurnio chega a soma ponderada de todas as entradas, ento o polarizador
aparecer associado a uma entrada fixa +1 ou -1.
1.4) Funo de Ativao
Ainda sobre o que se encontra na estrutura interna de cada neurnio, sobre a
funo de ativao, que de acordo com a no-linearidade ir restringir a amplitude do
intervalo de sada do neurnio, existem quatro tipos principais a serem destacados em redes
neurais.
a) Funo sigmide ou logstica: assume valores sempre positivos.

Figura 2: funo sigmide
F(x) = 1 / 1+ e
-x
ou (sada) = 1/1+ e
-uk
6

b) Funo hiperblica: a sada pode assumir valores positivos e negativos.


Figura 3: funo hiperblica

Quando usar uma ou outra mais ou menos tanto faz. Depende da aplicao a ser
feita. Por exemplo, em sries de preo futuro de uma commodity, sabe-se que o valor
previsto pela rede ser um valor positivo, assim o bom senso tomar por mais coerente
aplicar a funo sigmide na modelagem do problema.
Uma outra funo muito utilizada a funo linear.
c) Funo linear: usada principalmente em neurnios da camada de sada quando
no desejvel o efeito de saturao das funes sigmides e hiperblicas. Este efeito de
saturao est colocado na figura 4.

Figura 4: funo linear

7
d) funo degrau: valores rgidos.


Figura 5: Funo degrau.

Devido ao efeito de saturao, sempre se deve iniciar a rede em algum ponto da
parte linear das funes (a) e (b). Um exemplo do efeito de saturao est colocado na
figura 6.







Figura 6: efeito de saturao

Como pode ser interpretado na figura 6, tudo o que no se quer que na sada a
rede fornea como resultado que 0 igual a 2000 (efeito de saturao).
A descrio do neurnio permitiu compreender melhor o que so as unidades
bsicas que compem uma RNA e agora o prximo passo falar sobre o modelo da rede
neural.





8
1.5) Etapas de modelagem de uma rede neural

As etapas de modelagem de uma rede neural envolvem essencialmente trs passos:
1) Treinamento e Aprendizado: obtido pelo ambiente gerador dos dados.
2) Associao: reconhecimento de padres distintos.
3) Generalizao: relacionado a capacidade da rede de reconhecer com sucesso o
ambiente que origina os dados e no propriamente os dados utilizados no
treinamento.

A modelagem inicia-se escolhendo os exemplos a serem usados para o
treinamento. Essas observaes podem ser do tipo rotuladas ou no. Se forem rotuladas
significa que haver um conjunto de pares de entrada-sada desejvel. Nesta etapa tambm
devem ser selecionados os exemplos que serviro para validar o modelo no momento de
testar a sua capacidade de generalizao.
Como uma rede neural s aprende a partir de dados, a escolha das variveis de
entrada de grande importncia. Isso porque embora a rede neural tenha condies de
modelar problemas difceis de especificar, preciso que existam dados e observaes
suficientes e representativas para o conhecimento ser extrado e para que o aprendizado da
RNA acontea com sucesso.
O conhecimento passado para a rede por um algoritmo de treinamento e o
aprendizado transformado e armazenado em densidades de conexes que so os pesos. O
aprendizado o resultado das muitas apresentaes de um determinado conjunto de
exemplos de treinamento. Neste contexto, vlido destacar o conceito de poca. poca
significa uma apresentao completa de todo o conjunto de treinamento.
O treinamento da rede pode se dar de duas maneiras: batelada ou incremental.
1) batelada ou por ciclos: a atualizao dos pesos acontece somente aps a
apresentao de todos os padres. Cada padro avaliado na mesma
configurao de pesos.
2) Padro a Padro ou incremental: o algoritmo faz a atualizao dos pesos aps a
apresentao de cada novo padro. Por isso mesmo, a freqncia das
atualizaes em um mesmo perodo tende a ser maior que no caso anterior.
9
Como por este critrio o algoritmo tende a levar a rede a aprender melhor o ltimo
padro apresentado, interessante tornar a apresentao dos exemplos aleatria. A
eficincia dos dois mtodos depende do problema em questo.
O aprendizado mantido de poca em poca at que os pesos e o polarizador se
estabilizem e o erro mdio quadrado sobre todo o conjunto de treinamento convirja para
uma valor mnimo e o objetivo pretendido seja atingido.
Ressalva-se que minimizar o erro quadrado mdio um dos critrios para o ajuste
de pesos, mas no o nico. Existem outros critrios, como por exemplo, a maximizao da
informao mtua cujo objetivo maximizar a informao entrada-sada.

1.6) Arquitetura da rede neural: redes recorrentes e redes no recorrentes

Voltando aos trs passos da modelagem de dados por uma RNA (lembrando:
passo1: seleo do conjunto de treinamento e validao), o prximo passo diz respeito a
definio da topologia ou arquitetura da rede neural. Existem basicamente dois tipos de
topologia:

1) redes no recorrentes
2) redes recorrentes

A arquitetura determinante na capacidade de processamento de uma RNA. A
escolha correta do nmero de conexes decisiva para um treinamento bem sucedido.
As redes no recorrentes so aquelas que no possuem realimentao de suas
sadas para as suas entradas e, por isso, so ditas sem memria. A estrutura dessas redes
pode ser formada por uma camada nica ou por multi-camadas. No caso de redes em
camadas existe um conjunto de neurnios de entrada, uma camada de sada e uma ou mais
camadas intermediria ou oculta. Para alguns autores, as entradas no se constituem como
uma camada da rede devido ao fato de apenas distribuir padres.
Por se tratarem de redes no recorrentes, no existem conexes ligando um
neurnio de uma camada a outro neurnio de uma camada anterior nem a um neurnio de
uma mesma camada. Um exemplo desse tipo de arquitetura so as redes do tipo
10
feedfoward, em que o sinal sempre propagado para a frente, da entrada para a sada.
As redes feedfoward, necessariamente esto organizadas em camadas e so
largamente utilizadas atualmente.
Chama-se a ateno para a distino dos seguintes conceitos: sinal funcional e
sinal de erro.

a) sinal funcional: um sinal de entrada (estmulo que incide na entrada da rede)
e se propaga para a frente (neurnio por neurnio) atravs das camadas da rede
e termina na sada da rede como um sinal de sada. Este sinal chamado como
sinal funcional porque em cada neurnio da rede pelo qual o sinal passa, esse
sinal calculado como uma funo das entradas pelos pesos associados aquele
neurnio.

b) Sinal de erro: origina-se no neurnio de sada e se propaga para trs (camada
por camada) atravs da rede.

As RNAs recorrentes so redes mais gerais que contm realimentao das sadas
para as entradas, sendo suas sadas determinadas pelas entradas atuais e pelas sadas
anteriores. Alm disso, a sua estrutura no obrigatoriamente organizada em camadas e se
forem as redes podem apresentar interligaes entre neurnios da mesma camada e entre
camadas no consecutivas.
Por possurem realimentao, as redes recorrentes respondem a estmulos
dinamicamente, ou seja, aps aplicar uma nova entrada, a sada calculada e ento
realimentada para modificar a entrada. Por isso, essas redes so ditas com memria.
Existe ainda o caso mais geral em que as redes so totalmente recorrentes (cada
neurnio conectado a qualquer outro) e existe o caso de redes parcialmente recorrentes,
como por exemplo a rede de Elman, em que os elos de realimentao ocorrem entre a sada
e a entrada da primeira camada oculta. O elo de realimentao feito atravs de uma
unidade de contexto (camada extra), normalmente uma estrutura de atraso Z-1, que
armazena a sada da primeira camada oculta por um passo de tempo. Por essa estrutura
gerar padres variveis no tempo, este tipo de configurao neural pode ser til em
11
aplicaes de sries temporais porque ajudam a rede a memorizar as informaes atuais no
momento seguinte da seqncia investigada. A realimentao ocorre da sada de cada
neurnio da camada oculta para todos os neurnios da mesma camada. Alm dessa camada
recorrente, a rede pode apresentar vrias outras camadas do tipo MLP e pode tambm ter
uma ou vrias sadas.
Neste tipo de rede o algoritmo utilizado para o treinamento o de retropropagao
do erro. Entretanto, preciso tomar cuidado na implementao deste algoritmo uma vez
que num dado instante de tempo a rede recebe no apenas as entradas externas, mas
tambm as realimentadas da sada da primeira camada oculta obtidas no instante anterior.
Abaixo seguem nas figuras 7 e 8, 9 respectivamente, uma arquitetura de rede no
recorrente e de rede recorrente. de Elman e no caso de rede recorrente geral.

Sada
E
N
T
R
A
D
A
S
camada oculta

Figura 7: rede no recorrente_feedfoward









Figura 8: rede recorrente (caso redes Elman)
12


Figura 9: redes recorrentes - Hopfield

1.7) Treinamento das RNAs: supervisionado e no supervisionado

Retornando a etapa do treinamento, o objetivo do treinamento de uma RNA fazer
com que a aplicao de um conjunto de entradas produza um conjunto de sadas desejado
ou no mnimo consistentes. Durante o processo de treinamento, os pesos da rede
gradualmente convergem para determinados valores, de modo que aplicao dos vetores de
entrada produza as sadas necessrias.
O aprendizado relaciona-se a maneira pela qual a modificao dos parmetros
ocorre. Neste processo os parmetros so ajustados atravs de um processo estimulado pelo
ambiente no qual a rede est inserida. O algoritmo de aprendizagem refere-se a regras bem
definidas para a soluo de um problema de aprendizado. Os algoritmos diferem entre si
pela forma como se d o ajuste dos pesos.
Os procedimentos de treinamento e aprendizado podem ser classificados em dois
tipos:

1) supervisionado
2) no supervisionado


13
Na aprendizagem supervisionada existem 3 componentes interrelacionados:

- Ambiente (estacionrio): as caractersticas estatsticas no mudam com o tempo.
Assim, em teoria, as estatsticas podem ser aprendidas pela rede por aprendizado
supervisionado. Se o ambiente no estacionrio as estatsticas variam com o tempo. Neste
caso, os mtodos tradicionais podem ser inadequados porque a rede no est equipada para
seguir as variaes estatsticas do ambiente em que opera.
- O professor (resposta desejada): de certa forma, o aprendizado supervisionado
funciona como se existisse um professor que conhece a resposta desejvel (ao tima a ser
tomada pela rede).
- Algoritmo de aprendizado (ajusta os pesos para fazer o mapeamento entrada-
sada).
O treinamento supervisionado acontece da seguinte forma: os exemplos utilizados
para o treinamento so do tipo rotulados, ou seja, existe um vetor de entrada e um vetor
alvo que se deseja na sada. O processo funciona aplicando-se o vetor de entrada e, ento, a
sada fornecida pela rede comparada com o vetor de resposta desejado. Dessa comparao
obtm-se um sinal de erro. O erro encontrado realimentado atravs da rede e os pesos so
atualizados segundo um algoritmo determinado a fim de minimizar este erro. O algoritmo
de aprendizado supervisionado mais utilizado o Backpropagation (que ser detalhado
mais adiante). Portanto, o aprendizado supervisionado pressupe um erro de sada.
importante que os valores alvo (resposta desejada) sejam escolhidos dentro do
intervalo da funo de ativao. Isto dj (resposta desejada para o neurnio j na camada
de sada da rede deve ser deslocada uma quantidade afastada do valor limite da funo de
ativao. Caso contrrio, o algoritmo de retropropagao tende a levar os parmetros livres
da rede para o infinito, reduzindo a velocidade do processo de treinamento podendo levar
os neurnios ocultos a saturao.
Exemplo:

Considerando a funo de ativao hiperblica com valores limites +a ou -a. A
resposta desejada deve ser colocada como: dj = a e dj = - a

14
Quanto ao treinamento no supervisionado, no existe um vetor de resposta
desejada, logo, no existem comparaes que forneam um sinal de erro. Os exemplos so
no rotulados. Nesta situao, so fornecidas a rede condies para realizar uma medida
independente da tarefa que deve ser aprendida e os parmetros livres da rede so
otimizados em relao a esta medida.
Uma vez que a rede esteja ajustada s regularidades estatsticas dos dados de
entrada, a rede desenvolve a habilidade de formar representaes internas para codificar as
caractersticas de entrada e criar automaticamente novas classes. Para esse tipo de
treinamento pode-se utilizar a regra de aprendizagem competitiva. A rede de Kohonem
(ser vista mais adiante) um exemplo de rede com treinamento no supervisionado.
A rede neural reconhece um padro passando por uma seo de treinamento,
durante a qual se apresenta repetidamente rede um conjunto de padres de entrada junto
com a categoria a qual cada um pertence. Em seguida, apresenta-se rede um padro que
nunca foi visto, mas que pertence a populao de padres utilizados para o treinamento e a
rede capaz de identificar a categoria correta daquele padro particular por causa da
informao extrada no aprendizado. Essa capacidade de associao, isto , as condies de
reconhecer padres distintos, relaciona-se ao passo_2 das etapas de modelagem (passo_1:
treinamento e aprendizagem). O passo 3 refere-se a capacidade de generalizao.
Uma rede tem boa capacidade de generalizao quando consegue fazer um
mapeamento entrada-sada correto mesmo se a entrada um pouco diferente dos exemplos
apresentados. Isso deve ser analisado atravs dos resultados fornecidos pela rede in-sample
(dados do conjunto para o treinamento) e out-of-sample (dados selecionados para validar o
modelo).
Quando a rede aprende um nmero excessivo de exemplos, acaba memorizando os
dados do treinamento, ou seja, uma rede treinada em excesso perde a capacidade de
generalizao dos padres de entrada-sada similares (h excesso de ajuste: overfitting).
Neste caso, obtm-se um excelente resultado in-sample e um pssimo ajuste out-of-sample.
Tambm quando se utiliza mais neurnios ocultos que o necessrio, isso faz com
que contribuies indesejveis da entrada fiquem armazenadas nos pesos e a rede aprende
rudos.

15
A generalizao influenciada por 3 fatores:

1) O tamanho do conjunto de treinamento e o quanto os exemplos so
representativos do ambiente de interesse.
2) A arquitetura da rede neural.
3) A complexidade fsica do problema (sobre este fator no se tem controle).

Se por um lado o excesso de complexidade do modelo prejudica o resultado out-
of-sample. Por outro lado, a falta de complexidade pode ser observada na anlise in-sample.
As figuras 10, 11 e 12 permitem ilustra melhor a questo da complexidade do
modelo. Suponha que o modelo adequado para o problema representado na figura 10 seja
uma parbola . Os xs e as bolinhas representam dois padres distintos e da forma como
esto distribudos no possvel traar uma reta para tratar o problema linearmente,
separando os padres xs de um lado e bolinhas de outro. Assim, essa curvinha na parbola
necessria para executar a separao padres eficientemente sendo uma alternativa no-
linear para resolver o problema.


Figura 10: modelo adequado para o problema desenhado

Primeiramente ser relatado uma situao em que o modelo de rede neural foi
construdo com mais complexidade que a necessria. O excesso de complexidade est
retratado na figura 11. Supondo que o modelo adequado para o problema uma parbola
16
(figura 10) e o problema foi modelado por uma curva cheia de vales e picos, portanto, um
polinmio acima de grau 2 (figura 11), neste caso, pode-se obter um excelente resultado
com os exemplos do treinamento, mas os resultados com os dados de validao
possivelmente no sero bons.

Figura 11: modelo com excesso de complexidade para o problema

Agora, imagine que o modelo de rede desenvolvido para o resolver o problema
apresentado na figura 10 esteja mais simples do que a modelagem necessria para uma
soluo satisfatria do problema. Conforme a figura 12, percebe-se que a questo est mal
representada pela falta de complexidade aplicada ao modelo. Ou seja, a modelagem
considerada adequada utilizar uma parbola (figura 10) e se est usando uma reta
(equao de 1 grau) para a representao, ento, o desempenho da rede no conjunto de
treinamento e de validao ficaro abaixo das expectativas.








Figura 9: modelo com falta de complexidade para o problema
17
Obviamente as figuras anteriores um exemplo bastante simplista que, porm,
permite esclarecer a idia sobre a importncia de se escolher um modelo adequado para
representar um determinado problema e, conseqentemente, obter resultados satisfatrios.
As prximas figuras (13 e 14) tambm retratam a importncia de uma representatividade
adequada do problema, com relao a complexidade, para se obter um bom desempenho do
modelo.

Figura 13: exemplo 2 (excesso de complexidade)

Figura 14: exemplo 2 falta de complexidade)

Ainda com relao a complexidade do modelo, o nmero de camadas ocultas e de
unidades nestas camadas de extrema importncia. Quanto maior o nmero de neurnios,
mais pesos para ajustar e mais complexa ser a rede neural. necessrio mexer na
complexidade do modelo at que os dados estejam bem ajustados considerando o conjunto
de treinamento e de validao.
Um mtodo utilizado com sucesso para especificar adequadamente o modelo a ser
adotado o da Regularidade Bayesiana (implementado no matlab). Este mtodo consiste
18
em realizar vrias tentativas de redes jogando em determinados momentos os parmetros
para zero (matando neurnios). Assim, vrias redes so geradas. Por este critrio a meta
no propriamente minimizar o erro que est sendo cometido dentro e/ou fora da amostra,
o objetivo da tcnica definir onde colocar mais linearidade ou no. Isto , no se deve
responder com mais no-linearidade quando se tem linearidade. A regularidade do
mapeamento est fortemente associada a uma boa generalizao.
Assim, em resumo, o nmero de entradas tem haver com o nmero de atributos
necessrios para o treinamento. As entradas devem ser variveis informativas e
descorrelatadas. Do contrrio, podem atrapalhar a rede na tarefa de aprendizagem. Ainda
em relao aos dados de entrada til realizar uma normalizao dos padres. As variveis
de entrada devem ser pre-processadas de modo que seu valor mdio calculado sobre todo o
conjunto de treinamento seja prximo de zero, ou seja, pequeno quanto ao todo do
conjunto.
Tambm para acelerar o treinamento as variveis descorrelatadas podem ser
escaladas para que suas covarincias sejam aproximadamente iguais. Assim, os pesos da
rede aprendem aproximadamente a uma mesma velocidade.
Para exemplificar a questo da normalizao, no caso de uma srie temporal com
tendncia e sazonalidade, pertinente primeiramente identificar e excluir este
comportamento da srie (que representam padres lineares). Desta forma, a rede poder
melhor identificar os padres no-lineares, deixando para os mtodos clssicos o tratamento
das componentes lineares. Ainda preciso verificar a presena se outlies (pontos
discrepantes).
Quanto ao nmero de neurnios na camada de sada, depender do modelo.
Para as camadas ocultas, como foi demonstrado, sua complexidade depender dos
resultados com os dados de treinamento e de validao. A figura 15 ilustra esse ponto da
questo.
19

Figura 15: resultados de treinamento e de validao

Verifica-se que o erro de treinamento cai a cada nova poca. Porm, o erro do
conjunto de validao cresce quando o nmero de pocas aumenta, alm do necessrio para
treinar a rede. Ou seja, o excesso de treinamento faz a rede perder a sua capacidade de
generalizao e o erro aumenta fora da amostra decorrente deste fato.
A validao cruzada uma alternativa eficiente para se averiguar o poder de
generalizao do modelo obtido. A validao cruzada consiste em se dividir a amostra em
partes. Por exemplo, para 150 observaes, faz-se 10 grupos de 15. Pega-se 9 para treinar a
rede e 1 para validar o modelo. A idia do procedimento consiste em criar grupos e
combin-los vrias vezes.

I
II
III
IV

Cada retngulo da tabela representa um pedao da amostra. Pela validao
cruzada, faz-se a combinao N vezes desses retngulos e encontra uma mdia que servir
para detectar o potencial do modelo desenvolvido.
20
1.8) Perceptron

A rede do tipo perceptron consiste basicamente de um modelo como
apresentado a seguir.


Figura 16:modelo simplificado do perceptron


Figura 17: estrutura interna do perceptron

De acordo com as gravuras 16 e 17, observa-se que o perceptron se trata de uma
rede de uma camada. Neste caso, geralmente, a rede constituda por um nico neurnio e
um polarizador. Uma rede neural sem camada oculta s consegue classificar padres que
sejam linearmente separveis (ou seja, padres que se encontram em lados opostos de um
hiperplano).
Caractersticas bsicas do perceptron:

- funo de ativao: degrau
- topologia: uma nica camada de neurnios
- algoritmo de aprendizado: supervisionado.
- valores entrada/sada: binrios [-1, +1].
21
Para essa rede funcionar adequadamente, as duas classes C1 e C2 devem ser
linearmente separveis, isto , os padres a serem classificados devem estar
suficientemente distantes entre si para assegurar que a superfcie de deciso consiste em um
hiperplano. Se as duas classes se aproximarem demais, tornam-se no-linearmente
separveis, uma situao que est alm da capacidade do neurnio. Isto est mostrado nas
figuras 18, 19 e 20.
C1 C2

Figura 18: padres no-linearmente separvel
C1
C2

Figura 19: padres linearmente separveis


Classe 1
Classe 2

Figura 20: (problema linearmente separvel)
22
Assim, no h como separar linearmente por uma reta os padres A0 e A3 de um
lado e os padres A1 e A2 de outro lado. Este fato est ilustrado nas figuras 21 e 22;
A2 = 1 A3 =0
A0 = 0
A4 = 1

Figura 21: representao 1 problema XOR

O problema OU-EXCLUSIVO

Figura 22: representao 2 problema XOR

1.9) MLP (redes de mltiplas camadas) e o algoritmo de retropropagao

As redes em camada so tipicamente constitudas por uma camada de entrada, uma
ou mais camadas ocultas e uma camada de sada. O sinal se propaga sempre para a frente,
camada por camada. A rede MLP tem sido aplicada a problemas atravs de seu treinamento
23
de forma supervisionada com o algoritmo de retropropagao do erro. Este algoritmo
baseado na regra de correo de erro. A figura 23 desenha um exemplo genrico de redes
em camadas.


Figura 23: redes em mltiplas camadas

Existem trs caractersticas bsicas das redes em camadas:

a) o modelo de cada neurnio da rede inclui uma funo de ativao no-linear.
Alm disso, a no-linearidade do tipo suave (diferencivel em qualquer ponto). Uma
forma de no-linearidade normalmente usada que satisfaz esta exigncia uma no-
linearidade sigmide. A no-linearidade importante, pois, do contrrio, a relao de
entrada-sada da rede seria reduzida a forma existente em uma rede de camada nica.

b) A rede contm uma ou mais camadas de neurnios ocultos que no so parte da
entrada e nem da sada da rede. Estes neurnios da camada oculta capacitam a rede a
aprender tarefas complexas, extraindo progressivamente as caractersticas mais
significativas dos padres de entrada.

c) A rede exibe um alto grau de conectividade determinado pelos seus pesos. Uma
modificao na conectividade da rede requer modificaes nos pesos.


24
Estas trs caractersticas juntamente com a habilidade de aprender da experincia
do treinamento so responsveis pelo alto poder computacional da rede e tambm por suas
deficincias a respeito do conhecimento sobre o comportamento da rede. A saber sobre
essas deficincias mencionadas:

a) a presena de uma forma distribuda de no-linearidade e a alta conectividade
da rede torna difcil a anlise terica de uma MLP.
b) a utilizao de neurnios ocultos torna o processo mais difcil de ser
visualizado. Em um sentido implcito, o processo de aprendizagem deve decidir quais as
caractersticas dos padres de entrada sero representados por neurnios ocultos.
Em redes de mltiplas camadas identifica-se dois tipos de sinais: sinal funcional e
sinal de erro e na aplicao do algoritmo de retropropagao distinguem-se dois passos: a
propagao e a retropropagao.
O algoritmo de retropropagao do erro o algoritmo de treinamento
supervisionado mais difundido. Este algoritmo juntamente com as redes em camada foram
os responsveis pelo ressurgimento do interesse de pesquisas na rea de neurocomputao
(detalhes na seo 1.1). As redes que no possuem camada oculta (perceptron) so apenas
capazes de resolver problemas que so linearmente separveis. Neste caso, quando os
padres so no-linearmente separveis surge o problema do Ou-Exclusivo (XOR). O
problema do XOR pode ser resolvido utilizando uma nica camada oculta com dois
neurnios como mostrado na figura 24.



Neurnio 1
Camada de
entrada
Camada oculta
Neurnio 3
X1


Camada de sada
X2

Figura 24: rede neural para resolver o problema XOR
Neurnio 2
25
O algoritmo de retropropagao aparece como uma alternativa para treinar redes
em camada (MLP). Consiste em calcular o erro na sada da rede e retropropag-lo pela
rede, modificando os pesos para minimizar o erro da prxima sada. O algoritmo baseia-se
no mtodo do gradiente descendente cuja idia central fazer modificaes proporcionais
ao gradiente do erro. A direo do gradiente onde o erro minimizado. O mtodo utiliza a
1 derivada de todas as inclinaes.
Basicamente o algoritmo de retropropagao consiste nos seguintes passos:

1. calcular o erro na da rede
2. retropropagar o erro e modificar os parmetros para minimizar o erro da
prxima sada.

A aprendizagem por retropropagao do erro pode ser descrita como:

a) um passo para a frente: propagao (o vetor de entrada aplicado aos
neurnios da rede e seu efeito se propaga atravs da rede, camada por camada,
at finalmente produzir o conjunto de sada (resposta real da rede). Durante
este passo, os pesos da rede ficam fixos.
b) Um passo para trs: retropropagao (os pesos so ajustados de acordo com
uma regra de correo de erro. A resposta real da rede subtrada da resposta
desejada (alvo) para produzir um sinal de erro. Este sinal propagado para trs
atravs da rede, da o nome retropropagao de erro. Os pesos so ajustados
para aproximar a resposta da rede a resposta desejada (num sentido estatstico).

Na sada da rede como existe uma resposta desejvel, existe um erro. Mas na
camada oculta o erro no tem um sentido fsico. Portanto, os neurnios de sada so as
nicas unidades visveis para as quais o sinal de erro pode ser diretamente calculado. Dessa
forma, o algoritmo oferece um tratamento diferenciado aos neurnios da camada oculta e
da camada de sada. O objetivo minimizar o erro mdio. Para isso so feitas modificaes
nos pesos padro a padro.
O raciocnio para implementar o algoritmo inicia-se da seguinte forma: se as
26
modificaes nos pesos so proporcionais ao gradiente do erro e este gradiente calculado
utilizando a regra da cadeia dada pela expresso da figura 11.

) (
) (
) (
) (
) (
) (
) (
) ( ) (
) ( n w
n
n
n y
n y
n e
n e
n
w
n
ji
j
j
j
j
j
j
n
ji

=

Figura 25: gradiente do erro
Ento, preciso obter as derivadas dessa expresso:

( ) ( ) ( ) n y n d n e
i j j
=
(1)
Onde:
j :refere-se ao neurnio de sada.
n: interao
ej: erro obtido propagando-se a entrada para frente
dj: resposta desejada
yj: a sada da rede

A funo custo dada por:

(2)

Sabendo que c o conjunto de todas as unidades da camada de sada.

A funo custo uma medida de desempenho. O somatrio refere-se a soma dos
erros de todos os neurnios da camada de sada.
Em seguida, pega-se a funo custo e tira-se a mdia para todos os padres,
obtendo-se o erro mdio com relao aos n padres:

=
C j
j
n e n ) (
2
1
) (
2

27

=
=
N
n
av
n
N
1
) (
1

(3)

O prximo passo calcular a entrada do j-simo neurnio:
(4)
Lembrando que w
0
= polarizador e p o nmero total de ligaes que chegam
ao neurnio j.
A sada do neurnio j na interao n dada por:

(5)
Como pode ser visto, a sada dependente do nvel de ativao aplicado ao
neurnio, que est relacionado a funo de ativao.

Quanto a resoluo das derivadas da figura 25:

=
=
p
i
i ji j
n y n w n
0
) ( ) ( ) (
)) ( ( ) ( n n y
j j j
=
) (
) (
) (
n e
n e
n
j
j
=

(6)


1
) (
) (
=
n y
n e
j
j

.
(7)

28
)) ( (
) (
) (
n
n
n y
j j
j
j

=
(8)


) (
) (
) (
n y
n w
n
i
ji
j
=

(9)

) (
) (
) (
) (
) (
) (
) (
) ( ) (
) ( n w
n
n
n y
n y
n e
n e
n
w
n
ji
j
j
j
j
j
j
n
ji

=
(10)


Colocando todas essas derivadas (6), (7), (8), (9) na expresso da regra da cadeia
(figura 25) chega-se ao gradiente do erro sendo possvel realizar a atualizao dos pesos.

) (
) (
) (
n w
n
n w
ji
ji

=

(REGRA DELTA)
Ou

w
ji
(n) w
ji
(n-1) - w
ji
(n)

O sinal negativo na frente de (constante de aprendizagem) deve-se ao fato de se
estar caminhando na direo da descida mais mgreme. A constante de aprendizado ser
adiante mais detalhada.
Todas as derivadas apresentadas para resolver a regra da cadeia relativa a figura 25
29
mostram como modificar os pesos dos ns que esto ligando a camada oculta sada.
Contudo, tambm necessrio modificar os pesos dos ns da camada oculta.
Para isso, o procedimento utilizado similar ao descrito anteriormente.

Inicialmente troca-se (j) por (k).
k: refere-se a camada de sada
j: refere-se a camada oculta (anteriormente (j) referia-se ao neurnio da camada de
sada.
Redefine-se como:

( ) ) ( '
) (
) (

) (
) (
) (
) (
) (
n
n y
n
n
n y
n y
n
n
j j
j
j
j
j
j

=
=
(11)

=
C k
k
n e n ) (
2
1
) (
2

(12)

)) ( ( ) (
) ( ) ( ) (
n n d
n y n d n e
k k k
k k k
=
=
(13)

30
)) ( ( '
) (
) (
n
n
n e
k k
k
k

=
(14)

=
=
q
j
j kj k
n y n w n
0
) ( ) ( ) (
(15)


Onde (q) o n de ligaes que chegam ao neurnio k.

Diferenciando a expresso (11) chega-se em:
) (
) (
) (
n w
n y
n
kj
j
k
=

(16)

=
=
k
kj k
k
kj k k k
j
n w n
n w n n e
n y
n
) ( ) (
) ( )) ( ( ' ) (
) (
) (

(17)

=
k
kj k j j j
n w n n n ) ( ) ( )) ( ( ' ) (


delta camada oculta (18)
delta camada de sada

31
O sentido delta est no fato de que possvel modificar os pesos se os deltas so
conhecidos. Como pode ser visto pela frmula (18), o delta da camada oculta est sendo
calculado em funo do delta da camada de sada. Este o sentido da retropropagao do
erro. Com o delta da camada de sada, calcula-se o delta da camada anterior e com este o da
camada anterior, e assim por diante.
Como a modificao dos pesos depende da derivada da funo de ativao, uma
condio para que o algoritmo de retropopagao seja coerente que a funo seja
diferencivel e no decrescente (pois a derivada no pode ficar trocando de sinal, caso
contrrio, nunca converge).

Enfim, o algoritmo de retropropagao pode ser descrito em 5 etapas:

a) apresentao do padro;
b) propagar o sinal para a frente e calcular a sada resultante para todos os
neurnios de sada;
c) calcular os s para todos os neurnios da camada de sada;
d) retropropagar o sinal de erro de sada, calculando os
s das unidades ocultas;
e) atualizar os pesos, apresentar novo padro e retornar ao passo (a).

Retornando a constante de aprendizagem (), que aparece na regra delta de
modificaes dos pesos, o algoritmo de retropropagao fornece uma aproximao para a
trajetria no espao dos pesos calculada pelo mtodo de descida mais ngreme. Assim:

Quanto menor for de uma interao para a outra, menor ser a variao nos
pesos. Ento a taxa de aprendizado mais lenta.

Quando for grande, para acelerar a taxa de aprendizado, as modificaes nos
pesos podem tornar a rede instvel.


32
Uma forma de aumentar a taxa de aprendizado evitando o problema da
instabilidade modificar a regra delta incluindo o Termo Momento. A incluso do termo
momento no algoritmo de retropropagao tem um efeito estabilizador por penalizar os
movimentos em sentidos opostos da derivada parcial:
(19)

Se as derivadas (19) apresentam o mesmo sinal em interaes consecutivas, os
pesos so ajustados em uma valor maior do que no caso em que as derivadas oscilam.

Em sntese:
) (
) (
n w
n
ji

Termo Momento ( 0): uma variao pequena, mas com efeito benficos:

wji(n) = wji(n-1) + j yi (n)

Para inicializar o treinamento, os pesos devem ser distribudos uniformemente
com mdia zero e limites pequenos. Como a modificao nos pesos proporcional a
derivada da funo de ativao, quanto mais prximo do centro da funo se estiver, maior
a modificao introduzida. Nas duas regies de saturao, as derivadas so prximas de
zero e, por conseqncia, haver um ajuste muito pequeno nos pesos, mesmo se o erro for
significativo. Em outras palavras, sempre deve-se iniciar os pesos em algum ponto entre
valores extremos.
Quando encerrar o ajuste de pesos (critrios de parada), pode-se dizer que no
existem critrios bem definidos para demonstrar que o algoritmo convergiu ou que
indiquem que sua operao pode ser encerrada. Entretanto, em geral, encerra-se o ajuste de
pesos quando ocorre alguma das situaes abaixo mencionadas:
- erro atingiu uma tolerncia pr-determinada.
- erro caiu a uma taxa suficientemente pequena de acordo com uma parmetro
pr-determinado.
- a cada poca testa-se a generalizao, parando se o desempenho for considerado
adequado.
33
Apesar do algoritmo de retropropagao ser uma tcnica muito difundida, existem
problemas na sua implementao, a saber alguns deles:
1. Mnimos locais: como a superfcie do erro geralmente cheia de vales
e desnveis e o algoritmo emprega um tipo de gradiente descendente,
h possibilidade do algoritmo ficar preso em um mnimo local.
2. Paralesia da rede: durante o treinamento se os pesos so ajustados para
valores muito grandes, podem levar a derivada da funo de ativao
para zero. Isto impede a rede de aprender o conjunto de treinamento.

A constante de aprendizagem e o termo momento so algumas heursticas para
tentar melhorar o desempenho da rede, entre outras tais como: normalizao dos dados de
entrada, utilizao da funo de ativao hiperblica (o algoritmo aprende mais rpido),
mtodo padro a padro mais rpido que por lote (batelada), apresentao aleatria dos
exemplos.
Destacando a questo do mnimo local, sabe-se que a taxa de aprendizado no
deve ser nem muito grande (pois gera oscilaes durante o treinamento prejudicando a
convergncia) e nem muito pequena (para no tornar o treinamento lento). Logo, se
pequeno e o algoritmo est preso em um mnimo local, qualquer mudana nos pesos faz o
erro aumentar. Se no for possvel calcular um w que faa a rede neural sair do mnimo
local, a rede no conseguir aprender com a precisoespecificada (considerando um erro
mnimo).

Figura 26: problema do mnimo local (para pequeno)

34

Figura 26(continuao): problema do mnimo local (para pequeno)
Entretanto, se grande, as mudanas no so suficientemente pequenas para
levar a uma configurao de erro mnimo global. Os valores de w so grandes causando
oscilaes. Nesta situao, a rede neural tambm no consegue aprender com a preciso
especificada.

Figura 27: problema do mnimo local (para grande)
35
Para um adequado, a atualizao dos pesos consegue chegar a um valor de erro
que seja mnimo global e a rede neural aprende com a preciso desejada.





Figura 28: : problema do mnimo local (para adequado)
36
A incluso do termo momento permite a rede convergir mais rapidamente, pois
penaliza a troca de sinais da derivada da funo de ativao. Assim, a atualizao dos pesos
acontece mais rapidamente.
Como pode ser visto na figura 29, que reporta como se d a convergncia para
diferentes valores atribudos ao termo momento, percebe-se que a rede converge mais
rpido (menos poca) quando se aumenta o valor de . Contudo, nota-se tambm que se
for um valor muito alto, a rede comea a oscilar e o erro comea a aumentar.


Figura 29: efeitos da incluso do termo momento


37

Você também pode gostar