Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Artigo de BackPropagation, Notas de estudo de Mecatrônica

Artigo sobre BAckpropagation

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 18/04/2008

marlon-araujo-de-oliveira-11
marlon-araujo-de-oliveira-11 🇧🇷

1 documento

1 / 6

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
An´
alise de RNAs como Aproximadores Universais
atrav´
es do Algoritmo Back-Propagation
Antonio Carlos Caldeira Pimenta, mestrando em Engenharia El´
etrica pela
Universidade Federal da Bahia
Resumo Este artigo apresenta a construc¸˜
ao de uma rede
neural artificial do tipo multi-layer feedfoward perceptron e a
utilizac¸˜
ao da RNA como um aproximador universal assim como a
an´
alise da camada escondida atrav´
es de simulac¸ ˜
oes.
Abstract This short presents a bulding of the multi-layer feed-
forward perceptron class of artificial neural networks (ANN),
making use of the ANN as an universal function approximation
as well as the analisis of the hidden layer through simulations.
Palavras Chave Redes Neurais Artificiais (RNA), Back-
Propagation, Aproximador Universal, Perceptron, LMS, Regra do
Delta
I. IN TRODUC¸˜
AO
As redes neurais s˜
ao utilizadas em muitos meios, como, por
exemplo, em sistemas rob´
oticos, mercado financeiro, astrono-
mia, f´
ısica, etc. Desde de meados do s´
eculo XX, a teoria sobre
as RNAs vem sendo desenvolvida; por´
em foi com o advento
computacional que ela cresceu com maior rapidez. Rosenblatt,
1958 [3] e [4], propˆ
os o perceptron original, onde atrav´
es de
amostras entrada-sa´
ıda ele aprenderia uma dada transformac¸˜
ao
(1,1)N(1,1). Rosenblatt comec¸ ou j´
a em 1958 a utilizar
redes neurais como aproximadores, sendo, no caso espec´
ıfico,
para a modelagem de um sistema que envolvia a retina.
O perceptron precisava de uma importante generalizac¸˜
ao
para o treinamento de seu algoritmo. Com isso, em 1960,
Widrow e Hoff [8] propuseram a ”ADApttive LInear NEu-
ron”(ADALINE) ou LMS (least mean square) ou tamb´
em co-
nhecida como regra delta.
Esse perceptron era constitu´
ıdo de N elementos na entrada
e um elemento na sa´
ıda. Perceptrons representam uma func¸˜
ao
discriminante linear, n˜
ao podendo aproximar problemas sim-
ples n˜
ao lineares como uma func¸˜
ao XOR.´
E dito que este tipo
de rede neural n˜
ao ´
e capaz de aprender a classificar func¸˜
oes n˜
ao
linearmente separ´
aveis. Em 1969, Minsky e Papert [7] mostrou
que uma rede de trˆ
es camadas pode superar muitas restric¸˜
oes,
mas n˜
ao apresentou uma soluc¸˜
ao como ajustar os pesos nes-
sas unidades escondidadas. J´
a se sabia, no entanto, que o per-
ceptron de trˆ
es camadas (camada de entrada, camada escondi-
da e camada de sa´
ıda) j´
a era tamb´
em n˜
ao linear. Rumelhart,
Hinton e Williams, em 1986 [5]e [6], apresentaram um trabal-
ho respondendo esta quest˜
ao. A id´
eia central deste trabalho
era que os erros da camada escondida seriam determinados por
uma retro-propagac¸˜
ao dos erros da camada de sa´
ıda. Por es-
ta raz˜
ao, o m´
etodo ficou conhecido como ”back-propagation
learning rule”, o que n˜
ao deixa de ser uma generalizac¸˜
ao do
m´
etodo da regra do delta, de Widrow e Hoff, feito em 1960,
para perceptrons com v´
arias camadas.
Embora o ”back propagation”possa ser aplicado a redes
com muitas camadas escondidas, foi mostrado (Hornik, Stinch-
combe e White [9],1989; Funahashi [10],1989; Cybenko
[11],1989; Hartman,Keeler e Kowalski [12],1990), que ape-
nas uma camada escondida ´
e suficiente para aproximar func¸˜
oes
com precis˜
ao arbitr´
aria, utilizando-se func¸˜
oes de ativac¸˜
ao n˜
ao-
lineares nas unidades escondidas.
Este artigo visa a construc¸˜
ao de uma rede neural utilizando
o algoritmo do back propagation [13]. Atrav´
es deste algoritmo,
com simulac¸˜
oes, procurou se mostrar a propriedade de aproxi-
mador universal. Para isso, foi utilizado o Matlab 6.0.
II. FUNC¸˜
OES D E ATIVAC¸˜
AO
As func¸˜
oes de ativac¸˜
ao utilizadas no algoritmo s˜
ao duas, ou
seja, ou utiliza uma, ou outra, neste caso.
A func¸˜
ao log´
ıstica, tamb´
em conhecida como sigmoidal,
ϕvj(n) = 1
1 + eavj(n)a > 0 < vj(n)<(1)
ϕ0(vj(n)) = ayj(n)[1 yj(n)] (2)
A func¸˜
ao tangente hiperb´
olica,
ϕ(vj(n)) = atanh(bvj(n)) (a, b)>0(3)
ϕ0(vj(n)) = b
a[ayj(n)][a+yj(n)] (4)
III. ALGORITMO BACK-PRO PAGATION
H´
a v´
arios m´
etodos de aprendizagem, por´
em o m´
etodo
utilizado para construc¸˜
ao deste perceptron foi o ”back-
propagation”. Podemos encontrar a func¸˜
ao energia dos erros,
chamada de func¸˜
ao objetivo (5). Cinclue todos os neurˆ
onios
na camada de sa´
ıda.
J(n) = 1
2X
j²C
e2
j(n)(5)
O objetivo ´
e encontrar os valores de todos os pesos que min-
imizam a func¸˜
ao J(n), sendo usado para isso o m´
etodo do gra-
diente decrescente. Poderia ser usado outros m´
etodos, como
o m´
etodo de Newton ou o m´
etodo de Gauss-Newton. Logo, a
id´
eia ´
e fazer a mudanc¸a do peso proporcional a derivada nega-
tiva de cada erro em func¸˜
ao de cada peso.
Como o algoritmo consta de trˆ
es camadas, a camada de en-
trada, a camada escondida e a camada de sa´
ıda, vamos fazer por
partes: primeiro, analisando o treinamento da camada de sa´
ıda;
depois, o da camada escondida.
A estrutura de treinamento da RNA ´
e mostrada na figura 1.
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Artigo de BackPropagation e outras Notas de estudo em PDF para Mecatrônica, somente na Docsity!

An´alise de RNAs como Aproximadores Universais

atrav´es do Algoritmo Back-Propagation

Antonio Carlos Caldeira Pimenta, mestrando em Engenharia El´etrica pela

Universidade Federal da Bahia

Resumo — Este artigo apresenta a construc¸ ˜ao de uma rede neural artificial do tipo multi-layer feedfoward perceptron e a utilizac¸ ˜ao da RNA como um aproximador universal assim como a an´alise da camada escondida atrav´es de simulac¸ ˜oes.

Abstract – This short presents a bulding of the multi-layer feed- forward perceptron class of artificial neural networks (ANN), making use of the ANN as an universal function approximation as well as the analisis of the hidden layer through simulations.

Palavras Chave — Redes Neurais Artificiais (RNA), Back- Propagation, Aproximador Universal, Perceptron, LMS, Regra do Delta

I. INTRODUC¸ ˜AO

As redes neurais s˜ao utilizadas em muitos meios, como, por exemplo, em sistemas rob´oticos, mercado financeiro, astrono- mia, f´ısica, etc. Desde de meados do s´eculo XX, a teoria sobre as RNAs vem sendo desenvolvida; por´em foi com o advento computacional que ela cresceu com maior rapidez. Rosenblatt, 1958 [3] e [4], propˆos o perceptron original, onde atrav´es de amostras entrada-sa´ıda ele aprenderia uma dada transformac¸ ˜ao (− 1 , 1)N^ → (− 1 , 1). Rosenblatt comec¸ou j´a em 1958 a utilizar redes neurais como aproximadores, sendo, no caso espec´ıfico, para a modelagem de um sistema que envolvia a retina. O perceptron precisava de uma importante generalizac¸ ˜ao para o treinamento de seu algoritmo. Com isso, em 1960, Widrow e Hoff [8] propuseram a ”ADApttive LInear NEu- ron”(ADALINE) ou LMS (least mean square) ou tamb´em co- nhecida como regra delta. Esse perceptron era constitu´ıdo de N elementos na entrada e um elemento na sa´ıda. Perceptrons representam uma func¸ ˜ao discriminante linear, n˜ao podendo aproximar problemas sim- ples n˜ao lineares como uma func¸ ˜ao XOR. ´E dito que este tipo de rede neural n˜ao ´e capaz de aprender a classificar func¸ ˜oes n˜ao linearmente separ´aveis. Em 1969, Minsky e Papert [7] mostrou que uma rede de trˆes camadas pode superar muitas restric¸ ˜oes, mas n˜ao apresentou uma soluc¸ ˜ao como ajustar os pesos nes- sas unidades escondidadas. J´a se sabia, no entanto, que o per- ceptron de trˆes camadas (camada de entrada, camada escondi- da e camada de sa´ıda) j´a era tamb´em n˜ao linear. Rumelhart, Hinton e Williams, em 1986 [5]e [6], apresentaram um trabal- ho respondendo esta quest˜ao. A id´eia central deste trabalho era que os erros da camada escondida seriam determinados por uma retro-propagac¸ ˜ao dos erros da camada de sa´ıda. Por es- ta raz˜ao, o m´etodo ficou conhecido como ”back-propagation learning rule”, o que n˜ao deixa de ser uma generalizac¸ ˜ao do m´etodo da regra do delta, de Widrow e Hoff, feito em 1960, para perceptrons com v´arias camadas.

Embora o ”back propagation”possa ser aplicado a redes com muitas camadas escondidas, foi mostrado (Hornik, Stinch- combe e White [9],1989; Funahashi [10],1989; Cybenko [11],1989; Hartman,Keeler e Kowalski [12],1990), que ape- nas uma camada escondida ´e suficiente para aproximar func¸ ˜oes com precis˜ao arbitr´aria, utilizando-se func¸ ˜oes de ativac¸ ˜ao n˜ao- lineares nas unidades escondidas. Este artigo visa a construc¸ ˜ao de uma rede neural utilizando o algoritmo do back propagation [13]. Atrav´es deste algoritmo, com simulac¸ ˜oes, procurou se mostrar a propriedade de aproxi- mador universal. Para isso, foi utilizado o Matlab 6. 0.

II. FUNC¸ ˜OES DE ATIVAC¸ ˜AO As func¸ ˜oes de ativac¸ ˜ao utilizadas no algoritmo s˜ao duas, ou seja, ou utiliza uma, ou outra, neste caso. A func¸ ˜ao log´ıstica, tamb´em conhecida como sigmoidal,

ϕvj (n) =

1 + e−avj^ (n)^

∴ a > 0 − ∞ < vj (n) < ∞ (1)

ϕ′(vj (n)) = ayj (n)[1 − yj (n)] (2) A func¸ ˜ao tangente hiperb´olica,

ϕ(vj (n)) = a tanh(bvj (n)) ∴ (a, b) > 0 (3)

ϕ′(vj (n)) =

b a

[a − yj (n)][a + yj (n)] (4)

III. ALGORITMO BACK-PROPAGATION H´a v´arios m´etodos de aprendizagem, por´em o m´etodo utilizado para construc¸ ˜ao deste perceptron foi o ”back- propagation”. Podemos encontrar a func¸ ˜ao energia dos erros, chamada de func¸ ˜ao objetivo (5). C inclue todos os neurˆonios na camada de sa´ıda.

J(n) =

j≤C

e^2 j (n) (5)

O objetivo ´e encontrar os valores de todos os pesos que min- imizam a func¸ ˜ao J(n), sendo usado para isso o m´etodo do gra- diente decrescente. Poderia ser usado outros m´etodos, como o m´etodo de Newton ou o m´etodo de Gauss-Newton. Logo, a id´eia ´e fazer a mudanc¸a do peso proporcional a derivada nega- tiva de cada erro em func¸ ˜ao de cada peso. Como o algoritmo consta de trˆes camadas, a camada de en- trada, a camada escondida e a camada de sa´ıda, vamos fazer por partes: primeiro, analisando o treinamento da camada de sa´ıda; depois, o da camada escondida. A estrutura de treinamento da RNA ´e mostrada na figura 1.

Figura 1: Fluxograma de Aprendizagem do Back Propagation

A. Camada de Sa´ıda

Observando o neurˆonio de sa´ıda da figura 1, obtˆem-se as ex- press˜oes (6) e (7). ϕ(.) e a func´ ¸ ˜ao de ativac¸ ˜ao.

vj (n) =

∑^ i

0

wji(n)yi(n) (6)

yj (n) = ϕj (vj (n)) (7) Pela regra da cadeia,

∂J(n) ∂wij

∂J(n) ∂ej

∂ej ∂yj (n)

∂yj (n) ∂vj (n)

∂vj (n) ∂wji(n)

∂J(n) ∂wij (n)

= −ej (n)ϕ′ j (wj (n))yi(n) (9)

Pela regra do delta,

4 wji(n) = −n

∂J(n) ∂wji(n)

Podemos definir 4 wij (n) = −ηδj (n)yi(n), onde δj (n) e o´ gradiente local. Logo,

δj (n) = ej (n)ϕ′ j (vj (n)) = − ∂J(n) ∂vj (n)

B. Camada Escondida

Observando a camada escondida da figura 1.

δi(n) = −

∂J(n) ∂vi(n)

∂J(n) ∂yi(n)

ϕ′ i(vi(n)) (11)

Sendo i o neurˆonio da camada escondida e j o neurˆonio da camada de sa´ıda,

J(n) =

j≤C

e^2 j (n) (12)

vi =

∑^ n

0

winxn (13)

Logo,

∂J(n) ∂yi(n)

j

ej

∂ej (n) ∂yi(n)

j

ej (n)

∂ej (n) ∂vj (n)

∂vj (n) ∂yi(n)

ej = dj (n) − yj (n) = dj (n) − ϕj (vj (n)) (15) Como,

∂ej ∂vj (n)

= −ϕ′ j (vj (n)) (16)

∂vj (n) ∂yi(n)

= wji(n) (17)

Substituindo as equac¸ ˜oes (16) e (17) em (14), obt´em-se:

∂J(n) ∂yi(n)

j

ej ϕ′ j (vj (n))wji = −

j

δj (n)wji(n) (18)

Logo,

δi(n) = ϕ′ i(vi(n)) ·

j

δj (n)wji(n) (19)

Utilizando-se da regra do delta,

∆win(n) = ηδi(n)xn(n) (20) Uma an´alise matricial do algoritmo do Back-Propagation pode ser feita [1]. Os dados nos treinamentos s˜ao normalizados, tanto na entra- da, como na sa´ıda, pois se melhora a convergˆencia [14]. Poderia ser utilizado o momento, um atraso, que evita uma oscilac¸ ˜ao na convergˆencia [15].

Figura 4: Aproximac¸ ˜ao da sin(x), n=

Figura 5: Aproximac¸ ˜ao da sin(x), n=

Figura 6: Aproximac¸ ˜ao da sin(x), n=

Figura 7: Aproximac¸ ˜ao da sin(x), n=

Figura 9: Erros de aproximac¸ ˜ao de sin(x) para n=6,7,8 e 9

Figura 8: Ajuste de Curva atrav´es da RNA

A fim de mostrar a caracter´ıstica de aproximador de func¸ ˜oes, simulou-se o algoritmo constru´ıdo com as func¸ ˜oes: { e−x sin(x)

Com a func¸ ˜ao e−x, utilzou-se como amostra de entrada x no intervalo [1; 10] com passo de 0. 01. Os dados da amostra de sa´ıda s˜ao obtidos atrav´es do pr´oprio valor da func¸ ˜ao com a substituic¸ ˜ao do respectivo valor de x. Os gr´aficos das figuras 2 e 3 demonstram a aproximac¸ ˜ao da rede em relac¸ ˜ao a func¸ ˜ao e seu respectivo erro. Para essa simulac¸ ˜ao, utilizou-se 8 neurˆonios na camada escondida, um passo de 0. 05 e a func¸ ˜ao objetiva tinha que ser menor que

  1. 0 e^10. Com a func¸ ˜ao seno, fez-se o mesmo, com passo de 0. 05 , amostra de entrada x no intervalo[− 0 .25; 1.8], com passo de
  2. 10 −^4. O passo da RNA foi 0. 05 , a func¸ ˜ao objetivo foi de
  3. 0 e−^13. A amostra de sa´ıda foi obtida igual ao caso anterior. Colocou-se 7 neurˆonios na camada escondida. O gr´afico da figura 4 mostra a RNA fazendo uma aproximac¸ ˜ao da func¸ ˜ao seno no devido intervalo. O respecti- vo gr´afico do erro ´e (grafico do erro seno). A RNA, com um conjunto de amostras entrada-sa´ıda que n˜ao se constitu´ı numa func¸ ˜ao, faz um ajuste da curva. Como exem- plo, foi utilizado os dados obtidos sobre coelhos relacionando idade e peso, conforme a tabela abaixo. Observa-se a curva de ajuste. Doze ( 12 ) neurˆonios forma usados na camada escondida. Com o objetivo de se analisar qual o melhor n´umero de neurˆonios na camada escondida para a func¸ ˜ao seno no intervalo

TABELA II RELAC¸ ˜AO PESO-IDADE DE UMA POPULAC¸ ˜AO DE COELHOS

Peso(mg) Idade(dias) Peso(mg) Idade(dias) Peso(mg) Idade(dias) Peso(mg) Idade(dias) 21.66 15 94.6 75 174.18 218 203.23 338 22.75 15 92.5 82 173.03 218 188.38 347 22.3 15 105 85 173.54 219 189 354 31.25 18 101.7 91 178.86 224 195.31 357 44.79 28 102.9 91 177.68 225 202.63 375 40.55 29 110 97 173.73 227 224.82 394 50.25 37 104.3 98 159.98 232 203.3 513 46.88 37 134.9 125 161.29 232 209.7 535 52.03 44 130.68 142 187.07 237 233.9 554 63.47 50 140.58 142 176.13 246 234.7 591 41.13 50 155.3 147 183.4 258 244.3 698 81 60 152.2 147 186.26 276 231 660 73.09 61 144.5 150 189.66 285 242.4 705 79.09 64 142.15 159 186.09 300 230.77 723 79.51 65 139.81 165 186.7 301 242.57 756 65.31 65 153.22 183 186.8 305 232.12 768 71.9 72 145.72 192 195.1 312 246.7 860 86.1 75 161.1 195 216.41 317

estudado, diversas simulac¸ ˜oes foram feitas apenas variando-se o n´umero de neurˆonios nessa camada intermedi´aria. Observou- se para os respectivos n´umeros 6 , 8 e 9. Com a curva dos erros dos diferentes n´umeros de neurˆonios na camada intermedi´aria trac¸ada, observa-se que o ponto ´otimo est´a entre se utilizar 7 ou 8 neurˆonios. Com n´umeros difer- entes desses, constata-se o que foi visto na secc¸ ˜ao n´umero de amostras.

VII. CONCLUS OES˜ O Algoritmo do Back-Propagation foi apresentado e serviu como ferramenta para, atrav´es da simulac¸ ˜ao, demonstrar a propriedade de aproximador, tanto ajustando curvas a uma distribuic¸ ˜ao de pontos como aproximando func¸ ˜oes. Verificou- se como o n´umero de neurˆonios na camada intermedi´aria afeta a RNA. As RNAs s˜ao utilizadas em sistemas on line. Para isso, e muito importante definir o n´´ umero de neurˆonios na cama- da escondida, como tamb´em o n´umero de amostras a fim de representar bem o modelo. A convergˆencia deve ser r´apida (utilizac¸ ˜ao do ”momento”[15] ´e fundamental) visto que quan- to menor o tempo gasto em interac¸ ˜oes, maior a eficiˆencia do sistema. Pode-se observar que as redes neurais tem contribuic¸ ˜ao em controle robusto e/ou adaptativo, principalmente para sistemas n˜ao lineares.

VIII. AP ˆENDICE Algoritmo Back-Propagation feito no Matlab 6.0 (figura 10).

REFER ENCIASˆ [1] J.J.F. Cerqueira, An´alise de uma Classe de Neurˆonios Artificiais para Aplicac¸ ˜oes em Sistemas Rob´oticos. Master’s Thesis, Faculdade de Enge- nharia El´etrica, Universidade Estadual de Campinas, SP, Brasil, Outubro de 1996.

[2] L.M. Brasil, Proposta de Arquitetura para Sistema Especialista H´ıbrido e a Correspondente Metodologia de Aquisic¸ ˜ao de Conhecimento. Ph.D. Thesis, UFSC,Florian´opolis, Brasil, 1999. [3] Rosenblatt F.,”The Perceptron: A Probabilistic model for information storage and organization in the brain,” Psychological Review , vol.65, pp. 386-408, 1958. [4] Rosenblatt F.,”Perceptron simulation experiments,” Proceedings of the In- stitute of Radio Engineers , vol.48, pp. 301-309, 1960. [5] Rumelhart,D.E, G.E Hinton e R.J. Williams, ”Learning representations of back-propagation errors,” Nature(London) , vol.323, pp. 533-536, 1986. [6] Rumelhart,D.E, G.E Hinton e R.J. Williams, ”Learning internal repre- sentations by error propagation, in D.E. Rumelhart and J.L. McCleland, vol.1, Chapter 8, Cambridge, MA: MIT Press, 1986. [7] Minsky, M.L e S.A. Papert, ”Perceptrons,” Cambridge, MA: MIT Press,

[8] Widrow, B. e M.E Hoff, Jr., ”Adaptative switching circuits,” IRE WESCON Convetion Record , pp. 96-104, 1960. [9] Hornik, K., M. Stinchcombe e H. White, ”Multilayer feedforward net- works are universal approximators,” Neural Networks , vol.2, pp. 359-366,

[10] Funahashi, K., ”On the approximate realization of continuous mappings by neural networks,” Neural Networks , vol.2, pp. 183-192, 1989. [11] Cybenko, G., ”Approximation by superpositions of a sigmoidal func- tion,” Mathematics of Control, Signals and Systems , vol.2, pp. 303-314,

[12] Hartman, E.J, J.D Keeler e J.M. Kowalski, ”Layered neural networks with Gaussian hidden units as universal approximators,” Neural Computation , vol.2, pp. 210-215, 1990. [13] Simon Haykin, Neural Networks: a Comprehensive Foundation. Prentice Hall, 1999. [14] David G. Luenberger, Linear and Nonlinear Programming. Addison- Wesley Publishing Company, 1989. [15] J.J.F. Cerqueira, Identificac¸ ˜ao de Sistemas Dinˆamicos utilizando Re- des Neurais Artificiais: Uma Aplicac¸ ˜ao para Manipuladores Rob´oticos. Ph.D. Thesis, Faculdade de Engenharia El´etrica, Universidade Estadual de Campinas, SP, Brasil, Agosto de 2001.