Sunteți pe pagina 1din 39

Captulo 2

Redes Neurais Artificiais

Este captulo apresenta uma breve introduo sobre os conceitos bsicos da teoria de
redes neurais artificiais e inicia o estudo do assunto principal deste trabalho o treinamento
de redes do tipo perceptron de mltiplas camadas. O perceptron de mltiplas camadas a
arquitetura de redes neurais artificiais mais utilizada. Sua popularidade atribuda ao fato de
que tem sido aplicada com sucesso a uma grande variedade de problemas de processamento
de informao, incluindo classificao de padres, aproximao de funes e previso de
sries temporais. A derivao do algoritmo de retro-propagao e consideraes sobre as
virtudes e limitaes das redes do tipo perceptron de mltiplas camadas sero brevemente
comentadas.
2.1

Introduo
Uma rede neural artificial (RNA) um sistema de processamento de informao que

possui algumas caractersticas de desempenho em comum com as redes neurais biolgicas. Os


modelos neurais artificiais tm como principal fonte de inspirao as redes neurais biolgicas.
A Figura 2.1 apresenta um modelo de um neurnio biolgico com a seqncia de propagao
dos sinais pela clula.
A natureza das RNA's faz com que seu estudo seja multidisciplinar, envolvendo
pesquisadores de diversas reas, como neurofisiologia, psicologia, fsica, computao e
engenharia.
Sada para outros neurnios

Entrada de outros neurnios

Propagao do sinal

Axnio
Ramificaes terminais
Corpo celular
Dendritos

Figura 2.1: Clula neural biolgica com a seqncia de propagao do sinal.

Neurofisiologistas e psiclogos esto particularmente interessados em compreender o


funcionamento do sistema neural humano. As caractersticas de resposta a estmulos
apresentada por neurnios individuais, bem como redes de neurnios, so alvo de estudo dos
neurofisiologistas, enquanto os psiclogos estudam funes do crebro no nvel cognitivo e
esto interessados na utilizao de tcnicas baseadas em redes neurais para criar modelos
detalhados do comportamento humano.
Cientistas da rea de computao tm em vista a construo de computadores dotados
de processamento paralelo, buscando superar as limitaes impostas pelos computadores
atuais, que realizam processamento serial em nvel simblico.
Inspirados na habilidade apresentada pelos seres humanos e outros animais no
desempenho de funes como o processamento de informaes sensoriais e a capacidade de
interao com ambientes pouco definidos, os engenheiros esto preocupados em desenvolver
sistemas artificiais capazes de desempenhar tarefas semelhantes. Habilidades como
capacidade de processamento de informaes incompletas ou imprecisas e generalizao so
propriedades desejadas em tais sistemas.
2.2

Um Breve Histrico
As redes neurais artificiais passaram por um interessante processo de evoluo,

marcado por um perodo de grande atividade seguido por anos de estagnao nas pesquisas e
pelo ressurgimento do interesse cientfico como conseqncia do desenvolvimento de novas
tecnologias e fundamentos tericos. A seguir, apresentado um breve histrico da pesquisa
em redes neurais, sendo enfatizados alguns resultados e conceitos considerados relevantes no
desenvolvimento deste trabalho (VON ZUBEN, 1993).
Alguns dos mais destacados pesquisadores envolvidos no estudo e aplicao de redes
neurais nas ltimas trs dcadas esto relacionados na Tabela 2.1. Esta tabela dividida de
forma a ressaltar o perodo cronolgico mais significativo na atividade cientfica de cada
pesquisador, e tomada como base no processo de seqenciamento histrico.
Entradas
x1
w1
x2

.
.
xn .

w2

wn

Sada (y)

Funo de Ativao (f)

Pesos das conexes

Figura 2.2: Representao funcional de um neurnio.

10

MCCULLOCH & PITTS (1943) projetaram a estrutura que conhecida como a primeira
rede neural. Estes pesquisadores propuseram um modelo de neurnio como uma unidade de
processamento binria (veja Figura 2.2) e provaram que estas unidades so capazes de
executar muitas das operaes lgicas. Este modelo, apesar de muito simples, trouxe uma
grande contribuio para as discusses sobre a construo dos primeiros computadores
digitais, permitindo a criao dos primeiros modelos matemticos de dispositivos artificiais
que buscavam analogias biolgicas.
Em 1948, N. WIENER (1948) criou a palavra ciberntica para descrever, de forma
unificada, controle e comunicao nos organismos vivos e nas mquinas.
Em 1949, D. O. HEBB (1949) apresentou uma hiptese a respeito da maneira com que a
fora das sinapses no crebro se alteram em resposta experincia. Em particular ele sugeriu
que as conexes entre clulas que so ativadas ao mesmo tempo tendem a se fortalecer,
enquanto que as outras conexes tendem a se enfraquecer. Esta hiptese passou a influir
decisivamente na evoluo da teoria de aprendizagem em redes neurais artificiais.

Tabela 2.1: Histria da pesquisa em redes neurais

1943

McCulloch e Pitts

1948

Wiener

1949

Hebb

1957

Rosenblatt

1958

Widrow e Hoff

1969

Minsky e Papert

1960-1980

Kohonen, Grossberg,
Widrow, Anderson,
Caianiello, Fukushima,
gor Aleksander

1974

Werbos

1982

Hopfield

1986

Rumelhart e McClelland
11

Pesos das conexes


1
x1
x2

.
.
x.

w0
w1
w2

wn

Limiar (yd)

Entradas

Figura 2.3: O perceptron.

Em 1957, ROSENBLATT (1957) introduziu uma nova abordagem para o problema de


reconhecimento de padres com o desenvolvimento do perceptron, cuja representao
diagramtica apresentada na Figura 2.3. Rosenblatt tambm props um algoritmo para o
ajuste dos pesos do perceptron e provou sua convergncia quando os padres so linearmente
separveis. Por volta do mesmo perodo, B. WIDROW (1962) e seus colaboradores
desenvolveram o adaline (Adaptive Linear Element).
Apesar do sucesso do perceptron e do adaline, a pesquisa em redes neurais passou
gradualmente a conviver com dois problemas fundamentais. Devido ao fato de a maior parte
das pesquisas at ento desenvolvidas ser de natureza heurstica, o primeiro problema estava
vinculado carncia de resultados tericos que justificassem a manuteno do interesse
cientfico pela rea, o que ocasionou a reduo na produo de novas idias. O segundo
problema, e talvez o de maior significado histrico, foi a expectativa exagerada criada pelos
prprios pesquisadores desta rea, no acompanhada de resultados altura, o que acelerou a
queda de financiamentos para pesquisa. Mas foi aps a publicao, em 1969, do livro
Perceptrons de autoria de M. L. MINSKY & S. A. PAPERT (1969), que as pesquisas na rea
de redes neurais sofreram uma retrao significativa. Neste livro, conceitos de matemtica
moderna como topologia e teoria de grupo so aplicados com o objetivo de analisar as
capacidades adaptativas e computacionais de neurnios do tipo apresentado na Figura 2.3.
Como resultado, os autores demonstraram que o perceptron, apesar de ser capaz de executar
as operaes booleanas AND e OR, no capaz de executar outras operaes elementares,
como XOR (OU-exclusivo). Alm disso, esses autores no acreditavam que uma arquitetura
adequada, juntamente com um algoritmo de ajuste de pesos, pudessem ser desenvolvidos de
forma a superar esta limitao. Aps a publicao destes resultados, a maior parte dos
12

pesquisadores da rea de redes neurais passou a buscar alternativas dentro do campo da


engenharia e, principalmente, da lgica matemtica, que, na poca, encontrava-se em franca
expanso devido s grandes conquistas realizadas na rea de computao.
Apesar deste xodo generalizado, um nmero de pesquisadores continuou a trabalhar
com redes neurais nos anos 70. Os nomes de T. Kohonen (Finlndia), S. Grossberg, B.
Widrow e J. Anderson (Estados Unidos), E. Caianiello (Itlia), K. Fukushima (Japo) e gor
Aleksander (Inglaterra) esto associados a este perodo.
Nos anos 80, muitos fatores contriburam para o ressurgimento definitivo das
pesquisas em redes neurais:

neurofisiologistas

foram

adquirindo

um

maior

conhecimento

sobre

processamento de informaes nos organismos vivos;

avanos tecnolgicos tornaram disponvel um maior potencial computacional a


baixo custo, viabilizando ou facilitando simulaes e testes com modelos neurais e

novas teorias para a

implementao

de algoritmos adaptativos

foram

desenvolvidas, permitindo a aplicao em sistemas reais.


O ganhador do Prmio Nobel J. HOPFIELD (1982), do Instituto de Tecnologia da
Califrnia, juntamente com D. TANK, um pesquisador da AT&T, desenvolveram grande
quantidade de modelos de redes neurais baseadas em pesos fixos e ativaes adaptativas.
Estas redes podem servir como memrias autoassociativas e serem usadas para resolver
problemas de otimizao restrita como o caso do Caixeiro Viajante (URL 3). A rede de
Hopfield pode ser considerada como um sistema dinmico com um nmero finito de estados
de equilbrio, de forma que o sistema invariavelmente ir evoluir para um destes estados ou
para uma seqncia peridica de estados a partir de uma condio inicial. tambm natural
que a localizao destes estados de equilbrio possa ser controlada pela intensidade das
conexes (pesos) da rede neural.
A concluso interessante adotada por Hopfield foi que tais estados de equilbrio
podem ser utilizados como dispositivos de memria. De forma distinta daquela utilizada pelos
computadores convencionais, em que o acesso informao armazenada se d por meio de
um endereo, o acesso ao contedo da memria de uma rede de Hopfield se d permitindo
que a rede evolua com o tempo para um de seus estados de equilbrio. Tais modelos de
memria so denominados memrias endereveis por contedo.

13

-1

Z
f ()

Z-1

f ()

-1

Z
f ()

Figura 2.4: Rede Neural de Hopfield.

O trabalho de Hopfield com este tipo de rede simtrica recorrente atraiu,


principalmente, matemticos e engenheiros para a pesquisa nesta rea, e as redes de Hopfield
foram estudadas como memrias distribudas e tambm utilizadas como ferramentas na
soluo de problemas de otimizao restrita.
No entanto, o fato que efetivamente colocou a rea de redes neurais como uma das
prioritrias na obteno de recursos foi o desenvolvimento de um mtodo para ajuste de
parmetros de redes no-recorrentes de mltiplas camadas. Este mtodo, baseado em um
algoritmo denominado retro-propagao (backpropagation), tornou-se largamente conhecido
aps a publicao, em 1986, do livro Parallel Distributed Processing, editado por J. L.
MCCLELLAND & D. E. RUMELHART (1986a-1986b), fazendo com que pesquisadores das mais
diferentes reas passassem a visualizar interessantes aplicaes para redes neurais artificiais.
A importncia deste mtodo justifica um tratamento mais aprofundado, a ser desenvolvido nas
prximas sees.
2.3

Caractersticas Principais
As redes neurais artificiais tm sido desenvolvidas como generalizaes de modelos

matemticos da cognio humana ou biologia neural, assumindo que:

o processamento da informao ocorre em vrios elementos chamados neurnios;

os sinais so propagados de um elemento a outro atravs de conexes;

cada conexo possui um peso associado, que, em uma rede neural tpica, pondera o
sinal transmitido; e

14

cada neurnio (ou unidade) aplica uma funo de ativao (geralmente no-linear)
sua entrada de rede (soma ponderada dos sinais de entrada) para determinar sua
sada.

Uma rede neural pode ser caracterizada por trs aspectos principais: (1) o padro de
conexes entre as unidades (arquitetura), (2) o mtodo de determinao dos pesos das
conexes (algoritmo de treinamento ou aprendizado) e (3) sua funo de ativao.
Os modelos neurais artificiais oferecem um paradigma atrativo, pois aprendem a
resolver problemas atravs de exemplos.
O treinamento de RNA's pode ser dividido em:

supervisionado: necessita de um professor durante a fase de aprendizagem, que


antecede a utilizao (execuo) da rede; e

no-supervisionado: direcionado por correlaes existentes nos dados de entrada e,


portanto, no necessita de um professor.

Existem vrios tipos de modelos de RNA's atualmente. Novos modelos (ou pelo
menos variaes de alguns j existentes) so propostos constantemente. A seguir
apresentamos uma lista com algumas das arquiteturas mais conhecidas at hoje. A distino
principal entre os modelos citados refere-se ao tipo de treinamento (URL 1).
Treinamento no-supervisionado:
1) Redes recorrentes:

Grossberg Aditivo (AG)

Adaptive Resonance Theory (ART1)

Hopfield Simtrico e Assimtrico (DH/CH)

Memria Associativa Bidirecional (BAM)

Memria Associativa Temporal (TAM)

Mapa Auto-organizvel de Kohonen (SOM)

Aprendizado Competitivo

2) Redes somente com propagao positiva (feedforward):

Learning Matrix (LM)

Driver-Reinforcement Learning (DR)

Memria Associativa Linear (LAM)

Counterprogation (CPN)

15

Treinamento Supervisionado:
1) Redes Recorrentes:

Mquina de Boltzmann (BM)

Mean Field Annealing (MFA)

Cascade Correlation Recorrente (RCC)

Aprendizado Recorrente em Tempo Real (RTRL)

Filtro de Kalman Recorrente (EKF)

2) Redes somente com propagao positiva (feedforward):

2.4

Perceptron

Adaline, Madaline

Retro-propagao Backpropagation (BP)

Mquina de Cauchy (CM)

Artmap

Rede Lgica Adaptativa (ALN)

Cascade Correlation (CasCor)

Filtro de Kalman (EKF)

Learning Vector Quantization (LVQ)

Rede Neural Probabilstica (PNN)

Redes do Tipo Perceptron de Mltiplas Camadas ( MLP)


As arquiteturas do tipo perceptron de mltiplas camadas (MLP) constituem os modelos

neurais artificiais mais utilizados e conhecidos.


Tipicamente, esta arquitetura consiste de um conjunto de unidades sensoriais que
formam uma camada de entrada, uma ou mais camadas intermedirias (ou escondidas) de
unidades computacionais e uma camada de sada. Os sinais de entrada so propagados
camada a camada pela rede em uma direo positiva, ou seja, da entrada para a sada. Esta
arquitetura representa uma generalizao do perceptron apresentado anteriormente.
As redes do tipo MLP tem sido utilizadas com sucesso para a soluo de vrios
problemas envolvendo altos graus de no-linearidade. Seu treinamento do tipo
supervisionado e utiliza um algoritmo muito popular chamado retro-propagao do erro (error
backpropagation). Este algoritmo baseado numa regra de aprendizagem que corrige o erro
durante o treinamento (HAYKIN, 1994).
16

Basicamente, o processo de retro-propagao do erro constitudo de duas fases: uma


fase de propagao do sinal funcional (feedforward) e uma de retro-propagao do erro
(backpropagation). Na fase positiva, os vetores de dados so aplicados s unidades de
entrada, e seu efeito se propaga pela rede, camada a camada. Finalmente, um conjunto de
sadas produzido como resposta da rede. Durante a fase positiva, os pesos das conexes so
mantidos fixos. Na retro-propagao do erro, por outro lado, os pesos so ajustados de acordo
com uma regra de correo do erro. Especificamente, a resposta da rede em um instante de
tempo subtrada da sada desejada (target) para produzir um sinal de erro. Este sinal de erro
propagado da sada para a entrada, camada a camada, originando o nome retro-propagao
do erro. Os pesos so ajustados de forma que a distncia entre a resposta da rede e a resposta
desejada seja reduzida.
Uma rede do tipo MLP possui trs caractersticas distintas:

funo de ativao;

nmero de camadas e unidades intermedirias e

forma das conexes.

2.4.1 Funo de Ativao


O modelo de cada unidade da rede pode incluir uma no-linearidade na sua sada.
importante enfatizar que a no-linearidade deve ser suave, ou seja, diferencivel,
diferentemente da funo sinal utilizada pelo perceptron original.
A funo de ativao representa o efeito que a entrada interna e o estado atual de
ativao exercem na definio do prximo estado de ativao da unidade. Quando
propriedades dinmicas esto envolvidas na definio do estado de ativao, equaes
diferenciais (caso contnuo) ou a diferenas (caso discreto) so empregadas. Tendo em vista a
simplicidade desejada para as unidades processadoras, geralmente define-se seu estado de
ativao como uma funo algbrica da entrada interna atual, independente de valores
passados do estado de ativao ou mesmo da entrada interna. Geralmente, esta funo
monotonicamente no-decrescente e apresenta um tipo de no-linearidade associada ao efeito
da saturao. A seguir so descritos alguns tipos de funo de ativao empregados na
literatura para as arquiteturas do tipo MLP (KOSKO, 1992; HAYKIN, 1994).

17

Funo Linear
Este tipo de funo de ativao muito utilizado nas unidades que compem a camada
de sada das arquiteturas MLP.
10

2.5

p=2

p=1

4
1.5

p=0.5

df(x)

f(x)

2
0
-2
-4

p=1
1

p=2
p=0.5

-6

0.5

-8
-10
-5

0
x

0
-5

(a)

0
x

(b)

Figura 2.5: (a) Funo linear. (b) Sua derivada em relao a entrada interna.

A sada linear com p = 1 simplesmente repete o sinal que entra no neurnio na sua
sada. A Figura 2.5 apresenta sadas lineares e suas derivadas.
A expresso para esta funo de ativao e sua derivada :
f(x) = p.x,

f ' (x) = p

Funo Logstica
A Figura 2.6 (a) mostra que a funo logstica possui intervalo de variao entre 0 e 1.
1

0.5

0.9

0.45

0.8

0.4

0.7

0.35

p=0.5

0.3

0.5

df(x)

f(x)

0.6

p=1

0.4

p=1

0.25
0.2

p=2

0.3

0.1

0.1

0.05
0
x

p=0.5

0.15

0.2

0
-5

p=2

(a)

0
-5

0
x

(b)

Figura 2.6: (a) Funo logstica. (b) Sua derivada em relao a entrada interna.

18

A origem deste tipo de funo est vinculada preocupao em limitar o intervalo de


variao da derivada da funo, pela incluso de um efeito de saturao. Sua derivada
tambm uma funo contnua (ver Figura 2.6).
f ( x) =

e px
1+ e

px

1
1 + e px

f ( x ) = p f ( x).(1 f ( x) )

Funo Tangente Hiperblica


Pelo fato da funo logstica apresentar valores de ativao apenas no intervalo (0, 1),
em muitos casos ela substituda pela funo tangente hiperblica, que preserva a forma
sigmoidal da funo logstica, mas assume valores positivos e negativos (f(x) (-1, 1)). A
funo tangente hiperblica e sua derivada (ver Figura 2.7) so dadas pelas expresses:
f ( x) =

e px e px
e

px

+e

px

= tanh( px),

f ( x) = p 1 f ( x) 2

Em todas as redes implementadas e testadas neste trabalho utilizou-se funo de


ativao linear na sada da rede. A funo tangente hiperblica foi a escolhida para as
unidades intermedirias das redes do tipo MLP fixas. No Captulo 7, so feitos estudos sobre
modelos construtivos de redes, onde alguns destes modelos utilizam funes de ativao
diferentes da tangente hiperblica na camada intermediria. Estes modelos sero
especificados nas sees correspondentes sua descrio.
A funo tangente hiperblica pode ser transladada para o intervalo (0, 1), assim como
a funo logstica pode ser transladada para o intervalo (-1, 1).
1

0.8

1.8

0.6

1.6

p=0.5

0.4

1.2
df(x)

f(x)

0.2
0
-0.2

p=0.5

0.6

-0.6

0.4

-0.8

0.2
0
x

p=1

1
0.8

p=1
p=2

-0.4

-1
-5

p=2

1.4

(a)

0
-5

0
x

(b)

Figura 2.7: (a) Funo tangente hiperblica. (b) Sua derivada em relao a entrada interna.

19

Funo Arco-Tangente
Esta funo possui valores de ativao no intervalo (-/2, /2), e pode ser apresentada
como uma alternativa funo tangente hiperblica para a implementao computacional,
pois requer menos clculos para sua elaborao. Comparaes sucintas entre o tempo de
processamento das funes tanh(.), atan(.), e logstica mostram que a funo atan(.) possui o
menor tempo de processamento, seguida da funo logstica e por ltimo a funo tangente
hiperblica.
A funo arco tangente dada pela expresso abaixo:

f ( x) = atan( px )

f ( x) = p.

1
1+ x2

1.5

1.8
1

1.6

p=2

1.4

0.5

p=0.5
df(x)

1.2

p=1

0.8

p=1

-0.5

0.6

p=2

p=0.5

0.4

-1

0.2
-1.5
-5

-4

-3

-2

-1

0
x

0
-5

(a)

-4

-3

-2

-1

0
x

(b)

Figura 2.8: (a) Funo arco-tangente (atan). (b) Sua derivada em relao a entrada interna.

Os limites dos intervalos da funo apresentada acima podem ser transladados para o
intervalo (-1,1) comumente utilizado.
2.4.2 Noes Gerais
A Figura 2.9 apresenta uma arquitetura do tipo MLP com duas camadas
intermedirias. A rede apresentada aqui possui todas as conexes, o que significa que um
neurnio em qualquer camada da rede est conectado a todas as outras unidades (neurnios)
na camada anterior. O fluxo de sinais atravs da rede feito positivamente, da esquerda para a
direita, camada a camada.

20

Camada
de entrada

Primeira
camada
escondida

Segunda
camada
escondida

Camada
de sada

Figure 2.9: Arquitetura MLP com duas camadas intermedirias.

A Figura 2.10 mostra apenas uma parte da rede. Nesta rede, dois tipos de sinais podem
ser identificados:

sinal funcional: um sinal funcional um sinal de entrada (estmulo) que chega na


entrada e propagado positivamente (neurnio a neurnio) atravs da rede, e
aparece na sada como um sinal de sada.

sinal de erro: os sinais de erro originam-se nas sadas e so retro-propagados


(neurnio a neurnio) atravs da rede.

A camada de entrada geralmente composta por neurnios sensoriais, ou seja,


unidades que no modificam os sinais externos, apenas os distribuem para a primeira camada
intermediria. As unidades de sada constituem a camada de sada da rede, e as demais
unidades constituem as camadas intermedirias. As camadas intermedirias so todas aquelas
que no fazem parte da entrada e nem da sada.
Cada unidade intermediria ou de sada responsvel por duas tarefas:

calcular o sinal na sada da unidade, que geralmente expresso como uma funo
no-linear do sinal de entrada e pesos sinpticos associados e

calcular uma estimativa instantnea do vetor gradiente, que necessrio para a


retro-propagao do erro atravs da rede.

Para facilitar a derivao da regra de retro-propagao, primeiramente apresentamos um


resumo da notao utilizada.

21

Propagao do sinal funcional


Retro-propagao do erro

Figura 2.10: Ilustrao das direes de propagao do sinal funcional e do erro.

Notao
i, j

ndices referentes a diferentes neurnios da rede

n-simo vetor de entrada (iterao)

nmero de amostras (padres de treinamento)

nmero de camadas

yj(n)

sinal de sada da unidade j na iterao n

ej(n)

sinal de erro da unidade de sada j na iterao n

wi,j(n)

peso sinptico conectando a sada da unidade i entrada da unidade j na iterao n

uj(n)

ativao da unidade j na iterao n; sinal a ser aplicado no-linearidade

fj(.)

funo de ativao associada unidade j

matriz de dados de entrada (amostras de treinamento)

matriz de dados de sada (sadas desejadas)

xi(n)

i-simo elemento do vetor de entradas

sj(n)

j-simo elemento do vetor de sadas

taxa de aprendizagem
Todas as letras minsculas em negrito (a, b, c) representam vetores, as letras

maisculas em negrito (A, B, C) denotam matrizes e as letras em itlico (a, b, c) representam


escalares.
As matrizes Wm (para m = 0, 1, , M - 1; onde M o nmero de camadas da rede)
possuem dimenso Sm + 1 Sm, onde S0 = nmero de entradas da rede; e os vetores bm possuem
dimenso Sm + 1 1.

22

2.4.3 Derivao do Algoritmo de Retro-Propagao (Backpropagation)


O algoritmo a ser apresentado representa uma forma eficiente e elegante de
implementao computacional da regra da cadeia, principalmente quando a ferramenta
utilizada possui capacidade de processamento matricial, como os pacotes Matlab e
Mathematica.
Para simplificar o desenvolvimento do algoritmo de retro-propagao, utilizaremos a
notao abreviada para uma arquitetura genrica com trs camadas (ver Figura 2.11)
(DEMUTH & BEALE, 1993; HAGAN et. al., 1997).
Para redes de mltiplas camadas, a sada de uma camada torna-se a entrada da camada
seguinte. A equao que descreve esta operao :
um + 1 = fm + 1 (Wm + 1ym + bm + 1), para m = 0, 1, , M 1,

(2.1)

onde M o nmero de camadas da rede. As unidades na primeira camada recebem entradas


externas agrupadas em um vetor na forma:
y0 = x,

(2.2)

que representa a condio inicial para a equao (2.1). As sadas das unidades localizadas na
ltima camada so consideradas as sadas da rede:
y = yM.

(2.3)

Pela Figura 2.11 percebemos que a sada da rede pode ser expressa apenas em funo
do vetor de entradas x, das matrizes de pesos Wm e dos vetores de limiares bm, cuja expresso
:
y3 = f3(W3f2(W2f1(W1x + b1)+b2)+b3).

Primeira camada

Terceira camada

Segunda camada

u1

y 1 = f1 (W1x + b1)

(2.4)

u2

y2 = f2 (W2y1 + b2)

u3

y 3 = f3 (W3y2 + b3)

Figura 2.11: Rede com trs camadas. Notao abreviada.

23

2.4.3.1 ndice de Desempenho


O algoritmo de retro-propagao para as redes de mltiplas camadas uma
generalizao do mtodo dos quadrados mnimos (LS do ingls Least Squares) e utiliza
como medida de desempenho o erro quadrtico mdio (MSE do ingls mean squared
error). Inicialmente, apresentado um conjunto de exemplos:
{(x1, s1), (x2, s2), , (xN, sN)},

(2.5)

onde xn a n-sima entrada para a rede e sn a sada desejada correspondente (n = 1, , N).


Das equaes (2.3) e (2.4) vemos que, se o vetor de parmetros da rede (pesos e limiares),
ento o vetor de sadas da rede pode ser dado na forma:
y M = y ( , x)

Aps cada entrada ser aplicada rede, a sada produzida pela rede comparada com a
sada desejada. O algoritmo deve ajustar os parmetros da rede (pesos e limiares), com o
objetivo de minimizar a esperana matemtica do erro quadrtico mdio:
J() = E(e()2) = E((s - y())2),

(2.6)

Se a rede possui mltiplas sadas, a equao (2.6) pode ser generalizada para
J() = E(e()Te()) = E((s - y())T (s - y())).

(2.7)

Como no algoritmo LS, o erro quadrtico mdio ser aproximado por


J ( ) = e(n)Te(n) = (s(n) - y(n))T (s(n) - y(n)),

(2.8)

onde a esperana do erro quadrtico foi substituda pelo erro na iterao n. Para no
sobrecarregar a notao empregada, consideraremos J ( ) = J ( ).
A lei de ajuste conhecida como steepest descent para minimizar o erro quadrtico
dada por:

wim, j (n + 1) = wim, j (n)

J (n)
,
wim, j

(2.9)

bim (n + 1) = bim (n)

J (n )
,
bim

(2.10)

onde a taxa de aprendizagem.


A parte mais elaborada deste clculo est na determinao das derivadas parciais que
iro gerar os componentes do vetor gradiente.

24

2.4.3.2 Regra da Cadeia


Para uma rede com mltiplas camadas o erro no funo direta dos pesos nas
camadas intermedirias, por isso o clculo destas derivadas no imediato.
Como o erro funo indireta dos pesos nas camadas intermedirias, a regra da cadeia
dever ser usada para o clculo das derivadas. O conceito da regra da cadeia ser utilizado na
determinao das derivadas das equaes (2.9) e (2.10):
J uim
J

,
=
wim, j uim wim, j

(2.11)

J
J uim
=

.
bim uim bim

(2.12)

O segundo termo de cada uma das equaes acima pode ser facilmente calculado, uma
vez que a ativao da camada m uma funo explcita dos pesos e limiares nesta camada:
S m 1

u = wim, j y mj1 + bim .


m
i

(2.13)

j =1

Entretanto
m
uim
m 1 u i
y
=
,
= 1.
j
wim, j
bim

(2.14)

Definindo agora a sensibilidade de J a mudanas no i-simo elemento da ativao da


rede na camada m como:
m
i

J
,
u im

(2.15)

ento as equaes (2.11) e (2.12) podem ser simplificadas por

J
=
wim, j

m
i

y mj1 ,

(2.16)

m
i

(2.17)

J
=
bim

Agora possvel aproximar as equaes (2.9) e (2.10) por


wim, j (n + 1) = wim, j (n)

m
i

bim (n + 1) = bim (n)

y mj1 ,

(2.18)

m
i

(2.19)

Em notao matricial, as equaes acima tornam-se:


W m (n + 1) = W m (n)

25

(y m1 )T ,

(2.20)

b m (n + 1) = b m (n)

(2.21)

onde

2.4.3.3

J
u m
1
J
J
m = u 2m .
u
M
J
m
u S m

(2.22)

Retro-propagao das Sensibilidades

Ainda necessrio calcular as sensibilidades m, que requer outra aplicao da regra


da cadeia. este processo que d origem ao termo retro-propagao, pois descreve a relao
de recorrncia na qual a sensibilidade na camada m calculada a partir da sensibilidade na
camada m + 1.
Para derivar a relao de recorrncia das sensibilidades, utilizaremos a seguinte matriz
jacobiana:

u m +1
u m

u1m +1
m
u1
u 2m +1
= u1m

m +1
u S m +1
m
u1

L uu
L uu
M O M
u
u
L
u
u

m +1

S m +1
m

Sm

u1m+1
u 2m
u 2m+1
u 2m

m +1
1
m
Sm
m +1
2
m
Sm

m +1
S m +1
m
2

(2.23)

Em seguida desejamos encontrar uma expresso para esta matriz. Considere o


elemento i, j da matriz:
f m (u mj )
y mj
uim+1
m +1
m +1
= wi , j
= wi , j
= wim, j+1 f& m (u mj ),
m
m
m
u j
u j
u j

(2.24)

onde
f m (u mj )

(2.25)

= W m+1F& m (u m ),

(2.26)

f& m (u m )
j

u mj

Entretanto a matriz jacobiana pode ser escrita


u m+1
u

26

onde

f& m (u1m )

0
m
m
&
F (u ) =
M

0
f (u 2m )

&m

m
m
f& (u S m )
0
0

(2.27)

Agora podemos escrever a relao de recorrncia para a sensibilidade utilizando a


regra da cadeia em forma matricial:
m

J
u m

u m +1
J
J

=
= F& m (u m )( W m +1 )T
m
m
+
1
u u
u m +1

= F& m (u m )( W m +1 )T

m +1

(2.28)

Observe que as sensibilidades so propagadas da ltima para a primeira camada


atravs da rede:
M M 1 2 1

(2.29)

Ainda existe um ltimo passo a ser executado para que o algoritmo de retropropagao fique completo. Precisamos do ponto de partida, M, para a relao de recorrncia
da equao (2.28). Este ponto obtido na ltima camada:
SM

M
i

J
(s y ) (s y )
=
=
M
ui
uiM
T

(s j y j ) 2
j =1

u iM

= 2( si yi )

yi
.
uiM

(2.30)

Como
M
M
yi
yiM f (u j ) & M M
=
=
= f (u j ),
uiM uiM
uiM

(2.31)

podemos escrever
M
i

= 2( si yi ) f& M (u Mj ).

(2.32)

A expresso acima pode ser colocada em forma matricial, resultando


M

= 2F& M (u M )(s y ).

(2.33)

A Figura 2.12 mostra uma adaptao (utilizando notao matricial abreviada) do


resultado de NARENDRA & PARTHASARATHY (1990) e descreve um esquema grfico de fluxo
de sinais para o algoritmo de treinamento de retro-propagao, sendo bastante til para
descrever todo o equacionamento do algoritmo de retro-propagao.

27

Propagao dos sinais

u1

u2

u3

Retro-propagao
das sensibilidades

.1
F

.2
F
2

(W )T

.3
F
(W ) T

2 (y s)

Figura 2.12: Grfico arquitetural de uma rede com trs camadas, representando a fase de propagao
dos sinais e retro-propagao das sensibilidades.

2.4.4 Treinamento Local ou em Lote


Em aplicaes prticas do algoritmo de retro-propagao, o aprendizado resultado de
apresentaes repetidas de todas as amostras do conjunto de treinamento ao MLP. Cada
apresentao de todo o conjunto de treinamento durante o processo de aprendizagem
chamada de poca. O processo de aprendizagem repetido poca aps poca, at que o
conjunto de pesos e limiares estabilize e o erro quadrtico mdio do conjunto de treinamento
convirja para um valor mnimo. uma boa prtica fazer com que a ordem de apresentao das
amostras seja feita aleatoriamente de uma poca para a outra. Esta aleatoriedade tende a fazer
com que a busca no espao de pesos tenha um carter estocstico ao longo dos ciclos de
treinamento.
Para um dado conjunto de treinamento, o aprendizado por retro-propagao pode ser
feito de duas maneiras bsicas:

atualizao local: neste mtodo, a atualizao dos pesos feita imediatamente


aps a apresentao de cada amostra de treinamento. Especificamente, considere
uma poca consistindo de N padres de treinamento arbitrariamente ordenados
28

{(x1 , s1 ),..., (x N , s N )}. A primeira amostra (x1 , s1 )

da poca apresentada rede, e

so efetuados o passo positivo e a retro-propagao do erro, resultando em um


ajuste dos pesos das conexes. Em seguida, a prxima amostra

(x 2 ,s 2 )

apresentada rede e o passo positivo e a retro-propagao do erro so efetuados,


resultando em mais um ajuste do conjunto de pesos. Este processo repetido at
que a ltima amostra seja apresentada rede. Este mtodo tambm conhecido
como mtodo de atualizao on-line ou padro a padro.

atualizao em lote: no mtodo em lote, a atualizao dos pesos s feita aps a


apresentao de todas as amostras de treinamento que constituem uma poca. O
ajuste relativo a cada apresentao de um par de entrada acumulado. Este mtodo
tambm conhecido como mtodo de atualizao off-line ou batch.

Do ponto de vista operacional, o mtodo local de treinamento prefervel, pois requer


um menor armazenamento local para cada conexo. Como as amostras so apresentadas
aleatoriamente, o uso da atualizao padro por padro torna a busca no espao de conexes
estocstica por natureza, reduzindo a possibilidade do algoritmo ficar preso em um mnimo
local. Por outro lado, a utilizao do mtodo em lote fornece uma estimativa mais precisa do
vetor gradiente. Numa anlise final, entretanto, a eficincia dos dois mtodos depende do
problema a ser tratado (HAYKIN, 1994). Neste trabalho, todas as redes implementadas utilizam
o mtodo de atualizao em lote, salvo especificaes em contrrio.
2.4.5 Critrios de Parada
O processo de minimizao do MSE (ou da funo custo), em geral, no tem
convergncia garantida e no possui um critrio de parada bem definido. Um critrio de
parada no recomendvel, por no levar em conta o estado do processo iterativo de
treinamento, interromper o treinamento aps um nmero fixo (definido previamente) de
iteraes. Sero discutidos aqui critrios de parada que levam em conta alguma informao a
respeito do estado do processo iterativo, cada qual com seu mrito prtico. Para formular tal
critrio, deve-se considerar a possibilidade de existncia de mnimos locais. Seja * o vetor de
parmetros (pesos) que denota um ponto de mnimo, seja ele local ou global. Uma condio
necessria para que * seja um mnimo, que o vetor gradiente J ( ) (ou seja, a derivada
parcial de primeira ordem) da superfcie de erro em relao ao vetor de pesos seja zero em
= *. Sendo assim, possvel formular critrios de convergncia (ou parada) como segue:
29

considerado que o algoritmo de retro-propagao convergiu quando a norma


Euclideana da estimativa do vetor gradiente (|| J ( ) ||) atingiu um valor
suficientemente pequeno.

O problema deste critrio de parada que, para simulaes bem sucedidas, o tempo de
treinamento pode ser muito longo. Este critrio tambm requer o clculo da norma do vetor
gradiente. O Captulo 3 far um estudo sobre tcnicas de acelerao da convergncia deste
algoritmo.
Outra propriedade nica de um mnimo, e que pode ser utilizada como critrio de
parada, o fato de que a funo custo, ou medida de erro, Jmed() estacionria no ponto
= *. Assim, outro critrio de parada pode ser sugerido:

considerado que o algoritmo de retro-propagao convergiu quando a variao


do erro quadrtico de uma poca para a outra atingir um valor suficientemente
pequeno.

Uma variao deste critrio de parada fazer com que o valor do erro quadrtico
mdio Jmed() seja igual ou menor do que um limiar pr-especificado:

considerado que o algoritmo de retro-propagao convergiu quando o erro


quadrtico mdio atingir um valor suficientemente pequeno, ou seja, Jmed() ,
onde um valor suficientemente pequeno.

Se o critrio de parada, por exemplo, um valor mnimo para o MSE ento no


podemos garantir que o algoritmo ser capaz de atingir o valor desejado. Por outro lado, ao
tomarmos como critrio de parada um valor mnimo para a norma do vetor gradiente, ento
devemos estar conscientes de que o algoritmo, provavelmente, ir produzir como resultado o
mnimo local mais prximo da condio inicial. A Figura 2.13 ilustra uma superfcie de erro,
e apresenta o possvel comportamento do algoritmo. Neste exemplo, se o critrio de parada
fosse Jmed() , ento o mtodo no seria capaz de encontr-lo, pois o valor mnimo da
superfcie de erro maior do que o valor de desejado (linha tracejada).
Atualmente existe uma grande quantidade de pesquisadores procurando funes de
erro (custo) alternativas, com o objetivo de melhorar as caractersticas de convergncia dos
perceptrons de mltiplas camadas. Uma abordagem possvel adotar um funcional de erro
que aumente a capacidade da rede escapar de mnimos locais (comentrios sobre a superfcie
de erro e mnimos locais sero feitos posteriormente).

30

x0

mnimo
global da
superfcie
de erro

*
||J()|| = 0

desejado

Figura 2.13: Superfcie de erro com vrios mnimos locais. Todos os vales (joelhos) da curva
constituem mnimos locais com || J ( ) || = 0. Partindo do ponto x0, e utilizando como critrio de
parada Jmed() , o algoritmo no ser capaz de determinar um conjunto de pesos capaz de satisfazlo independente dos mnimos locais.

Um exemplo disso a funo de custo chamada de entropia cruzada (cross-entropy)


(SHEPHERD, 1997), dada por:
N Sm

( ) (1 y )

J = ln yiM, n
n =1i =1

s i ,n

M 1 s i , n
i, n

(2.34)

onde a simbologia utilizada aqui a mesma adotada na Seo 2.4, ou seja, N o nmero de
amsotras, M o nmero de camadas, Sm a dimenso de cada camada e y so as sadas da
rede.
Mtodos hbridos que combinam diferentes critrios de parada podem ser utilizados.
Outro critrio de parada bastante til, e geralmente utilizado em conjunto com algum
dos critrios anteriores, a avaliao da capacidade de generalizao da rede aps cada poca
de treinamento. O processo de treinamento interrompido antes que a capacidade de
generalizao da rede seja deteriorada. Maiores detalhes sobre generalizao e procedimentos
de parada utilizando critrios que consideram o desempenho da rede aps o treinamento sero
estudados no Captulo 6.
Neste trabalho, utilizou-se como critrio de parada o ltimo apresentado, ou seja,
Jmed() , salvo especificao em contrrio.

31

2.4.6 A Capacidade de Aproximao Universal


Uma arquitetura do tipo MLP pode ser vista como uma ferramenta prtica geral para
fazer um mapeamento no-linear de entrada-sada. Especificamente, seja k o nmero de
entradas da rede e m o nmero de sadas. A relao entrada-sada da rede define um
mapeamento de um espao euclidiano de entrada k-dimensional para um espao euclidiano de
sada m-dimensional, que infinitamente continuamente diferencivel.
CYBENKO (1989) foi o primeiro pesquisador a demonstrar rigorosamente que uma rede
MLP com uma nica camada intermediria suficiente para aproximar uniformemente
qualquer funo contnua que encaixe em um hipercubo unitrio.
O teorema da aproximao universal aplicvel a redes MLP descrito abaixo:
Teorema: Seja f(.) uma funo contnua no-constante, limitada, e monotonicamente
crescente. Seja Ip um hipercubo unitrio p-dimensional (0,1)p. O espao das funes
contnuas em Ip denominado C(Ip). Ento, dada qualquer funo g C(Ip) e > 0, existe
um inteiro M e conjuntos de constantes reais i e wij, onde i = 1, , M e j = 1, , p, tais que
pode-se definir
M

F ( x1 , x2 ,..., x p ) =

i =1

w x w ,
f
0i
i
ij j

j =1

(2.35)

como uma aproximao da funo g(.) tal que,

F ( x1 , x2 ,..., x p ) g ( x1 , x2 ,..., x p ) <


Para todo {x1,, xp} Ip.
Prova: veja CYBENKO (1989).
Este teorema diretamente aplicvel aos perceptrons de mltiplas camadas.
Primeiramente percebemos que a funo logstica, ou tangente hiperblica, utilizada como a
no-linearidade de um neurnio contnua, no-constante, limitada, e monotonicamente
crescente; satisfazendo as condies impostas funo f(.). Em seguida, verificamos que a
equao (2.35) representa as sadas de uma rede MLP descrita como segue:

a rede possui p ns de entrada e uma nica camada intermediria consistindo de M


unidades; o conjunto de entradas {x1,, xp}

o neurnio intermedirio i possui pesos wi1, , wip e limiar w01

a sada da rede uma combinao linear das sadas das unidades intermedirias,
com 1, , M definindo os coeficientes dessa combinao.
32

w01
w11
+

w1p
1
xl1

w02
w21
+

0
1
2

xlp

Fl

w2p
M
1

w0M
wM1
+

wMp

Figura 2.14: Rede MLP como aproximador universal. Os parmetros da rede compem a equao
(2.35).

O teorema de aproximao universal um teorema de existncia no sentido de que


fornece uma justificativa matemtica para a aproximao de uma funo contnua arbitrria,
em oposio representao exata. A equao (2.35) simplesmente generaliza aproximaes
por uma srie de Fourier finita. O teorema afirma que um perceptron de mltiplas camadas
com uma nica camada intermediria capaz de realizar uma aproximao uniforme, dado
um conjunto de treinamento suficientemente significativo para representar a funo. Por
outro lado, o teorema no afirma que um MLP com uma nica camada timo no sentido de
tempo de processamento, facilidade de implementao e eficincia na representao.

Exemplo 2.1:
Para ilustrar a capacidade de aproximao universal das redes do tipo MLP, considere o
seguinte exemplo: desejamos aproximar um perodo da funo sen(x)cos(2x) utilizando uma
composio aditiva de funes bsicas (f ser tomado como a tangente hiperblica) sob a
forma da equao (2.35). A Figura 2.15 ilustra o problema.

33

1
1

0.8

0.8

0.6

0.6
0.4

0.4

0.2

0.2

-0.2

-0.2
-0.4

-0.4
-0.6
-0.6

-0.8

-0.8
-1

-1
0

10

15

20

25

30

35

40

45

20

40

(a)

60

80

100

120

(b)

Figura 2.15: Aproximao universal. (a) Funo a ser aproximada (informao disponvel: 42
amostras do valor da funo em pontos igualmente espaados do domnio da funo). (b) Funo
bsica utilizada na aproximao. Tangentes hiperblicas, satisfazendo as condies estabelecidas pelo
teorema.

A rede utilizada para aproximar esta funo uma rede do tipo MLP com uma entrada,
cinco unidades intermedirias e uma sada, descrita na Figura 2.16. O algoritmo de
treinamento o de retro-propagao, apresentado anteriormente. Analisando esta figura, e
considerando que a rede apresentada possui sada linear, verificamos que y (sada da rede aps
a apresentao de cada amostra de treinamento) ser dada por:
y = w0,1 + w1,1 z1 + w2,1 z2 + w3,1 z3 + w4,1 z4 + w5,1 z5,

(2.36)

onde
k

z l = f w jl x j w0l ,
j =1

para l = 1,...,5,

(2.37)

onde f(.) a tangente hiperblica e k o nmero de entradas da rede. Esta expresso est de
acordo com a equao (2.35) do teorema da aproximao universal das redes MLP.
Aps treinar esta rede e definir um conjunto de pesos, vamos fazer uma anlise grfica
dos componentes da equao (2.36) que determinam a sada da rede.
A Figura 2.17 apresenta as funes de ativao de cada unidade intermediria ao final
do processo de treinamento. Percebe-se que as curvas apresentadas so as funes bsicas
(ver Figura 2.15(b) ) deslocadas em relao abcissa e devidamente escalonadas.

34

Limiares da camada intermediria


-1

-1

z1

w0,1

z2

w1,1

z3

w2,1
w3,1
w4,1

z4

w5,1

z5

Pesos da primeira camada

Figura 2.16: Rede MLP com treinamento via retro-propagao utilizada para aproximar a funo
sen(x)cos(2x). Funes de ativao do tipo tangente hiperblica.

Na Figura 2.18 temos, em cada caso, a representao da diferena entre a sada


desejada e a sada de cada unidade intermediria ponderada pelo respectivo peso da camada
de sada. Cada figura apresenta a sada desejada menos a soma das sadas ponderadas das
demais unidades.
A Figura 2.19 apresenta a combinao linear das sadas das unidades intermedirias,
onde os coeficientes da combinao so os pesos da segunda camada da rede.
Finalmente, a Figura 2.20 apresenta a aproximao obtida pela rede MLP aps o
processo de treinamento.
Verifica-se que a arquitetura do tipo perceptron com uma nica camada intermediria,
e cinco neurnios nesta camada, foi capaz de aproximar uma funo arbitrria, no caso
sen(x)cos(2x), partindo de um conjunto de 42 amostras de treinamento.

35

z2*w21

z1*w11

5
2

4
3

2
0

1
0

-1

-1
-2

-2

-3
-3
0

10

15

20

25

30

35

40

-4

45

10

15

z3*w31

20

25

30

35

40

45

30

35

40

45

z4*w41

1
1
0
0
-1
-1
-2
-2

-3

-4

-3
0

10

15

20

25

30

35

40

45

30

35

10

15

20

25

z5*w51
4
3
2
1
0
-1
-2
-3
-4
0

10

15

20

25

40

45

Figura 2.17: Funes de ativao dos neurnios intermedirios aps o treinamento da rede
multiplicadas pelos pesos correspondentes da camada de sada. perceptvel que todas as funes
apresentadas so tangentes hiperblicas (funes bsicas), mas esto deslocadas em relao abcissa.

36

T - w01 - w11*z1

T - w01 - w11*z1 - w21*z2

2
1

0
1
-1
0

-2

-1

-3
-4

-2
-5
-3

-6

-4

-7
0

10

15

20

25

30

35

40

45

T - w01 - w11*z1 - w21*z2 - w31*z3

10

15

20

25

30

35

40

45

40

45

T - w01 - w11*z1 - w21*z2 - w31*z3 - w41*z4

4
3

4
2
2
1
0

0
-1

-2
-2
-4
-3
-6

-4
0

10

15

20

25

30

35

40

45

10

15

20

25

30

35

T - w01 - w11*z1 - w21*z2 - w31*z3 - w41*z4 - w51*z5


4
3
2
1
0
-1
-2
-3
-4
0

10

15

20

25

30

35

40

45

Figura 2.18: Sada desejada menos a soma da contribuio de cada neurnio da camada intermediria.
O resultado final (ltima curva) a diferena entre a sada desejada e a sada da rede, ou seja, a
combinao linear das sadas das unidades intermedirias. Como era de se esperar, ao final do
treinamento, a diferena entre a sada fornecida pela rede e a sada desejada (funo a ser aproximada)
aproximadamente zero.

37

w01 + w11*z1

w01 + w11*z1 + w21*z2

12

15

10
10

8
6

5
4
2

0
-5

-2
-4

-10

-6
-8

-15
0

10

15

20

25

30

35

40

45

w01 + w11*z1 + w21*z2 + w31*z3

10

15

20

25

30

35

40

45

40

45

w01 + w11*z1 + w21*z2 + w31*z3 + w41*z4

10

4.5

3.5

2.5

-5

1.5
0

10

15

20

25

30

35

40

45

10

15

20

25

30

35

w01 + w11*z1 + w21*z2 + w31*z3 + w41*z4 + w51*z5


1.5

0.5

-0.5

-1

-1.5
0

10

15

20

25

30

35

40

45

Figura 2.19: Combinao linear das sadas das unidades intermedirias. Os coeficientes da
combinao so os pesos da segunda camada. Esta figura apresenta a soma das curvas que compem a
Figura 2.17, implicando na composio aditiva (combinao linear) das funes bsicas dos neurnios
da rede.

A sada da rede tambm pode ser vista na equao (2.36).

38

1.0

0.5

0.0

-0.5

-1.0
0

10

15

20

25

30

35

40

45

Figura 2.20: Aproximao obtida pela rede MLP para a funo sen(x)cos(2x). Os *s so as amostras
de treinamento, e o trao contnuo () a aproximao da rede.

2.4.7 Virtudes e Limitaes das Redes MLP


O algoritmo de retro-propagao tornou-se o algoritmo mais popular para o
treinamento supervisionado do perceptron de mltiplas camadas. Basicamente, uma
composio de um mtodo de obteno do vetor gradiente e de uma tcnica de otimizao
(steepest descent). O algoritmo de retro-propagao possui duas propriedades distintas:

simples de calcular localmente e

realiza um gradiente descendente no espao de conexes (pesos).

Estas duas propriedades do mtodo de retro-propagao so responsveis pelas suas


vantagens e desvantagens descritas a seguir.
2.4.7.1 Conexionismo
O algoritmo de retro-propagao um exemplo de paradigma conexionista que utiliza
clculos locais para determinar a capacidade de processamento de informaes das redes
neurais artificiais. A utilizao de clculos locais no projeto de arquiteturas neurais artificiais,
geralmente desejada por trs razes:

as redes neurais artificiais so vistas como metforas para as redes biolgicas;

os clculos locais favorecem a utilizao de arquiteturas paralelas como um mtodo


eficiente para a implementao das RNA's.

Comentrios sobre a implementao em paralelo de redes do tipo MLP sero feitos no


Captulo 7.
39

2.4.7.2 Unidades Intermedirias


As unidades intermedirias exercem um papel crtico na operao das redes MLP pois
funcionam como detetores de caractersticas (HAYKIN, 1994). Uma nova forma de
explorao deste importante atributo no reconhecimento de caractersticas significativas que
identificam os padres de entrada de interesse.
Uma rede MLP pode operar de forma auto-organizada, e quando isso ocorre
denominado de sistema autocodificador. Basicamente, essa estrutura faz uma anlise de
componentes principais dos dados de entrada, fornecendo uma ferramenta tima para a
reduo da dimensionalidade (compresso dos dados) do conjunto de entrada.
2.4.7.3 Superfcies de Erro e Mnimos Locais
Para o desenvolvimento de algoritmos de treinamento eficientes, essencial a
compreenso das caractersticas principais dos aspectos envolvidos no treinamento das redes
MLP e suas implicaes. Uma maneira extremamente til de descrever um problema de
treinamento sob a forma de aproximao de funes, ou otimizao de funes que
implica na minimizao do funcional de erro J. Sob este ponto de vista, o treinamento de
redes MLP um exemplo de procedimento de minimizao do erro ou otimizao, e cada
problema de treinamento define uma superfcie de erro (ou de energia) multi-dimensional no
negativa, que formada plotando-se o valor do erro J para todos os parmetros do vetor de
pesos () da rede.
Esta abordagem para o treinamento de redes MLP traz vrios benefcios importantes:

muitas estratgias eficientes de otimizao de funes tm sido desenvolvidas fora


da rea de redes neurais artificiais. Como veremos no prximo captulo, muitas
dessas estratgias so diretamente aplicveis ao treinamento de redes MLP;

o conceito de superfcie de erro da rede MLP permite uma visualizao do processo


de treinamento, pelo menos quando o nmero de parmetros reduzido.

Para cada combinao possvel de arquitetura MLP, problema de aplicao e funo de


erro, existe uma superfcie de erro correspondente de dimenso P + 1, para um MLP com P
pesos (SHEPHERD, 1997), sendo impraticvel produzir um mapeamento de superfcie de erro
que seja detalhado e abrangente (mesmo para pequenos problemas e redes de dimenso
reduzidas). No surpresa, portanto, que as propriedades das superfcies de erro das redes
MLP sejam assunto de grandes debates.
40

importante mencionar que a prtica comum de inferncia de caractersticas presentes


na superfcie de erro bastante questionvel. Por exemplo, h uma tendncia de afirmar que
uma rede MLP est presa em um mnimo local sempre que a curva de decaimento do erro
(gerada plotando-se o valor do erro ao longo de vrias pocas de treinamento) possui um
grande plat em um valor de erro elevado. Na verdade, existem vrias causas igualmente
plausveis para este comportamento que no so relacionadas com a presena de mnimos
locais; por exemplo, a rede est convergindo para um ponto de sela; o problema possui um
erro final elevado na soluo e a rede est convergindo para o mnimo global; a rede est
atravessando um plat lentamente; o algoritmo est fazendo um zig-zag no fundo de um vale;
um ou mais neurnios da rede esto saturados ou a rede est tomando passos muito pequenos
a cada iterao.
Algumas evidncias (como grficos de contorno de pequenas regies de superfcies de
erro) sugerem que a maior parte das superfcies de erro das redes MLP compartilham vrias
caractersticas (HAGAN et. al, 1997):

alto grau de suavidade;

grandes plats;

pequenos vales;

vrios mnimos locais e

um certo grau de simetria em relao a origem do sistema de coordenadas utilizado


para plotar a superfcie de erro.

Estas caractersticas das superfcies de erro fornecem boas indicaes de quais


estratgias devem ser adotadas no desenvolvimento de mtodos prticos e eficientes de
treinamento:

a suavidade das superfcies de erro sugerem que mtodos de otimizao clssica


(ver Captulo 3) que utilizam derivadas sero eficientes;

o efeito da preciso de ponto-flutuante torna-se um aspecto importante em regies


de plats (ver Captulo 5) e

se existem mnimos locais, estratgias de busca do mnimo global, ou mnimo local


satisfatrio, devem ser empregados (ver Captulo 7).

A seguir apresentaremos algumas figuras com o objetivo de ilustrar as caractersticas


das superfcies de erro e seus mnimos.

41

Exemplo 2.2:
10

-5

-10

Mnimo local

-15

-20

Mnimo global
-2

-1.5

-1

-0.5

0.5

1.5

Figura 2.21: Exemplo escalar de uma funo com um mnimo local e seu mnimo global.

A Figura 2.21 apresenta a funo escalar dada pela expresso F(x) = 3x4 - 15x2 - 3x + 6,
que possui um mnimo local e seu mnimo global para x [-2,2].
Uma forma simples de reduzir as chances de se ficar preso em um mnimo local
escolhendo um conjunto de pesos iniciais timo. No Captulo 7 sero feitas consideraes
sobre diferentes procedimentos de inicializao do processo de treinamento que permitem a
determinao de mnimos locais mais adequados, ou at mesmo do mnimo global.
Exemplo 2.3:
Para investigar o comportamento da superfcie do erro quadrtico mdio para redes com
mltiplas camadas adotaremos um exemplo simples de aproximao de funes. A rede
utilizada neste problema ser apresentada na Figura 2.22.

v01

v02

w01

w11

v11
x

y
v21
w12

Figura 2.22: Rede para aproximao de funes.

42

0.75
0.7
0.65
0.6
0.55
0.5
0.45
0.4
0.35
0.3
0.25

10

15

20

25

30

35

40

45

Figura 2.23: Funo a ser aproximada.

A Figura 2.23 apresenta o grfico da funo a ser aproximada (HAGAN et. al, 1997). O
objetivo treinar a rede da Figura 2.22 para aproximar a funo da Figura 2.23.
15

Plat
10

Vales

10
8

w(1,1)

6
5

4
2
0
15

10

15
10

-5
-5

5
v(1,1)

10

15

0
-5

w(1,1)

-5

v(1,1)

Figura 2.24: Superfcie do erro quadrtico e seu contorno em relao aos pesos v11 e w11.
15
10
2

5
1.5

v(0,1)

0
1

-5
0.5

-10

0
20

-15

30

-20

20
10

-20

-25
-10

-5

10
v(1,1)

15

20

25

30

v(0,1)

-40

-10

v(1,1)

Figura 2.25: Superfcie do erro e seu contorno em relao ao peso v11 e ao limiar v01.

43

10

Mnimo global

Mnimo local

1.5

6
4

w(0,1)

2
0
0.5

-2
-4

0
10

-6

10
5

-8

-5

-10
-10

-8

-6

-4

-2

0
v(0,1)

10

w(0,1)

-5
-10

-10

v(0,1)

Figura 2.26: Superfcie do erro quadrtico e seu contorno em relao aos limiares v01 e w01.

Para que seja possvel plotar o grfico do comportamento do funcional de erro, iremos
variar somente dois parmetros da rede a cada instante. As Figuras de 2.24 a 2.26 mostram a
superfcie de erro e seu respectivo contorno quando consideramos a sua variao em relao a
alguns pares de pesos da rede.
As partes mais escuras das superfcies representam vales, ou regies de mnimos. As
curvas apresentadas permitem verificar algumas caractersticas importantes da superfcies de
erro, como:

suavidade;

existncia de plats e vales; e

presena de mnimos locais.

Fica claro na Figura 2.26 que a escolha inadequada de uma condio inicial para o
algoritmo de treinamento pode fazer com que o algoritmo convirja para um ponto sub-timo.
Como, geralmente, no conhecemos a superfcie de erro, torna-se necessria a utilizao de
vrias condies iniciais diferentes para aumentar as chances do algoritmo convergir para o
mnimo global. Maiores comentrios sobre condies iniciais timas do processo de
treinamento sero feitas no Captulo 7.
2.4.7.4 Escalonamento
Em princpio, redes neurais como as do tipo MLP treinadas com o algoritmo de retropropagao oferecem um grande potencial. Entretanto, para que este potencial possa ser
plenamente atingido, preciso superar o problema de escalonamento, que refere-se
qualidade do comportamento da rede (como o tempo de processamento e capacidade de
generalizao) quando a tarefa a ser realizada aumenta em dimenso e complexidade. Existem
44

vrias formas possveis de medir a dimenso e complexidade de um problema. O Captulo 5


apresenta algumas ferramentas que permitem fazer este tipo de medida baseado no conjunto
de dados disponvel para o treinamento.
Uma forma de amenizar problemas de escalonamento fazer com que a arquitetura da
rede e as restries impostas ao conjunto de pesos incorporem informaes sobre o problema
que dever ser resolvido. Outra forma de tratar o problema de escalonamento reformular o
processo de aprendizagem inserindo modularidade na arquitetura da rede. Um sistema
computacional dito ser modular se a arquitetura puder ser separada em dois ou mais pedaos
responsveis por partes distintas e possivelmente mais simples do conjunto de entradas.
2.5

Representao do Conhecimento em Redes Neurais Artificiais


As redes neurais artificiais utilizam a estrutura de interconexes para representar o

conhecimento. Isso significa que, com base na configurao resultante da rede, a intensidade
das conexes ajustada com o objetivo de armazenar informao. Como resultado natural
deste processo de ajuste, o conhecimento armazenado fica distribudo pela rede neural. Esta
uma das mais importantes diferenas entre processadores de informao baseados em redes
neurais e aqueles baseados nos princpios da mquina de

VON

NEUMANN (1958), como no

caso dos computadores digitais, nos quais o conhecimento particionado em clulas de


informao (unidades mais simples de conhecimento) que possam ser armazenadas em
posies de memria bem definidas. importante observar que todo conhecimento passvel
de representao em mquinas de von Neumann pode tambm ser adequadamente
representado em redes neurais artificiais, por exemplo, tomando-se um conjunto de pesos
onde as clulas de informao podem ser armazenadas. Portanto, o tipo de representao de
conhecimento empregado no caso das redes neurais artificiais fornece a este sistemas
potencialidades de representao ausentes em outros sistemas tradicionais de representao do
conhecimento.
Considerando agora que todo conhecimento pode ser representado como parmetros de
um problema, a capacidade de representao das redes neurais artificiais geralmente excede a
dimenso paramtrica do problema. Com isso, a relao existente entre os pesos da rede
neural e as clulas de informao a serem armazenadas no direta. Diz-se ento que o
conhecimento est distribudo pelas conexes da rede, sendo que cada conexo pode
participar na representao de mais de uma clula de informao. Ao contrrio do caso de
mquinas de von Neumann, onde a perda ou falha de uma nica posio de memria pode
45

acarretar a falha de todo o sistema, em representaes baseadas em redes neurais, a


sensibilidade perda ou falha de uma conexo pode ser muito baixa.
Existe grande expectativa de que as redes neurais artificiais exercero um importante
papel na automao do processo de aquisio de conhecimento e codificao, entretanto, o
problema de conhecimento em RNA's representado em nvel sub-simblico tornando-se
difcil para a compreenso humana. Uma forma de entender o comportamento das RNA's
extraindo seu conhecimento em funo de regras (HUANG & ENDSLEY, 1997).
Em um trabalho recente, GUDWIN (1996) prope a elaborao de uma taxonomia dos
tipos de conhecimento, baseada na teoria da semitica. Os tipos elementares de conhecimento
podem ser divididos em:

remtico;

dicente e

argumentativo.

No conhecimento argumentativo, tem-se a idia de argumento, que corresponde a um


agente de transformao de conhecimento. Um argumento tipicamente transforma um
conjunto de conhecimentos, chamados de premissas do argumento, em um novo
conhecimento, chamado de sua concluso. Esta transformao realizada por meio de uma
funo de transformao, chamada de funo argumentativa, que caracteriza o tipo de
argumento. O conhecimento argumentativo, por sua vez, sub-dividido em conhecimento
argumentativo indutivo, dedutivo ou abdutivo. Os conhecimentos do tipo argumentativo so
considerados os mais complexos. Em linhas gerais, um argumento indutivo aquele que
modifica um conhecimento pr-existente, o argumento dedutivo permite selecionar um
conhecimento dentre vrios e um argumento abdutivo gera conhecimentos de uma forma
qualquer.
O conhecimento remtico o tipo de conhecimento gerado pela interpretao de remas,
ou termos. Esses termos so utilizados para referenciar fenmenos do ambiente, tais como
experincias sensoriais, objetos, e ocorrncias. Existem trs tipos de conhecimentos
remticos. O conhecimento remtico simblico, indicial e icnico.
No caso do conhecimento dicente, um termo ou uma sequncia de termos utilizada
para representar uma expresso, que codifica uma proposio. O que caracteriza um termo ou
sequncia de termos como sendo uma proposio o fato de existir um valor-verdade
associado a ele. Esse valor verdade uma medida da crena que o sistema cognitivo tem de
46

que uma proposio verdadeira. Usualmente, o valor verdade representado por um valor
entre 0 e 1. Um valor-verdade igual a 0 significa que o sistema acredita que a proposio
falsa. Um valor-verdade igual a 1 representa que o sistema acredita que a proposio
verdadeira.
Nesse contexto, perceptvel que o treinamento de redes MLP realiza um argumento do
tipo indutivo, onde os pesos das conexes so modificados no intuito de realizar alguma
tarefa.

47

S-ar putea să vă placă și