



Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Artigo sobre BAckpropagation
Tipologia: Notas de estudo
1 / 6
Esta página não é visível na pré-visualização
Não perca as partes importantes!




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
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
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.