Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof....

21
Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente Informática UFRGS Prof. Paulo Martins Engel 2 Redes Recorrentes Dirigidas Dinamicamente Consideraremos redes (MLP) recorrentes com realimentação de natureza global, podendo ser da camada de saída para a camada de entrada, ou dos neurônios ocultos da rede. Quando o MLP tem várias camadas ocultas, as possibilidades de realimentação são mais variadas. A rede recorrente responde temporariamente ao sinal de entrada, sendo a saída da rede dirigida dinamicamente por ele. A aplicação de realimentação permite que as redes recorrentes adquiram representações do estado. O uso de realimentação tem o potencial de reduzir significativamente as exigências de memória, quando comparado com as redes sem realimentação dirigidas dinamicamente.

Transcript of Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof....

Page 1: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Redes Neurais

Prof. Paulo Martins Engel

Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

2

Redes Recorrentes Dirigidas Dinamicamente

• Consideraremos redes (MLP) recorrentes com realimentação de natureza global, podendo ser da camada de saída para a camada de entrada, ou dos neurônios ocultos da rede.

• Quando o MLP tem várias camadas ocultas, as possibilidades de realimentação são mais variadas.

• A rede recorrente responde temporariamente ao sinal de entrada, sendo a saída da rede dirigida dinamicamente por ele.

• A aplicação de realimentação permite que as redes recorrentes adquiram representações do estado.

• O uso de realimentação tem o potencial de reduzir significativamente as exigências de memória, quando comparado com as redes sem realimentação dirigidas dinamicamente.

Page 2: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

3

Arquiteturas de Redes Recorrentes

• A arquitetura de uma rede recorrente pode assumir muitas formas diferentes, mas elas compartilham características comuns:

– Todas incorporam um MLP estático, ou partes dele.

– Todas exploram a capacidade de mapeamento não-linear do MLP.

• Exemplos de modelos de redes recorrentes:

– Modelo Recorrente de Entrada-Saída

– Modelo de Espaço de Estados

– MLP Recorrente

– Rede de Segunda Ordem

Informática

UFRGS Prof. Paulo Martins Engel

4

Modelo Recorrente de Entrada-Saída

• A arquitetura genérica de uma rede recorrente de entrada-saída é formada por um MLP com realimentação de sua saída para a entrada através de uma linha de atraso com q unidades.

• O modelo tem uma única entrada que é aplicada também a uma memória de linha de atraso com q unidades.

• O conteúdo das memórias é utilizado para alimentar a camada de entrada do MLP.

• O valor presente da entrada é u(n) e o valor da saída, y(n + 1), está adiantado (uma unidade de tempo) em relação à entrada.

• Entradas exógenas: u(n), u(n – 1), ... u(n – q + 1)

• Valores atrasados da saída: y(n), y(n–1), y(n – q + 1), sobre os quais é feita a regressão da saída do modelo, y(n + 1).

Page 3: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

5

Modelo Auto-regressivo Não-linear com Entradas ExógenasNARX

MLP

z–1

z–1

y(n–1)

y(n)

y(n+1)

z–1

u(n)

u(n–1)z–1

u(n–2)z–1

u(n–q+2)

z–1

u(n–q+1)

y(n–q+1)

y(n–q+2)

Informática

UFRGS Prof. Paulo Martins Engel

6

Modelo Recorrente de Entrada-Saída: NARX

• Quando os sistemas são pouco entendidos se aplica a representação de entrada-saída, como o modelo NARX (nonlinear auto-regressive with exogenous input)

• Considerando um sistema SISO, o modelo NARX estabelece uma relação entre a coleção de dados de entrada-saída passadas e a saída prevista:

y(n+1) = F (y(n), ..., y(k–q+1), u(n) ... u(n–q+1))• Exemplo de modelo NARX de segunda ordem:

y(n+1) = F (y(n), y(n–1), u(n), u(n–1))

)()2()4()3(

)2()()2()1(

)1()1()3()2(

)2()()2()1(

)1()1()3()2(

Nykyyy

Nukuuu

Nukuuu

Nykyyy

Nykyyy

z

Matriz dos vetores de regressão e regressando

F()

u(n)

u(n–1)z–1

z–1

z–1

y(n–1)

y(n)

)1( ny

Page 4: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

7

Modelo NARX de entrada-saída para regressão• Na prática, o modelo NARX, como adotado na literatura de regressão, não é um

modelo recursivo, pois não há acoplamento entre a saída prevista e a entrada; são as saídas do sistema real que servem de entrada para o modelo.

• Neste caso, não há realimentação dos erros de previsão nas entradas da rede e o ajuste dos pesos segue o chamado aprendizado por imposição do professor.

• Exemplo de modelo NARX de segunda ordem:

ŷ(n+1) = F (y(n), y(n–1), u(n), u(n–1))

F()

u(n)

u(n–1)z–1

z–1

z–1

y(n–1)

y(n)

Sistemay(n+1)

)1(ˆ ny

u(n)

Informática

UFRGS Prof. Paulo Martins Engel

8

Modelo Regressivo

• O modelo regressivo correspondente à arquitetura NARX de redes recorrentes, corresponde na literatura de regressão ao modelo NOE (Nonlinear Output Error).

• O modelo NOE inclui predições passadas em vez de saídas medidas.

ŷ(n+1) = F (ŷ(n), ..., ŷ(n–ny+1), u(n) ... u(n–nu+1))

F()

u(n)

z–1

ŷ(n)

Sistema y(n+1)

)1(ˆ ny

u(n)

Page 5: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

9

Modelagem por espaço de estados• Modelos de espaço de estados usam uma função de transição de estado que

mapeia o estado atual e a entrada atual do sistema dinâmico para uma transição do estado (o estado no próximo instante de amostragem).

• A função de transição de estado é um mapeamento estático que pode ser representado por exemplo, por:

x (n+1) = Ax(n) + Bu(n)

y (n) = Cx(n)

onde x(n) é o estado do sistema, u(n) é a entrada, A, B, C são matrizes de dimensão adequada.

• A representação por espaço de estados é apropriada quando o conhecimento a priori disponível permite determinar a estrutura do sistema e identificar as variáveis de estado.

• A vantagem é que a estrutura do modelo pode ser relacionada com a estrutura do sistema real e os parâmetros normalmente são fisicamente relevantes.

Informática

UFRGS Prof. Paulo Martins Engel

10

x(n+1) = Ax(n) + Bu(n)

y(n) = Cx(n)

A, B e C são matrizes de dimensões adequadas

Modelo de Espaço de Estados (linear)

A

u(n)

z–1

z–1

u(n)

Sistema y(n+1)

)1(ˆ nyx2(n)

C

x1(n)x1(n+1)

x2(n+1)

B

Modelo

Page 6: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

11

x(n+1) = F(x(n), u(n))y(n) = Cx(n)

• F é um mapeamento não-linear e C uma matriz de dimensões adequadas

• Tem um banco de atrasos unitários na saída

Modelo de Espaço de Estados (não-linear)

F()

z–1

z–1

u(n)

x2(n) C

x1(n)x1(n+1)

x2(n+1) z–1

)1( ny)(ny

Informática

UFRGS Prof. Paulo Martins Engel

12

x(n+1) = F(x(n), u(n))y(n) = G(x(n))

• F é um mapeamento não-linear e G pode ser um mapeamento não-linear

• Não tem o banco de atrasos unitários na saída

Rede de Elman: Rede Recorrente Simples (RRS)

F()

z–1

z–1

u(n)

)1( nyx2(n) G

x1(n)x1(n+1)

x2(n+1)

Page 7: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

13

xI(n+1) = φI(xI(n), u(n))

xII(n+1) = φII(xII(n), xI(n+1)):

xo(n+1) = φo(xo(n), xK(n+1))

RMLP: Perceptron de Múltiplas Camadas Recorrente

COI

z–1I

u(n)

xI(n) xII(n)

xI(n+1)

COII

z–1I

xII(n+1)

xo(n)CS

z–1I

xo(n+1)

vetor de saída

vetor de entrada

Informática

UFRGS Prof. Paulo Martins Engel

14

• Considere uma rede recorrente com uma única entrada e única saída, cujo comportamento é descrito pelas equações:

x(n+1) = (wax(n) + wbu(n))y(n) = cTx(n)

• Pode-se mostrar que a saída y(n + q) pode ser expressa por:

y(n+q) = (x(n), uq(n))

onde uq(n) = [u(n), u(n + 1),..., u(n + q – 1)]T e : R2q R e q é a dimensionalidade do espaço de estados.

• Desde que a rede recorrente seja observável (o estado da rede pode ser determinado por um conjunto de medidas de entrada-saída), pode-se mostrar que a equação de saída pode ser reescrita na forma:

y(n+1) = F (y(n), ..., y(k–q+1), u(n) ... u(n–q+1))

Equivalência de Modelos

Page 8: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

15

Rede NARX• Como conseqüência da equivalência de modelos, mostra-se que o modelo

NARX é capaz de simular o comportamento o modelo de espaço de estados, para uma rede recorrente observável:

y(n+1) = F (y(n), y(n–1), u(n), u(n–1), bias)

Saída

u(n)Entrada

z−1

z−1

u(n−1)

bias

y(n−1)

y(n)

1

2

3

i1(n)

z−1y(n+1)

y(n)

w11

w12

w13

w15

w14

w21w22

w25

w24

w23i2(n)

Informática

UFRGS Prof. Paulo Martins Engel

16

Rede recorrente equivalente

u(n)

z−1

z−1

1

2

3y(n+1)

w11

w12

w13

w21w22

w23

w31

w32

b3

b1

b2

x2(n+1)

x1(n+1)

x1(n)

x2(n)

z−1 y(n)

Dimensionalidade do espaço de estados: q = 2

Page 9: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

17

“Finding Structure in Time”Jeffrey L. Elman, Cognitive Science, 14, 179-211 (1990)

• Está interessado na preservação da estrutura temporal relativa do padrão:

[011100000] [000111000]

• Na representação relativa, estes dois vetores devem ser reconhecidos como instâncias do mesmo padrão (temporal).

• Na representação absoluta (paralela), eles são espacialmente distantes e portanto, são tratados como dissimilares.

• Problema relacionado: XOR seqüencial: o sistema de aprendizagem deve reconhecer uma seqüência (unidimensional) de bits.

• A seqüência é formada por pares de bits seguidos pelo valor do XOR correspondente.

RNentrada saída

101000011110101...

01000011110101?..

entrada:

saída:

Informática

UFRGS Prof. Paulo Martins Engel

18

Exemplo de uma rede de Elman

u(n)

z−1

z−1

1

2

3y(n+1)

w11

w12

w13

w21w22

w23

w31

w32

b3

b1

b2

x2(n+1)

x1(n+1)

x1(n)

x2(n)

Page 10: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

19

Resultados obtidos com a rede de Elman

Erro inicial

Erro final

Informática

UFRGS Prof. Paulo Martins Engel

20

Identificação de estrutura em seqüências de letras

Geração de seqüência de letras• Geração aleatória de uma seqüência de 1000 consoantes (b, d, g)

• Aplicação das regras de transformação:

b ba

d dii

g guuu

Erro de predição da próxima letraCodificação das letras

Page 11: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

21

Algoritmos de treinamento para redes recorrentes

Para redes estáticas• Modo por lote: a sensibilidade da rede é calculada para o conjunto inteiro de

treinamento antes de ajustar os parâmetros da rede.

• Modo seqüencial: os ajustes de parâmetros são feitos após a apresentação de cada padrão do conjunto de treinamento.

Para redes recorrentes• Treinamento por época: para uma dada época, a rede inicia a execução de

algum estado inicial até alcançar um novo estado em que o treinamento é parado e a rede é reinicializada em um estado inicial para a próxima época.

• O estado inicial não precisa ser o mesmo para cada época.

• Época corresponde a um padrão temporal de treinamento.

• Treinamento contínuo: não há reinicialização de estados. A rede aprende enquanto realiza o processamento.

• BPTT: baseado no algoritmo BP

• ARTR: utiliza uma estimativa instantânea do gradiente da função de custo.

Informática

UFRGS Prof. Paulo Martins Engel

22

BPTT: Backpropagation Through Time

• É uma extensão do algoritmo BP padrão.

• Desdobra a operação temporal da rede numa rede em camadas, cuja topologia é acrescida de uma camada a cada passo de tempo.

• Cada passo de tempo tem uma camada contendo k neurônios que representam uma rede recorrente.

• Os pesos em cada camada são os mesmos: cópias.

• Existem duas versões do algoritmo: por época ou contínuo.

Page 12: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

23

Exemplo

• Uma rede recorrente completa treinada por BPTT.

• Considere o seu desdobramento em 3 passos de tempo.

u(n)

z−1

z−1

1

2

3y(n+1)

w11

w12

w13

w21w22

w23

w31

w32

b3

b1

b2

x2(n+1)

x1(n+1)

x1(n)

x2(n)

Informática

UFRGS Prof. Paulo Martins Engel

24

Exemplo

• Rede recorrente desdobrada no tempo.

u(1)

x2(1)

x1(1)

1

2

3

x1(2)

y(2)

w11

w12

w13

w21

w22

w23

x2(2)

w31 w32

b3

b1

b2

1

2

3

x1(3)

y(3)

w11

w12

w13

w21

w22

w23

x2(3)

w31 w32

b3

b1

b2

u(2)

1

2

3

x1(4)

y(4)

w11

w12

w13

w21

w22

w23

x2(4)

w31 w32

b3

b1

b2

u(3)

Page 13: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

25

Retropropagação Através do Tempo (BPTT)

• BPTT por época: conjunto de dados de treinamento é particionado em épocas independentes.

• Cada época representa um padrão temporal de interesse.

• n0 e n1 são os tempos inicial e final de uma época.

• Para uma época podemos definir a função de custo:

com ej(n) = dj(n) – yj(n)

1

0

)(2

1),( 2

10

n

nn Ajjtotal nennE

• A é o conjunto de índices j dos neurônios para os quais as saídas desejadas são especificadas

• Calcula-se as derivadas parciais de Etotal(n0, n1) em relação aos pesos da rede.

Informática

UFRGS Prof. Paulo Martins Engel

26

Algoritmo BPTT

• Executa-se um passo único para frente dos dados através da rede para o intervalo (n0, n1).

• Armazena-se o registro completo dos dados de entrada, pesos e respostas desejadas para este intervalo.

• Realiza-se um único passo para trás sobre este registro passado, para calcular os valores dos gradientes locais:

para todo j A e n0 < n n1.

No caso de não haver camada de saída, temos

)(

),()( 10

nv

nnEn

j

totalj

10

1

para)1()())(('

para)())(('

)(nnnnwnenv

nnnenv

n

Akkjkjj

jj

j

erro no futuroerro atual

Page 14: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

27

Algoritmo BPTT com camada de saída

• No caso de haver camada de saída, o erro ej(n) deve ser substituído pela soma dos termos de erro retropropagados da camada de saída.

• Os gradientes locais da camada de saída são calculados como no algoritmo BP convencional:

• Nas camadas ocultas, os gradientes locais também recebem as somas dos gradientes da camada de saída, para todo j A e n0 < n n1, com

10

1

para)1()())(('

para)())(('

)(nnnnwwnnv

nnwnnv

n

Ak

ok

ojk

slj

l

slj

slj

l

slj

oj

erro no futuroerro atual

)())(()(

),()( 10 nenv

nv

nnEn jj

j

totalsj

Informática

UFRGS Prof. Paulo Martins Engel

28

Exemplo

u(1), u(2), u(3)

d(2), d(3), d(4)

u(1)

x2(1)

x1(1)

1

2

3

x1(2)

y(2)

w11

w12

w13

w21

w22

w23

x2(2)

w31 w32

b3

b1

b2

1

2

3

x1(3)

y(3)

w11

w12

w13

w21

w22

w23

x2(3)

w31 w32

b3

b1

b2

u(2)

1

2

3

x1(4)

y(4)

w11

w12

w13

w21

w22

w23

x2(4)

w31 w32

b3

b1

b2

u(3)

n = 1 n = 2 n = 3 n = 4

s(4)s(3)s(2)

o1(4)

o2(4)o

2(3)

o1(3)o

1(2)

o2(2)

d(4)d(3)d(2)

Page 15: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

29

Algoritmo BPTT

• Calcula-se repetidamente j(n) começando no tempo n1 e trabalhando para trás, passo a passo, até o tempo n0.

• Após a retropropagação chegar ao tempo n0+1 ajustam-se os pesos.

onde é a taxa de aprendizagem e xi(n – 1) é a entrada aplicada a i-ésima sinapse do neurônio j no tempo n – 1.

• Note que as respostas desejadas são especificadas para os neurônios em várias camadas da rede porque a camada de saída real é replicada muitas vezes.

ji

totalji w

nnEw

),( 10

1

0 1

)1()(n

nnij nxn

Informática

UFRGS Prof. Paulo Martins Engel

30

Algoritmo BPTT

• Considerando-se a rede desdobrada

• Padrão temporal de treinamento (época): u(1), u(2), u(3); d(2), d(3), d(4)

)4()3()2(2

1)4,2( 222 eeeEtotal

com e2(n) = [d(n) – y(n)]2

• Propagação: propagar o padrão temporal de treinamento.

• Considerando x1(1) = 0, x2(1) = 0

v1(2) = u(1) w13 + b1 → x1(2) = tanh(v1(2))

v2(2) = u(1) w23 + b2 → x2(2) = tanh(v2(2))

y (2) = x1(2) w31 + x2(2) w32 + b3

v1(3) = x1(2) w11 + x2(2) w12 + u(2) w13 + b1 → x1(3) = tanh(v1(3))

v2(3) = x1(2) w21 + x2(2) w22 + u(2) w23 + b2 → x2(3) = tanh(v2(3))

y(3) = x1(3) w31 + x2(3) w32 + b3

Page 16: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

31

Fase de propagação

u(1), u(2), u(3)

d(2), d(3), d(4)

u(1)

x2(1)

x1(1)

1

2

3

x1(2)

y(2)

w11

w12

w13

w21

w22

w23

x2(2)

w31 w32

b3

b1

b2

1

2

3

x1(3)

y(3)

w11

w12

w13

w21

w22

w23

x2(3)

w31 w32

b3

b1

b2

u(2)

1

2

3

x1(4)

y(4)

w11

w12

w13

w21

w22

w23

x2(4)

w31 w32

b3

b1

b2

u(3)

n = 1 n = 2 n = 3 n = 4

d(4)d(3)d(2)

Informática

UFRGS Prof. Paulo Martins Engel

32

Algoritmo BPTT

Retropropagação: cálculo dos gradientes locais.

• Na camada de saída:

v1(4) = x1(3) w11 + x2(3) w12 + u(3) w13 + b1 → x1(4) = tanh(v1(4))

v2(4) = x1(3) w21 + x2(3) w22 + u(3) w23 + b2 → x2(4) = tanh(v2(4))

y(4) = x1(4) w31 + x2(4) w32 + b3

e(2) = d(2) – y(2), e(3) = d(3) – y(3), e(4) = d(4) – y(4)

)())(()(

),()( 10 nenv

nv

nnEn jj

j

totalj

)4())4((1)4( 2 eys

)3())3((1)3( 2 eys

)2())2((1)2( 2 eys

Estas parcelas são incluídas na camada oculta

Page 17: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

33

Gradientes locais na camada de saída

u(1)

x2(1)

x1(1)

1

2

3

x1(2)

y(2)

w11

w12

w13

w21

w22

w23

x2(2)

w31 w32

b3

b1

b2

1

2

3

x1(3)

y(3)

w11

w12

w13

w21

w22

w23

x2(3)

w31 w32

b3

b1

b2

u(2)

1

2

3

x1(4)

y(4)

w11

w12

w13

w21

w22

w23

x2(4)

w31 w32

b3

b1

b2

u(3)

n = 1 n = 2 n = 3 n = 4

s(4)s(3)s(2)

o1(4)

o2(4)o

2(3)

o1(3)o

1(2)

o2(2)

d(4)d(3)d(2)

)4())4((1)4( 2 eys )3())3((1)3( 2 eys )2())2((1)2( 2 eys

Informática

UFRGS Prof. Paulo Martins Engel

34

Algoritmo BPTT

• Na camada oculta:

Ak

ok

ojk

l

sl

sljj

j

totaloj nwnwnv

nv

nnEn )1()())((

)(

),()( 10

)4())4((1)4( 312

11so wx

)4())4((1)4( 322

22so wx

)4()4()3())3((1)3( 221111312

11ooso wwwx

)4()4()3())3((1)3( 222112322

22ooso wwwx

)3()3()2())2((1)2( 221111312

11ooso wwwx

)3()3()2())2((1)2( 222112322

22ooso wwwx

n = n1

n0 < n < n1

Page 18: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

35

u(1)

x2(1)

x1(1)

1

2

3

x1(2)

y(2)

w11

w12

w13

w21

w22

w23

x2(2)

w31 w32

b3

b1

b2

1

2

3

x1(3)

y(3)

w11

w12

w13

w21

w22

w23

x2(3)

w31 w32

b3

b1

b2

u(2)

1

2

3

x1(4)

y(4)

w11

w12

w13

w21

w22

w23

x2(4)

w31 w32

b3

b1

b2

u(3)

n = 1 n = 2 n = 3 n = 4

s(4)s(3)s(2)

o1(4)

o2(4)o

2(3)

o1(3)o

1(2)

o2(2)

d(4)d(3)d(2)

Exemplo de cálculo de gradiente local na camada oculta: n = n1

)4())4((1)4( 312

11so wx n = n1 = 4

Informática

UFRGS Prof. Paulo Martins Engel

36

Exemplo de cálculo de gradiente local na camada oculta: n < n1

u(1)

x2(1)

x1(1)

1

2

3

x1(2)

y(2)

w11

w12

w13

w21

w22

w23

x2(2)

w31 w32

b3

b1

b2

1

2

3

x1(3)

y(3)

w11

w12

w13

w21

w22

w23

x2(3)

w31 w32

b3

b1

b2

u(2)

1

2

3

x1(4)

y(4)

w11

w12

w13

w21

w22

w23

x2(4)

w31 w32

b3

b1

b2

u(3)

n = 1 n = 2 n = 3 n = 4

s(4)s(3)s(2)

o1(4)

o2(4)o

2(3)

o1(3)o

1(2)

o2(2)

d(4)d(3)d(2)

)4()4()3())3((1)3( 221111312

11ooso wwwx n = 3

Page 19: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

37

Exemplo de cálculo de gradiente local na camada oculta: n < n1

u(1)

x2(1)

x1(1)

1

2

3

x1(2)

y(2)

w11

w12

w13

w21

w22

w23

x2(2)

w31 w32

b3

b1

b2

1

2

3

x1(3)

y(3)

w11

w12

w13

w21

w22

w23

x2(3)

w31 w32

b3

b1

b2

u(2)

1

2

3

x1(4)

y(4)

w11

w12

w13

w21

w22

w23

x2(4)

w31 w32

b3

b1

b2

u(3)

n = 1 n = 2 n = 3 n = 4

s(4)s(3)s(2)

o1(4)

o2(4)o

2(3)

o1(3)o

1(2)

o2(2)

d(4)d(3)d(2)

)3()3()2())2((1)2( 221111312

11ooso wwwx n = 2

Informática

UFRGS Prof. Paulo Martins Engel

38

Ajuste dos pesos:

1

0 1

)1()(n

nnijji nxnw

)2()2()3()3()4()4( 11131 xxxw sss

)2()2()3()3()4()4( 22232 xxxw sss

)2()3()4(3sssb

)1()2()2()3()3()4( 11111111 xxxw ooo

)1()2()2()3()3()4( 21212112 xxxw ooo

)1()2()2()3()3()4( 11113 uuuw ooo

)2()3()4( 1111ooob

)1()2()2()3()3()4( 12121221 xxxw ooo

)1()2()2()3()3()4( 22222222 xxxw ooo

)1()2()2()3()3()4( 22223 uuuw ooo

)2()3()4( 2222ooob

camada de saída

camada oculta

Page 20: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

39

u(1)

x2(1)

x1(1)

1

2

3

x1(2)

y(2)

w11

w12

w13

w21

w22

w23

x2(2)

w31 w32

b3

b1

b2

1

2

3

x1(3)

y(3)

w11

w12

w13

w21

w22

w23

x2(3)

w31 w32

b3

b1

b2

u(2)

1

2

3

x1(4)

y(4)

w11

w12

w13

w21

w22

w23

x2(4)

w31 w32

b3

b1

b2

u(3)

n = 1 n = 2 n = 3 n = 4

s(4)s(3)s(2)

o1(4)

o2(4)o

2(3)

o1(3)o

1(2)

o2(2)

d(4)d(3)d(2)

Informática

UFRGS Prof. Paulo Martins Engel

40

Previsão de série temporal

• Rede recorrente como previsor de padrões temporais.

• Sinal de freqüência modulada: x(n) = sen(n + sen(n2)), n = 0,1,...

• A rede recorrente (Elman) deve ser treinada para prever o próximo valor a partir do valor corrente (entrada atual) e do valor do estado atual.

• A rede é treinada para um padrão de 200 tempos e testada em um padrão de 100 tempos, sendo 50 tempos superpostos com o padrão de treinamento.

)1()( 0 nxlnx pl

Page 21: Redes Neurais - INFengel/data/media/file/cmp121/redes... · 2013-11-19 · Redes Neurais Prof. Paulo Martins Engel Processamento Temporal por Redes Recorrentes Dirigidas Dinamicamente

Informática

UFRGS Prof. Paulo Martins Engel

41

Resultados do treinamento

• GDX, 1000 passos, 10 unidades ocultas

• Treina com 200 tempos (1 a 200)

Informática

UFRGS Prof. Paulo Martins Engel

42

Resultados de generalização

• GDX, 1000 passos, 10 unidades ocultas

• Treina com 200 tempos (1 a 200)

• Testa com 100 tempos (150 a 250)