Buscar

Aula 4_RNA_e_Fuzzy

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Universidade Estadual do Maranhão - UEMA
Curso de Engenharia da Computação
Disciplina: Redes Neurais e Lógica Fuzzy
AULA 4
Prof. MSc Sidney Cerqueira
email:cerqueirasidney@gmail.com
3 de maio de 2014
1 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Sumário
1 Perceptrons multicamadas
2 O Backpropagation
3 Algoritmo
4 Aplicação
2 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Perceptrons multicamadas
3 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Perceptrons multicamadas
São redes caracterizadas pela presença de pelo menos uma camada
intermediária (escondida) de neurônios, situada entre a camada de
entrada e a respectiva camada neural de sáıda.
Possibilidades de aplicações:
4 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Perceptrons multicamadas
São redes caracterizadas pela presença de pelo menos uma camada
intermediária (escondida) de neurônios, situada entre a camada de
entrada e a respectiva camada neural de sáıda.
Possibilidades de aplicações:
Aproximação universal de funções;
5 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Perceptrons multicamadas
São redes caracterizadas pela presença de pelo menos uma camada
intermediária (escondida) de neurônios, situada entre a camada de
entrada e a respectiva camada neural de sáıda.
Possibilidades de aplicações:
Aproximação universal de funções;
Reconhecimento de padrões;
6 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Perceptrons multicamadas
São redes caracterizadas pela presença de pelo menos uma camada
intermediária (escondida) de neurônios, situada entre a camada de
entrada e a respectiva camada neural de sáıda.
Possibilidades de aplicações:
Aproximação universal de funções;
Reconhecimento de padrões;
Identificação e controle de processos;
7 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Perceptrons multicamadas
São redes caracterizadas pela presença de pelo menos uma camada
intermediária (escondida) de neurônios, situada entre a camada de
entrada e a respectiva camada neural de sáıda.
Possibilidades de aplicações:
Aproximação universal de funções;
Reconhecimento de padrões;
Identificação e controle de processos;
Previsão de séries temporais;
8 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Perceptrons multicamadas
São redes caracterizadas pela presença de pelo menos uma camada
intermediária (escondida) de neurônios, situada entre a camada de
entrada e a respectiva camada neural de sáıda.
Possibilidades de aplicações:
Aproximação universal de funções;
Reconhecimento de padrões;
Identificação e controle de processos;
Previsão de séries temporais;
Otimização de sistemas.
9 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Perceptron multicamadas cont...
A arquitetura é feedforward cujo o treinamento é de forma
supervisionada.
O algoritmo de aprendizagem é conhecido como backpropagation
ou retropropagação de erro.
10 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Processo de treinamento do PMC
O processo de treinamento é feito com o algoritmo backpropagation,
que também é conhecido como regra Delta Generalizada, feito em
aplicações sucessivas de duas fases. Uma fase forward onde as entra-
das são propagadas adiante até a sáıda, e outra fase backward onde
são ajustados os pesos sinápticos e limiares em todos os neurônios.
11 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Derivação do algoritmo backprogation
Variáveis que norteiam a derivação do algoritmo
12 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Cada um dos neurônios j pertencentes a uma camada L da figura
anterior, podem ser imaginados como figura abaixo, onde g(.)
deve ser cont́ınua e diferenciável em todo seu doḿınio.
W
(L)
ji são matrizes de pesos cujos elementos denotam o valor
do peso sináptico conectando o j-ésimo neurônio da camada
de sáıda ao i-ésimo neurônio da camada L ao i-ésimo neurônio
da camada anterior (L-1).
13 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
I
(L)
ji são vetores cujos elementos denotam a entrada ponderada
em relação ao j-ésimo neurônio da camada L, os quais são
definidos por:
I
(1)
j =
n∑
i=0
W
(1)
ji · xi ⇔ I
(1)
j = W
(1)
j,0 · x0 +W
(1)
j,1 · x1 + ...+W
(1)
j,n · xn
I
(2)
j =
n1∑
i=0
W
(2)
ji · Y
(1)
i ⇔ I
(2)
j = W
(2)
j,0 · Y
(1)
0 +W
(2)
j,1 · Y
(1)
1 + ...+W
(2)
j,n1
· Y
(1)
n1
I
(3)
j =
n2∑
i=0
W
(3)
ji · Y
(2)
i ⇔ I
(3)
j = W
(3)
j,0 · Y
(2)
0 +W
(3)
j,1 · Y
(2)
1 + ...+W
(3)
j,n2
· Y
(2)
n2
Y
(L)
j são vetores cujos elementos denotam a sáıda do j-ésimo neurônio
em relação à camada L, quais são definidos por:
Y
(1)
j = g(I
(1)
j ), Y
(2)
j = g(I
(2)
j ), Y
(3)
j = g(I
(3)
j )
14 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Exemplo
Duas entradas (n=2), três neurônios na primeira camada es-
condida (n1 = 3), dois neurônios na segunda camada escon-
dida (n2 = 2) e um neurônio de sáıda (n3 = 1). Com função
de ativação tangente hiperbólica para todos os neurônios.
15 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Exemplo
As matrizes de pesos são dadas por :
W
(1)
ji =


0, 2 0, 4 0, 5
0, 3 0, 6 0, 7
0, 4 0, 8 0, 3

 ;
W
(2)
ji =
[
−0, 7 0, 6 0, 2 0, 7
−0, 3 0, 7 0, 2 0, 8
]
;
W
(3)
ji =
[
0, 1 0, 8 0, 5
]
16 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Exemplo
Considerando as entradas por x1 = 0, 3 e x2 = 0, 7, os vetores I
(1)
j
e Y
(1)
j seriam então representados por:
I
(1)
j =



I
(1)
1
I
(1)
2
I
(1)
3


 =



W
(1)
1,0 · x0 +W
(1)
1,1 · x1 +W
(1)
1,2 · x2
W
(1)
2,0 · x0 +W
(1)
2,1 · x1 +W
(1)
2,2 · x2
W
(1)
3,0 · x0 +W
(1)
3,1 · x1 +W
(1)
3,2 · x2



=


0, 2 · (−1) + 0, 4 · 0, 3 + 0, 5 · 0, 7
0, 3 · (−1) + 0, 6 · 0, 3 + 0, 7 · 0, 7
0, 4 · (−1) + 0, 8 · 0, 3 + 0, 3 · 0, 7

 =


0, 27
0, 37
0, 05


17 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Y
(1)
j =



Y
(1)
1
Y
(1)
2
Y
(1)
3


 =





g
(
I
(1)
1
)
g
(
I
(1)
2
)
g
(
I
(1)
3
)





=


tanh(0, 27)
tanh(0, 37)
tanh(0, 05)

 =


0, 26
0, 35
0, 05


Y
(1)
0 = −1 → Y
(1)
j =





Y
(1)
0
Y
(1)
1
Y
(1)
2
Y
(1)
3





=




−1
0, 26
0, 35
0, 05




onde os argumentos usados na função tangente hiperbólica estão
em radianos.
18 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Os vetores da segunda camada neural seriam representados por:
W
(2)
1,0 · Y
(1)
0 +W
(2)
1,1 · Y
(1)
1 +W
(2)
1,2 · Y
(1)
2 +W
(2)
1,3 · Y
(1)
3
Y
(2)
j =
[
Y
(2)
1
Y
(2)
2
]
=
[
g(I
(2)
1 )
g(I
(2)
2 )
]
=
[
tanh(0, 96)
tanh(0, 59)
]
=
[
0, 74
0, 53
]
Adicionando-se o bias fica:
Y
(2)
0 = −1 → Y
(2)
j =



Y
(2)
0
Y
(2)
1
Y
(2)
2


 =


−1
0, 74
0, 53


19 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Finalmente a terceira camada é dada por:
I
(3)
j =
[
I
(3)
1
]
=
[
W
(3)
1,0 · Y
(2)
0 +W
(3)
1,1 · Y
(2)
1 +W
(3)
1,2 · Y
(2)
2
]
= [0, 76]
Y
(3)
j = [0, 76] = [g(I
(3)
1 )] = [tanh(0, 76)] = [0, 64]
Nesta última expressão, dispensa-se a inserção do termo Y
(3)
0 = −1,
pois já se trata da última camada neural, sendo que o valor Y
(3)
1 =
−1 é a própria sáıda y1 produzida pela rede.
20 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Assim, o próximo passo para a derivação do algoritmo backpropaga-
tion é definir a função representativa do erro de aproximação,que
irá medir o desvio entre as respostas produzidas pelos neurônios de
sáıda e valores desejados.
Considerando-se um k-ésima amostra de treinamento, a função erro
quadrático dada abaixo:
E (k) =
1
2
n3∑
j=1
(
dj(k)− Y
(3)
j (k)
)2
De modo geral, se tivermos p amostras, a função erro quadrático
médio será:
EM =
1
p
p
∑
k=1
E (k)
21 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Ajustes de pesos da camada de sáıda
O ajuste dos pesos para minimização dos erros pode ser dado de
maneira similar ao aplicada ao Adaline, ou seja, aplicando o
gradiente e regra da cadeia,
∇E (3) =
∂E
∂W
(3)
ji
=
∂E
∂Y
(3)
j
·
∂Y
(3)
j
∂I
(3)
j
·
∂I
(3)
j
∂W
(3)
ji
Assim, os resultados das derivadas por definições anteriores temos:
∂I
(3)
j
∂W
(3)
ji
= Y
(2)
i
∂Y
(3)
j
∂I
(3)
ji
= g ′(I
(3)
j )
∂E
∂Y
(3)
ji
= −(dj − Y
(3)
j )
22 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Combinando as equações, temos:
∂E
∂W
(3)
ji
= −(dj − Y
(3)
j ) · g
′(I
(3)
j ) · Y
(2)
i
Logo, o ajuste da matriz de pesos W
(3)
ji deve ser efetuado em
direção oposta ao gradiente a fim de minimizar o erro, ou seja:
∆W
(3)
ji = −η ·
∂E
∂W
(3)
ji
⇔ ∆W
(3)
ji = η · δ
(3)
j · Y
(2)
i
Sendo :
δ
(3)
j = (dj − Y
(3)
j ) · g
′(I
(3)
j )
Deste modo, os ajustes dos pesos serão dados por:
W
(3)
ji (t + 1) = W
(3)
ji (t) + η · δ
(3)
j · Y
(2)
i
23 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Ajustes de pesos da 2o camada intermediária
Nas camadas intermediárias não se tem acesso aos valores de-
sejados para as suas sáıdas.
Os ajustes são feitos por intermédio de estimativas dos erros
de sáıda produzidos por aqueles neurônios da camada imedia-
tamente posterior, os quais já foram previamente ajustados.
Consequentemente, a resposta desejada para um neurônio de
camada escondida deve ser então determinada em função dos
neurônios que estão diretamente conectados e ajustados no
passo anterior.
Com isso teremos que minimizar a retropropagação do erro da
camada de sáıda e deste modo temos:
∇E (2) =
∂E
∂W
(2)
ji
=
∂E
∂Y
(2)
j
·
∂Y
(2)
j
∂I
(2)
j
·
∂I
(2)
j
∂W
(2)
ji
24 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Obtendo-se as seguintes expressões:
∂I
(2)
j
∂W
(2)
ji
= Y
(1)
i
∂Y
(2)
j
∂I
(2)
j
= g ′(I
(2)
j )
∂E
∂Y
(2)
j
=
n3∑
k=1
∂E
∂I
(3)
k
·
∂I
(3)
k
∂Y
(2)
j
=
n3∑
k=1
∂E
∂I
(3)
k
︸ ︷︷ ︸
parcela(i)
·
∂
(
n3∑
k=1
W
(3)
kj
· Y
(2)
j
)
∂Y
(2)
j
︸ ︷︷ ︸
parcela(ii)
onde o valor da derivada parcial do argumento da parcela(ii) em
relação à Y
(2)
j é o próprio valor de W
(3)
kj
, ou seja:
∂E
∂Y
(2)
j
=
n3∑
k=1
∂E
∂I
(3)
k
︸ ︷︷ ︸
parcela(i)
· W
(3)
kj
︸ ︷︷ ︸
parcela(ii)
25 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Fazendo as substituições necessárias, como anteriormente
chegamos ao seguinte resultado:
W
(2)
ji (t + 1) = W
(2)
ji (t) + η · δ
(2)
j · Y
(1)
i
26 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Ajustes de pesos da 1o camada intermediária
Para a primeira camada escondida, o objetivo consiste em ajustar a
matriz de pesos W
(1)
ji a fim de minimizar o erro entre a sáıda pro-
duzida pela rede em função da retropropagação do erro da segunda
camada escondida. Assim, tem-se:
∇E (1) =
∂E
∂W
(1)
ji
=
∂E
∂Y
(1)
j
·
∂Y
(1)
j
∂I
(1)
j
·
∂I
(1)
j
∂W
(1)
ji
Obtendo-se as seguintes sáıdas:
∂I
(1)
j
∂W
(1)
ji
= xi ;
∂Y
(1)
j
∂I
(1)
j
= g ′(I
(1)
j )
27 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
∂E
∂Y
(1)
j
=
n2∑
k=1
∂E
∂I
(2)
k
·
∂I
(2)
k
∂Y
(1)
j
=
n2∑
k=1
∂E
∂I
(2)
k
︸ ︷︷ ︸
parcela(i)
·
∂
(
n2∑
k=1
W
(2)
kj · Y
(1)
j
)
∂Y
(1)
j
︸ ︷︷ ︸
parcela(ii)
De forma similar a análise anterior temos:
∂E
∂Y
(1)
j
=
n2∑
k=1
∂E
∂I
(2)
k
︸ ︷︷ ︸
parcela(i)
· W
(2)
kj
︸ ︷︷ ︸
parcela(ii)
28 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Fazendo as substituições e análise anteriores chegamos ao ajuste
da primeira camada escondida como sendo:
W
(1)
ji (t + 1) = W
(1)
ji + η · δ
(1)
j · xi
29 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
30 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
31 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Algumas melhorias foram realizadas no algoritmo. Dentre essas
podemos destacar:
Inserção do termo de momentum - Para ponderar o quão as
matrizes sinápticas foram alteradas entre duas iterações
anteriores e sucessivas.
Resilient propagation - Leva em conta somente a variação do
seu sinal sem entrar na região de saturação
Leverberg-Marquardt Método de gradiente de segunda ordem,
baseado nos ḿınimos quadrados para modelos não-lineares.
32 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Problema do XOR
Foi visto anteriormente que o Perceptron simples somente
conseguiria convergir se as duas classes fossem linearmente
separáveis.
Caso contrário o percptron jamais conseguiria convergir para
posicionar seu hiperplano delimitando a fronteira de
separabilidade.
Um problema clássico é o da porta lógica ou-exclusivo(Xor).
33 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Este tipo de problema ode ser resolvido por intermédio de uma
rede PMC de duas camadas, como mostra a figura.
As retas de separabilidade dadas pelos neurônios A e B, são
representadas abaixo
34 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Para o exemplo em questão, assumindo a função loǵıstica em
cada um dos neurônios, observa-se que o neurônio A terá sua
sáida igual a 1 apenas para aquelas padrões acima de sua reta.
Já o neurônio B forneçara 1 para todos o valores que estejam
abaixo
35 / 36
Perceptrons multicamadas O Backpropagation Algoritmo Aplicação
Finalmente a figura abaixo mostra as fronteiras de classificação
associados ao problema do Xor.
As redes PMC de duas camadas podem então mapear qualquer
problema de classificação de padrões
36 / 36
	Perceptrons multicamadas
	O Backpropagation
	Algoritmo
	Aplicação

Outros materiais