View
225
Download
0
Category
Preview:
Citation preview
7/24/2019 Redes Neurais PUC
1/23
3Redes Neurais
3.1. Introduo
As redes neurais artificiais, ou comumente conhecidas como Neural
Networks, foram motivadas em princpio pela extraordinria capacidade do
crebro humano para executar tarefas de grande complexidade, no lineares e com
processamento paralelo da informao, tais como reconhecimento de padres,
percepo, classificao, generalizao de conceitos e controle motor. Estes fatos
geraram o interesse do estudo detalhado da constituio do crebro e sua
mimetizao na concepo de sistemas com as capacidades acima referidas,
designadas por redes neurais artificiais (ANN).
As redes neurais (NN) esto constitudas por unidades bsicas independentes
designadas como neurnios (processadores ou ns). Cada unidade possui ligaes
para outras unidades, as quais se comunicam entre si atravs de sinapses,
formando uma rede de ns, da o nome de rede neural.
As primeiras informaes sobre redes neurais surgiram em 1943, com o
primeiro modelo lgico-matemtico de um neurnio biolgico, que foi
desenvolvido pelo neurofisilogo Warren McCulloch, doInstituto Tecnolgico de
Massachusetts, e do matemtico Walter Pitts, da Universidade de Illinois.
Desenvolveram um modelo matemtico de neurnio simulando o comportamento
de uma clula nervosa, a qual consistia num modelo de resistores variveis e
amplificadores.
As redes neurais realizam o processamento de informaes baseado na
organizao dos neurnios do crebro, as quais tm a capacidade de aprender e
tomar decises baseadas na aprendizagem. Uma rede neural interpretada como
uma estrutura neural de organismos inteligentes, capaz de armazenarconhecimento baseado em aprendizagem e da experincia.
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
2/23
37
Uma rede neural um processador maciamente paralelo, distribudo,
constitudo por unidades de processamento simples, que tm a capacidade de
armazenamento de conhecimento experimental e de torn-lo disponvel para uso.
As redes neurais so semelhantes ao crebro pelos seguintes aspectos [14]:
O conhecimento obtido pela rede neural a partir do ambiente,
atravs do processo de aprendizado.
A fora de conexo entre cada neurnio, conhecida como peso
sinptico, usada para armazenar o conhecimento aprendido.
3.2. Estrutura do neurnio
O neurnio a unidade fundamental de processamento de informao para aoperao de uma NN. Neurnios so elementos processadores interligados,
trabalhando em paralelo para desempenhar uma determinada tarefa. A Figura 3.1
mostra a estrutura de um neurnio biolgico, e na Figura 3.2 apresenta-se o
modelo de um neurnio artificial, na qual se desenham formas bsicas que
constituem umaNN. Os elementos bsicos identificados no modelo neural so: os
pesos de conexo, o Net e a Funo de ativao[15].
Figura 3.1. Esquema bsico do neurnio biolgico.
O neurnio recebe mltiplos sinais de outros neurnios atravs de seus
dentritos, e cada um destes sinais so multiplicados pelo prprio peso da conexo.
Estes sinais so adicionados no corpo celular ou funo somatria, e quando este
sinal composto alcana um valor umbral, um sinal potencial enviado peloaxnio, o qual a sada do neurnio [14].
Dentritos
CorpoCelular
Axnio
Terminaispsinpticos
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
3/23
38
Figura 3.2. Modelo bsico de um neurnio Artificial Perceptron.
onde x so as entradas, kn so os pesos ou parmetros da rede, os quais
representam a memria da rede, k conhecido como o termo polarizador (bias),
kNet representa a combinao linear dos pesos, e kS representa a sada do
neurnio.
O modelo do neurnio da Figura 3.2, alm das entradas, tambm tem um
termo constante chamado bias k , o qual tem a funo de aumentar ou diminuir
a entrada kNet da funo de ativao, modificando este positiva ou
negativamente.
3.2.1. Peso de conexo
O valor de sinapses, ou conexo, caracterizado por um peso.
Especificamente, o sinal de entrada jx da sinapse j conectada para o neurnio k
multiplicado pelo peso sinptico kj . O primeiro sub-ndice faz referncia ao
neurnio, e o segundo faz referncia entrada.
3.2.2. Funo Somatrio (Net)
ANet definida como uma funo soma, e executa o somatrio dos sinaisproduzidos pelo produto entre os sinais de entrada e os pesos de conexo
x1
x2
xn
SadaPesos SinpticosEntradas
Net k
FunoSomatria
Bias
k1
FunoAtivao
k2
kn
F(Net k)S k
k
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
4/23
39
(sinapses) de cada neurnio. Esta operao representa uma combinao linear:
1
.p
k kj j k
j
Net x =
= + (3.1)
3.2.3. Funo de Ativao
A funo de ativao uma funo que determina o nvel de ativao do
neurnio artificial, o qual limita a amplitude do sinal de sada do neurnio para
uma faixa de valores finitos. Geralmente, escreve-se a faixa de amplitude
normalizada da sada de um neurnio como um intervalo fechado [0,1] ou [-1,1]
[14][16].
Funo Degrau
Modelo proposto por McCulloch e Pits[1943], esta funo de
ativao modela a caracterstica de todo - ou- nada do neurnio, e
expressa pela equao:
1 Se 0( )
0 Se 0k
k
k
NetF Net
Net
=
7/24/2019 Redes Neurais PUC
5/23
40
.
1( )
1 kk a NetF Net
e
=+
(3.4)
onde a o parmetro de inclinao da funologsige kNet o
valor de ativao do neurnio. Na Figura 3.3(c), apresenta-se afuno logsig, e observa-se que medida que o parmetro a
aumenta, tendendo-o ao infinito, esta funo comporta-se como uma
funo de grau.
Funo de Ativao Tansig
Na Figura 3.3 (d) apresenta-se a funo Tansig. Esta funo tambm
possui a forma sigmoidal, e a segunda funo mais utilizada naconstruo de ANN. A principal diferena com relao funo
Logsig que pode assumir valores na faixa de [-1, 1], e definida
pela equao.
.
2( ) 1
1 kk a NetF Net
e
= +
(3.5)
O parmetro a , assim como na Equao (3.4), determina a
inclinao da funo.
Figura 3.3. Funes de Ativao: (a) Funo de Grau. (b) Funo linear. (c) Funo
Logsig. (d) Funo Tansig.
-1 -0.5 0 0.5 1
0
0.5
1
Funo de ativao de Grau
(a) Netk
F(Netk)
-1 -0.5 0 0.5 1
0
0.5
1
Funo de ativao Linear
(b) Netk
F(Netk)
-8 -6 -4 -2 0 2 4 6 8
0
0.5
1
Funo de ativao Logsig
(c) Netk
F(Netk)
a=2
a=1
a=0.5
-6 -4 -2 0 2 4 6
-1
-0.5
0
0.5
1
Funo de ativao Tansig
(d) Netk
F(Netk)
a=2
a=1
a=0.5
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
6/23
41
3.3. Arquitetura das Redes Neurais
A arquitetura das redes neurais artificiais pode ser formada por uma ou mais
camadas de neurnios. Estas camadas esto formadas por neurnios enfileirados e
ligados entre si. A entrada de uma camada intermediria p a sada da camada
anterior 1p ou a camada de entrada, e a sada desta mesma camada p
uma entrada da camada seguinte 1p + ou a camada de sada, como se apresenta
na Figura 3.4.
As redes neurais, baseadas em sua arquitetura, so classificadas em dois
grupos, as redes Perceptron e as redes Multilayer Perceptron (MLP).
3.3.1. Rede Perceptron
O perceptron foi proposto por Rosenblatt [1962], dando continuidade ao
trabalho de McCulloch-Pitts. Este pode ser considerado o primeiro modelo de
redes neurais, e capaz de aprender somente sobre problemas linearmente
separveis. Sua arquitetura consiste em uma camada de entrada e uma de sada,
como se apresenta na Figura 3.4.
Figura 3.4. Rede perceptron com kNeurnios de sada.
onde [ ]1 2 ... nX x x x= representa a camada de entrada, kN o k simo
neurnio, jk o peso do neurnio kN em relao entrada jx , e kS representa
x 1
x 2
x n kn
1
S 1
S 2
S k
k
11 21
k1 12
22
k2 2n
1n
N 1
N 2
N k
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
7/23
42
a k sima sada.
Seguindo a regra de propagao, o valor de Net do j simo neurnio
definido pela equao
1.
k
j ji i j
i
Net x =
= + (3.6)
Geralmente, nas redes perceptron a funo de ativao a funo Degrau,
e sua sada jS determinada por
1 Se 0
0 Se 0j
j
j
NetS
Net
>=
(3.7)
Durante o processo de treinamento do perceptron, busca-se encontrar umconjunto de pesos que determine uma reta que separe as diferentes classes, de
maneira que a rede possa classificar corretamente as entradas apresentadas. O
algoritmo de aprendizado para obter os pesos desejados determinado de a
maneira descrita a seguir.
Para um padro de entrada, obtm-se uma sada da rede js , com seu
respectivo valor de sada desejado jt . O erro na sada definido por
j j je t s= (3.8)
Ento, a variao do peso ji definida por
. .ji i jx e = (3.9)
onde a taxa de aprendizado.
Entretanto, os pesos so atualizados depois de cada entrada com a regra
1 . .t t t t ji ji ji ji i jx e + = + = + (3.10)
O algoritmo de aprendizado aplicado em um dos neurnios da rede
perceptron o mesmo para todos os demais neurnios.
O perceptron de um nico neurnio limitado a trabalhar na classificao
de padres com apenas duas classes. Entretanto, o incremento dos neurnios na
camada de sada do perceptron permite classificar padres de mais de duasclasses, sempre que as classes forem linearmente separveis [17].
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
8/23
43
3.3.2. Rede Multilayer Perceptron
A rede multilayer perceptron (MLP) considerada como uma das mais
importantes ANN. Este tipo de rede tem sido aplicado com sucesso em diversas
reas, na soluo de problemas complexos, desempenhando tarefas declassificao de padres, reconhecimento de voz, reconhecimento de imagem, e
controle. Uma vez que as redes perceptron s representam funes linearmente
separveis, um dos motivos do ressurgimento da rea de redes neurais foi devido
ao desenvolvimento do algoritmo BackPropagation. A rede MLP uma
generalizao da rede perceptron estudada na seo anterior.
As ANN do tipo MLP esto constitudas de trs partes: a primeira parte denominada camada de entrada (input layer), a qual constituda de um conjunto
de unidades sensoriais; a segunda parte constituda de uma ou mais camadas
escondidas (hidden layers); e a terceira parte constituda de uma camada
denominada camada de sada (ouput layer). Com exceo da camada de entrada,
todas as outras camadas esto constitudas por neurnios, as quais implicam em
um esforo computacional.
Na Figura 3.5, apresenta-se a arquitetura de uma rede neural MLP com uma
camada de entrada constituda de n unidades sensoriais, duas camadas escondidas
constituda de i e j neurnios respectivamente, e uma camada de sada constituda
de k neurnios, formando a arquiteturaMLP(n-i-j-k).
Figura 3.5. Arquitetura de uma rede neural MLP (n-i-j-k).
S 1
S 2
S k
M 1
M 2
M i
N 1
N 2
N
O 1
O 2
O k
X 1
X 2
X n
Camada deEntrada
CamadaEscondidas
Camada deSada
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
9/23
44
Algumas caractersticas bsicas das redesMLP so as seguintes:
A funo de ativao de cada um dos neurnios da rede uma
funo no-linear. Uma caracterstica importante desta funo que
precisa ser suave e diferencivel em todos os pontos. Geralmente, a
funo de ativao que satisfaz estes requerimentos uma funo
no-linear sigmoidal, as mais comuns utilizadas so as funes
Logsige Tansig.
As redesMLP so constitudas de uma ou mais camadas escondidas,
que contm neurnios que no formam parte da camada de entrada
ou sada da rede. Estes neurnios escondidos permitem que a rede
possa aprender tarefas mais complexas progressivamente, pelo
processo de aprendizado.
Uma rede MLP uma rede feedforward, onde o fluxo de dados
sempre em uma nica direo. Assim, a sadas dos neurnios de uma
camada qualquer se conectam unicamente s entradas dos neurnios
da camada seguinte. Portanto, o sinal de entrada se propaga atravs
da rede em um s sentido, isto , no existe realimentao.
As redesMLPapresentam um alto grau de conectividade ou podem
ser completamente conectada, o que determinado pelas sinapses da
rede, caso em que um neurnio de uma camada qualquer conectado
a todos os neurnios da camada seguinte. Alm disso, uma rede
MLPpode ser parcialmente conectada, no caso em que alguma das
sinapses esteja faltando. Na prtica, a falta de algumas sinapses
dentro da rede representada fazendo o peso das sinapses igual a
zero. Entretanto, neste estudo consideram-se redes MLP
completamente conectadas.
A combinao destas caractersticas, junto com a capacidade de
aprendizagem, produto da experincia atravs do processo de treinamento das
redesMLP, determina o esforo computacional.
O nmero de variveis ou ns da camada de entrada determinado pela
complexidade do problema e a dimensionalidade do espao de observao, de
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
10/23
45
onde so gerados os sinais de entrada. O nmero de neurnios na camada de sada
determinado pela dimensionalidade da resposta desejada. Alm disso, a
configurao e modelagem de uma rede MLP tm como objetivo determinao
dos seguintes aspectos:
1. A determinao do nmero de camadas escondidas.
2. A determinao do nmero de neurnios em cada uma das camadas
escondida.
3. A determinao do valor dos pesos de conexo e as funes de ativao.
Existe uma variedade de metodologias para a escolha destes aspectos, mas
normalmente estas so feitas de forma emprica. Na Figura 3.6, apresentam-se
estes aspectos.
Figura 3.6. Configurao da rede MLP.
O tamanho do modelo deANN determinado pelos aspectos 1 e 2 acima,
mas no h regras para a determinao de tais especificaes, sendo geralmentedeterminados baseado na experincia do especialista. O nmero de camadas
escondidas em umaANNinflui na relao entrada-sada. Isto , umaANNcom um
maior nmero de camadas escondidas tem melhor capacidade de extrair as
caractersticas de algum processo aleatrio desconhecido, sobre o qual a rede esta
tentando adquirir conhecimento. O incremento excessivo do nmero de camadas
escondidas e neurnios dentro daANNproduzem uma rede muito grande que no
responder corretamente a padres nunca vistos. Isto , devido rede extrairmuitas caractersticas,ela pode tentar, de forma inapropriada, modelar tambm o
RedeMLP
X1
X2
Xp
M1
M2
Mi
N1
N2
Nn
S1
S2
Sk
"m" CamadasEscondidas
CamadaEntrada
CamadaSaida
Peso de Conexo"n" Neuronios
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
11/23
46
rudo. E um nmero muito pequeno de camadas escondidas e neurnios produz
uma ANN muito pequena, que no capaz de armazenar todos os padres
necessrios, a ponto de no modelar fielmente os dados. Alm disso, uma rede
muito grande demanda um maior esforo computacional, ento se deve ter um
compromisso entre Convergnciae Generalizao.
A Convergncia a capacidade da rede de aprender todos os padres do
conjunto de treinamento, a qual esta estritamente relacionada com o tamanho da
rede. Entanto, a Generalizao a capacidade de um modelo de aprendizado
responder corretamente a padres novos que lhe so apresentados. Um modelo
com boa generalizao aquele que responde corretamente a padres contidos na
base de dados, e tambm a padres novos contidos na base de teste. A capacidade
de generalizao o principal objetivo no processo de aprendizado.
Outro aspecto est relacionado com a determinao da funo de ativao
de cada um dos neurnios, e do algoritmo de treinamento utilizado para obter os
pesos de conexo desejados que resolva o problema ou tarefa. Um dos algoritmos
de treino que tem sido aplicado na soluo de diversos problemas complexos o
algoritmo conhecido na literatura como backpropagation, o qual baseado na
retro-propagao do erro.
A idia bsica do algoritmo backpropagation foi descrita por Werbos em
sua tese de doutorado na Universidade de Harvard em 1974. No entanto, o
algoritmo de aprendizado backpropagation surgiu aps 1985, atravs da
publicao do livro Parallel Distributed Processingde Rumelhart e McClelland
em 1986.
Alm do algoritmo backpropagation, existem vrios algoritmos de
aprendizado, ou tambm chamados regras de aprendizado, algumas das quais so
o algoritmo de aprendizado Levenberg Marquardt (utiliza uma aproximao do
mtodo de Newton), o algoritmo do gradiente descendente (usado pelo algoritmo
backpropagation), algoritmos competitivos que se caracterizam pelas conexes
laterais dos neurnios com seus vizinhos, estabelecendo uma competio entre osneurnios (usado pelas redes Hopfiel e Kohonen).
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
12/23
47
A obteno dos pesos desejados da ANN obtida mediante a atualizao
de pesos no processo de treinamento, o que pode ser feito de duas maneiras,Batch
ou Incremental.
No processo de treinamento Batch ou por ciclos, a atualizao dos pesos
acontece somente aps a apresentao de todos os padres do conjunto de
treinamento. Assim, todos os padres so avaliados com a mesma configurao de
pesos. Entretanto, no treinamentoIncremental (ou por Padro), a atualizao dos
pesos feita aps a apresentao de cada novo padro. Isto leva a que a rede
aprenda melhor o ltimo padro apresentado, e por isso recomendvel
apresentar os dados de forma aleatria.
A eficincia dos dois mtodos de treinamento depende do problema em
questo. O processo de treinamento (aprendizado) mantido at que os pesos se
estabilizem e o erro quadrtico mdio seja suficientemente pequeno, ou seja,
menor que um erro admissvel, de modo que o objetivo desejado seja atingido.
Assim, deve-se encontrar um ponto timo de parada com erro mnimo e mxima
capacidade de generalizao.
Aps o processo de treinamento, algumas vezes a ANN pode se
especializar demasiadamente em relao aos padres do conjunto de treinamento,
gerando um problema de aprendizado conhecido como super-aprendizado ou
over-fitting. Geralmente este problema pode ser evitado por meio de um mtodo
Early Stopping. Este mtodo divide o conjunto de padres em um novo conjunto
de treinamento e validao, aps cada varredura do conjunto de treinamento, arede avaliada com o conjunto de validao. O algoritmo pra, quando o
desempenho com o teste de validao deixa de melhorar.
O procedimento de treinamento utilizado o treinamento Supervisionado,
a rede treinada com um conjunto de dados de treinamento que fornece rede os
valores de entrada e seus respectivos valores de sada desejada, como apresentado
na Figura 3.7.
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
13/23
48
Figura 3.7. Treinamento Supervisionado.
3.4. Algoritmo Backpropagation
Backpropagation o algoritmo de treinamento mais utilizado pelas ANN.
Este algoritmo de tipo supervisionado, e consiste no ajuste dos pesos da rede
baseado na minimizao do erro mdio quadrtico pelo algoritmo do gradiente
descendente. Portanto, uma parte essencial do algoritmo o clculo das derivadas
parciais do erro em relao aos parmetros da ANN. O desenvolvimento deste
algoritmo permitiu resolver o problema da atualizao dos pesos nas camadas
escondidas, e com este o ressurgimento das redes neurais.
3.4.1. Fases do Algoritmo Backpropagation
O algoritmo composto de duas fases: Propagao e Retropropagao,
descritos a seguir.
3.4.1.1. Propagao (forward)
Nesta fase, um conjunto de padres aplicado na camada de entrada da
ANN, e a resposta desta propagada como entrada na seguinte camada. Este efeito
propagado atravs da rede, camada a camada, at que finalmente produzido
um conjunto de sada como a resposta atual da rede. Durante esta etapa, os pesos
sinpticos da rede so fixos. Observe na Figura 3.9(b) que o sinal flui atravs da
rede no sentido direito, da esquerda para a direita. Estes sinais que se propagam de
forma direta, neurnio a neurnio, atravs da rede desde a entrada at a sada, sodenominados Sinais Funcionais. Esta denominao nasceu do fato de estes sinais
Pesos da Rede
Clculo doErroSada
desejada (t)
Sada (s)
erro (e)
Padres deEntrada (x)
Dados deTreinamento
ANN
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
14/23
49
serem obtidos na sada de cada neurnio como uma funo dos sinais de entrada
de cada um. Na Figura 3.9(a), apresenta-se a fase de propagao em uma rede
MLP(4-3-2) [14].
Figura 3.9. (a) Fase de propagao (b) Sinais Funcionais.
3.4.1.2. Retropropagao (backward)
Na fase de Retropropagao, desde a camada de sada at a camada de
entrada so ajustados todos os pesos sinpticos em concordncia com uma
correlao do erro. Especificamente, a resposta atual da rede subtrada de uma
resposta desejada (target), gerando um sinal erro. Este sinal de erro novamente retropropagado atravs da rede no sentido contrario ao sinal funcional, da o nome
de error back-propagation.
Os pesos daANNso ajustados para fazer com que a resposta atual da rede
se aproxime resposta desejada. E o erro originado em um neurnio na camada de
sada da rede, que propagado de volta atravs da rede, camada a camada,
denominado como sinal de erro. Este sinal referido como sinal de erro porque o
clculo do erro em cada neurnio da rede uma funo de erro de algum tipo. NaFigura 3.10, apresenta-se a fase de retropropagao e os sinais de erro [14].
S 1
S 2
N1
O1
O2
X1
X2
Camada deEntrada
CamadaEscondida
Camada deSaida
X3
X4
N2
N3
S 1N1
O1
N2
Entradas
Sadas
PesosNeurnios
Saida
Neuronios Intermedios
SinaisFuncionais
(a)
(b)
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
15/23
50
Figura 3.10. (a) Fase de Retro-propagao (b) Sinais de erro.
3.4.2. Algoritmo de Aprendizado
O algoritmo de aprendizado backpropagation baseado na propagao do
erro, que inicia na camada de sada e vai para as camadas anteriores daANN, de
acordo com o grau de participao que cada neurnio teve no nvel posterior.
Antes de passar descrio do algoritmo, conveniente fazer algumas
consideraes quanto s caractersticas bsicas daANN:
Topologia da rede Mltiplas camadas (MLP).
Funo de ativao Funo no-linear, diferencivel em todo o
domnio.
Tipo de aprendizado supervisionado.
Regra de propagao 1
.k
j ji i j
i
Net x =
= + .
Valores de entrada sada binrios ou contnuos.
E1
E2
N1
O1
O2
X1
X2
CamadaEscondida
Camada deSada
X3
X4
N2
N3
E1N1
O1
N2
Entra
das
Sadas
Pesos
Sinais deerro
(a)
(b)
Camada deEntrada
Ajuste dosPesos
E=T-S
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
16/23
51
O processo de aprendizado do algoritmo backpropagation tem como
objetivo a atualizao dos pesos sinpticos da rede, o que feito por meio da
minimizao do erro quadrtico mdio pelo mtodo do Gradiente Descendente.
Baseado neste mtodo, o fator de atualizao do pesoij
relativo entrada i do
neurnio j dado por
.ij
ij
E
=
(3.11)
onde, ij a variao do peso do neurnio j da conexo i , a taxa de
aprendizado, e E o somatrio do erro quadrtico mdio total.
O valor do erro quadrtico mdio total (E) definido pela Equao (3.12),
como a soma do erro quadrtico mdio de todo os padres [19].
2
1
1. ( )
2
kp p
i i
p i
E t s=
= (3.12)
onde, p o numero de padres, k o numero de neurnios na sada, e pit ep
is
so o valor desejado e a sada gerada pela rede para o neurnio i quando
apresentado o padro p . Alm disso, pode-se assumir sem perda de generalidade
que a minimizao de cada padro vai a levar minimizao do erro total, de
modo que o erro passa a ser definido por
2
1
1. ( )
2
k
i i
i
E t s=
= (3.13)
3.4.2.1. Calculo da ij
Usando a regra da cadeia na Equao (3.11), pode-se expressar
. . . jij
ij j ij
netE E
net
= =
(3.14)
Onde, .j i ij jnet s = + , e assim
ji
ij
net S
= (3.15)
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
17/23
52
onde, is o valor de entrada recebido pela conexo i do neurnio j .
Entretanto, o outro termo da Equao (3.14) o valor calculado do erro do
neurnio j . Este termo depende da camada na qual se encontra o neurnio, e
representado por
j
j
Ee
net
=
(3.16)
Assim, das equaes acima, pode-se estabelecer que
. .ij i js e = (3.17)
Entretanto, o valor do peso atualizado definido por
1 1 . .t t t t ij ij ij ij i js e + += + = + (3.18)
onde, 1tij+ o valor de peso atualizado, tij o valor de peso na iterao anterior
no processo de aprendizado, e tij a variao do peso.
3.4.2.2. Calculo do Erro (je )
Usando a regra da cadeia na Equao (3.16), pode-se estabelecer que:
. jj
j j j
sE Ee
net s net
= =
(3.19)
onde ( )j js net = , ento:
( ) jj
j
snet
net
=
(3.20)
Entretanto, o valor do termo depende da camada qual pertence o
neurnio j .
Na camada de sada
O neurnio j pertence camada de sada, como apresentado na Figura
3.11. O valor de E calculado pela Equao (3.13), de modo que o termo
js
E
js
E
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
18/23
53
calculado por
( )j j
j
Et s
s
=
(3.21)
Assim, o valor do de je para o neurnio j na camada de sada
( ). ( )j j j je t s net = (3.22)
Figura 3.11. Clculo de erro je na camada de sada.
Na camada escondida
O caso em que o neurnio j pertence camada escondida apresentado na
Figura 3.12.
Figura 3.12. Calculo de erro je na camada escondida.
O valor de E para este neurnio j calculado pela Equao (3.13),
tomando em considerao a propagao do erro da camada seguinte. O termo
j
E
s
calculado por
w1j
(net)
Neurnio j
CamadaEscondida
si wij
Propagao daSinal de Erro
N1
N2
Nk
w2j
wkj
e2
ek
e1
saida
t
Si wij
saidadesejada
sj(net)
Neurnio j
Camada desaida
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
19/23
54
21 .( )2 k k
E t s=
( ). kk k
kj j
sEt s
s s
=
(3.23)
Usando a regra da cadeia na Equao (3.23), pode-se estabelecer que:
( ). . ( ). ( ).k kk k k k k jk k kj k j
s net Et s t s net
s net s
= =
( . )k jk
kj
Ee
s
=
(3.24)
O valor de je para o neurnio j na camada escondida ento
( . ). ( )j k jk jk
e e net = (3.25)
3.4.3. Parmetros de Aprendizado
O algoritmo backpropagation faz a aprendizagem da rede atravs de um
processo iterativo de ajuste dos pesos, seguindo uma trajetria de movimento
sobre a superfcie de erro no espao de pesos sinpticos, a qual, a cada instante,
segue a direo de minimizao de erro, podendo chegar ao mnimo global.
Alguns parmetros que influenciam o desempenho do processo de aprendizagem
so Taxa de Aprendizadoe Termo de Momentum.
3.4.3.1. Taxa de Aprendizado ()
A taxa de aprendizado () um parmetro constante no intervalo [0,1] que
interfere na convergncia do processo de aprendizado. A influncia deste
parmetro esta relacionada mudana nos pesos sinpticos. Assim, uma taxa de
aprendizado muito pequena implica numa trajetria suave e pequenas mudanas
nos pesos a cada iterao. No entanto, requer-se um tempo de treinamento muito
longo, e dependendo da inicializao dos pesos possvel cair no problema de
mnimo local, pois a ANN nesse caso no consegue calcular uma mudana nos
pesos que faa a rede sair do mnimo local. Na Figura 3.13 apresenta-se o efeito
produzido com uma pequena.
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
20/23
55
Figura 3.13. Taxa de aprendizado pequeno, com problema do mnimo local.
Entretanto, se a taxa de aprendizado for muito grande (perto de 1), ocorre
uma maior mudana nos pesos, aumentando a velocidade do aprendizado, o que
pode levar a oscilaes em torno do mnimo global. Assim, que a taxa de
aprendizado no deve ser muito pequena, nem muito grande. Na Figura 3.14,
mostra-se o efeito causado por uma taxa de aprendizado muito grande [19].
Figura 3.14. Taxa de aprendizado grande, com problema de oscilaes.
O ideal seria utilizar a maior taxa de aprendizado possvel que no levasse a
uma oscilao, obtendo o aprendizado mais rpido. De acordo com BEALE [20],
a taxa de aprendizado () deveria ser decrementada progressivamente, de modo
que o gradiente descendente pelo qual so atualizados os pesos possa encontrar
uma melhor soluo. Desta forma, utiliza-se uma taxa de aprendizado ( )
MnimoGlobal
MnimoLocal
erro
Pesoswij
erromnimo
Grandes mudanaslevam a oscilaes
Aprendizado rpido
MnimoGlobal
MnimoLocal
erro
Pesos wij
errominimo
Pequenas mudanas levama um aprendizado lento
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
21/23
56
adaptativa, a qual inicia com um valor grande, e que decresce exponencialmente
medida que o treinamento evolui.
3.4.3.2. Termo de Momentum ( )
Uma maneira de aumentar a taxa de aprendizado sem levar oscilao
durante a execuo do algoritmo backpropagation est na modificao da
Equao (3.17) para incluir o termo momentum, o qual determina as mudanas
passadas dos pesos. Deste modo, o termo de momentum leva em considerao o
efeito das mudanas anteriores dos pesos na direo do movimento atual dos
pesos. A mudana dos pesos tomando em considerao o efeito do termo de
momentum determinada por1 . . .t tij i j ijs e
+ = + (3.26)
onde, 1tij+ e tij so a variao do peso do neurnio j em relao conexo i
no instante 1t+ e trespectivamente, a taxa de aprendizado, e o termo de
momentum. Na Figura 3.15, apresenta-se o efeito do termo de momentum na
aprendizagem da rede [14], [19].
Figura 3.15. Aprendizado com Termo de Momentum.
(a) Pequeno
Aprendizado sem Termo Momento
supe
rfcie
deErr
o
supe
rfcie
deErr
o
(b) Grande
suave e lentoOscilaese rpido
(a) Pequeno
Aprendizado com Termo Momento
supe
rfcie
deErr
o
supe
rfcie
deErr
o
(b) Grande
Aprendizadorpido
Aprendizadorpido
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
22/23
57
3.5.Modelagem da ANN
Alguns fatores importantes para a modelagem da ANN que influem no
desempenho das redes so:
Seleo de variveis
Na maioria das aplicaes, as bases de dados contm um grande nmero
de atributos ou variveis, os quais so introduzidos com o objetivo de obter um
melhor desempenho. Entretanto, na maioria dos casos, muito destes dados so
redundantes ou irrelevantes. Portanto, o problema est na seleo das
caractersticas ou variveis mais relevantes dentre todos os atributos da base de
dados. Neste sentido, alguns dos algoritmos que possuem a capacidade de escolhade variveis em um menor tempo e custo computacional so a correlao cruzada,
a auto-correlao, o estimador por mnimos quadrados (LSM), e SIE (Single Input
Effectiveness).
Limpeza de dados
Geralmente, na etapa de obteno da base de dados, suas transformaes
podem levar a conter valores incorretos, ausncia de dados, e inconsistncias.
Deste modo, a limpeza de dados importante no desempenho do modelo. Esteproblema superado pelo conhecimento dos limites dos dados, a identificao de
outliers baseado na visualizao, e o uso de informaes estatsticas para
estabelecer como neutros os dados ausentes ou incorretos.
Representao das variveis
Dependendo do tipo de dado e do comportamento, as variveis podem
ser codificadas para obter um melhor aprendizado. Assim, os dados podem ser
representados como discretos ou contnuos. A representao discreta transformaos dados em uma representao.
Normalizao
A normalizao torna-se importante quando existem dados muito
dispersos no domnio da varivel. Nesses casos, valores muito altos podem saturar
a funo de ativao. Assim, uma maneira fcil de normalizar os dados consiste
em somar todas as caractersticas e dividir pela soma. Outros tipos de
normalizao consistem na diviso pela faixa mxima de valores, ou tambm
subtrair do valor mdio e dividir pelo desvio padro.
PUC-Rio-CertificaoDigitalN0721406/CA
7/24/2019 Redes Neurais PUC
23/23
58
Generalizao
Um aspecto bastante importante ao longo do processo de treinamento
garantir que a rede tenha uma boa generalizao. O mtodo mais comum de se
garantir uma boa generalizao consiste em reservar uma parte da base de dados
para validar a generalizao.
3.6. Vantagens e Desvantagens das ANN
Algumas das principais vantagens e desvantagens, apresentada em aplicaes
praticas, pelasANN so as seguintes:
3.6.1.Vantagens das ANN
A capacidade de lidar com informaes incompletas e ruidosas,
verificando-se a capacidade da rede em fornecer uma sada satisfatria.
No necessria informao sobre o ambiente a priori, pois o
aprendizado feito atravs da apresentao de padres rede.
Processamento paralelo.
Habilidade de aprender por meio de exemplos, e a capacidade de
generalizao a partir dos padres de treinamento, fornecendo sadas
satisfatrias a padres novos que no foram vistos durante o treinamento.
3.6.2.Desvantagens das ANN
A dificuldade de justificar o comportamento das ANN em determinadas
situaes, isto pois so consideradas como caixas pretas, nas quais no
se sabe por que a rede chega a um determinado resultado [21]. Nas ANN que utilizam o algoritmo de backpropagation o tempo de
treinamento tende a ser muito longo. Esta uma limitao para
arquiteturas muito grande ou grande quantidade de dados de treinamento.
A dificuldade em determinar a arquitetura ideal daANN, de modo que ela
seja grande o suficiente para conseguir resolver o problema, e ao mesmo
tempo pequeno o suficiente para apresentar um treinamento rpido [22].
Dependendo do tipo de aprendizagem, outra desvantagem nas ANN anecessidade de ter uma base de dados para o processo de treinamento.
PUC-Rio-CertificaoDigitalN0721406/CA
Recommended