17 -Redesneurais2tbl - Copia

77
31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 1 Perceptrons e Multilayer Perceptrons Profa. Teresa Bernarda Ludermir Aprendizagem de Máquina

description

Academico

Transcript of 17 -Redesneurais2tbl - Copia

Page 1: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 1

Perceptrons e Multilayer

Perceptrons

Profa. Teresa Bernarda Ludermir

Aprendizagem de Máquina

Page 2: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 2

Perceptrons

Desenvolvido por Rosemblat, 1958

Rede mais simples para classificação de

padrões linearmente separáveis

Utiliza modelo de McCulloch-Pitts como

neurônio

Page 3: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 3

Perceptrons

Estado de ativação

1 = ativo

-1 = inativo

Função de ativação

ai(t + 1) = f (ui(t))

ai(t + 1) = u x wj jj

N

1

+1, se ui(t) 0

-1, se ui(t) < 0

Page 4: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 4

Perceptrons

Função de saída = função identidade

Duas camadas

Camada de pré-processamento

M máscaras fixas para extração de características

Podem implementar qualquer função, mas pesos são fixos

Camada de discriminação

Uma unidade de saída para discriminar padrões de

entrada

Pesos determinados através de aprendizado

Page 5: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 5

Perceptrons

w1

f y

w2

wn

Page 6: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 6

Perceptrons

Treinamento

Supervisionado

Correção de erro

Dwij = hxi(dj - yj) (d y)

Dwij = 0 (d = y)

Teorema de convergência: se é possível

classificar um conjunto de entradas, uma

rede Perceptron fará a classificação

Page 7: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 7

Algoritmo de treinamento

1) Iniciar todas as conexões com wij = 0;

2) Repita

Para cada par de treinamento (X, d)

Calcular a saída y

Se (d y)

Então

Atualizar pesos dos neurônios

Até o erro ser aceitável

Page 8: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 8

Treinamento

Page 9: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 9

Algoritmo de teste

1) Apresentar padrão X a ser reconhecido

2) Calcular a saída y

3) Se (y=-1)

Então

X classe 0

Senão

X classe 1

Page 10: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 10

Exemplo

Dada uma rede do tipo Perceptron formada por um

neurônio com três terminais de entrada, utilizando

pesos iniciais w0 = 0.4, w1 = -0.6 e w2 = 0.6, limiar =

0.5 e uma taxa de aprendizado = 0.4, responda os

itens abaixo:

a) Ensinar a rede a gerar a saída -1 para o

padrão 001 e a saída +1 para os padrão 110

b) A que classe pertencem os padrões 111,

000, 100 e 011?

Page 11: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 11

Exemplo 1: resposta a

a) Treinar a rede

a.1) Para o padrão 001 (d = -1)

Passo 1: definir a saída da rede

u = 0(0.4) + 0(-0.6) + 1(0.6) -1(0.5) = 0.1

y = u = +1 (uma vez 0.1 0)

Passo 2: atualizar os pesos

w0 = 0.4 + 0.4(0)(-1 - (+1)) = 0.4

w1 = -0.6 + 0.4(0)(-1 - (+1)) = -0.6

w2 = 0.6 + 0.4(1)(-1 - (+1)) = -0.2

w3 = 0.5 + 0.4(-1)(-1 - (+1)) = 1.3

Page 12: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 12

Exemplo 1: resposta a

a) Treinar a rede

a.2) Para o padrão 110 (d = 1)

Passo 1: definir a saída da rede

u = 1(0.4) + 1(-0.6) + 0(-0.2) -1(1.3) = -1.5

y = u = -1 (uma vez -1.5 < 0)

Passo 2: atualizar pesos

w0 = 0.4 + 0.4(1)(1 - (-1)) = 1.2

w1 = -0.6 + 0.4(1)(1 - (-1)) = 0.2

w2 = -0.2 + 0.4(0)(1 - (-1)) = -0.2

w2 = 1.3 + 0.4(-1)(1 - (-1)) = 0.5

Page 13: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 13

Exemplo 1: resposta a

a) Treinar a rede

a.3) Para o padrão 001 (d = -1) Passo 1: definir a saída da rede

u = 0(1.2) + 0(0.2) + 1(-0.2) -1(0.5) = -0.7

y = u = -1 (uma vez -0.7 < 0)

Passo 2: atualizar pesos

Como d = y, os pesos não precisam ser

modificados

Page 14: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 14

Exemplo 1: resposta a

a) Treinar a rede

a.4) Para o padrão 110 (d = 1)

Passo 1: definir a saída da rede

u = 1(1.2) + 1(0.2) + 0(-0.2) -1(0.5) = 0.9

y = u = 1 (uma vez 0.9 0)

Passo 2: atualizar pesos

Como d = y, os pesos não precisam ser

Page 15: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 15

Exemplo 1: resposta b

b) Testar a rede

b.1) Para o padrão 111

u = 1(1.2) + 1(0.2) + 1(-0.2) -1(0.5) = 0.7

y = u = 1 (porque 0.7 0) ) classe 1

b.2) Para o padrão 000

u = 0(1.2) + 0(0.2) + 0(-0.2) -1(0.5) = -0.5

y = u = -1 (porque -0.5 < 0) classe 0

Page 16: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 16

Exemplo 1: resposta b

b) Testar a rede

b.3) Para o padrão 100

u = 1(1.2) + 0(0.2) + 0(-0.2) +1(-0.5) = 0.7

y = u = 1 (porque 0.7 0) classe 1

b.4) Para o padrão 011

u = 0(1.2) + 1(0.2) + 1(-0.2) -1(0.5) = -0.5

y = u = -1 (porque -0.5 < 0) classe 0

Page 17: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 17

MLP - Introdução

Redes de uma camada resolvem apenas

problemas linearmente separáveis

Solução: utilizar mais de uma camada

Camada 1: uma rede Perceptron para cada grupo

de entradas linearmente separáveis

Camada 2: uma rede combina as saídas das

redes da primeira camada, produzindo a

classificação final

Page 18: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 18

MLP - Introdução

1

3

2

Page 19: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 19

MLP - Introdução

Treinamento da rede

Treinar cada rede indepentemente

Saber como dividir o problema em sub-problemas

Nem sempre é possível

Treinar a rede toda

Qual o erro dos neurônios da camada intermediária?

Função threshold leva ao problema de atribuição de

crédito

Usar função de ativação linear?

Page 20: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 20

MLP - Introdução

Função de ativação linear

Cada camada computa uma função linear

Composição de funções lineares é uma função linear

Sempre vai existir uma rede com uma camada

equivalente uma rede multicamadas com funções de

ativação lineares

Page 21: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 21

MLP - Introdução

Função de ativação para redes multicamadas

Não deve ser linear

Deve informar os erros para as camadas

inferiores da rede

Função sigmóide

Função tangente hiperbólica

Page 22: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 22

Rede Multi-Layer Perceptron

Arquitetura de RNA mais utilizada

Possuem uma ou mais camadas

intermediárias de nós

Função de ativação mais utilizada é sigmóide

logística

Page 23: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 23

Treinamento de redes MLP

Grande variedade de Algoritmos

Geralmente supervisionados

Estáticos

Não alteram estrutura da rede

Backpropagation, Função de Base Radial

Construtivos

Alteram estrutura da rede

Upstar, Cascade Correlation

Page 24: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 24

Treinamento de redes MLP

Treinamento estático

MLPs com formatos e tamanhos diferentes

podem utilizar mesma regra de aprendizado

Topologias diferentes podem resolver o mesmo

problema

Regra mais utilizada: backpropagation

Page 25: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 25

Backpropagation

Rede é treinada com pares entrada-saída

Cada entrada de treinamento está associada a uma

saída desejada

Treinamento em duas fases, cada uma percorrendo

a rede em um sentido

Fase forward

Fase backward

Sinal (forward)

Erro (backward)

Page 26: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 26

Rede MLP

camada de

entrada

camadas

intermediárias camada

de

saída

conexões

Page 27: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 27

Aprendizado

camada de

entrada

camadas

intermediárias camada

de

saída P

a

d

r

ã

o

S

a

í

d

a

D

e

s

e

j

a

d

a

Page 28: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 28

RNA - Aprendizado

camada de

entrada

camadas

intermediárias camada

de

saída P

a

d

r

ã

o

S

a

í

d

a

D

e

s

e

j

a

d

a

Page 29: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 29

RNA - Aprendizado

camada de

entrada

camadas

intermediárias camada

de

saída P

a

d

r

ã

o

S

a

í

d

a

D

e

s

e

j

a

d

a

Page 30: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 30

RNA - Aprendizado

camada de

entrada

camadas

intermediárias camada

de

saída P

a

d

r

ã

o

S

a

í

d

a

D

e

s

e

j

a

d

a

Page 31: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 31

RNA - Aprendizado

camada de

entrada

camadas

intermediárias camada

de

saída P

a

d

r

ã

o

S

a

í

d

a

D

e

s

e

j

a

d

a

Page 32: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 32

RNA - Aprendizado

camada de

entrada

camadas

intermediárias camada

de

saída P

a

d

r

ã

o

S

a

í

d

a

D

e

s

e

j

a

d

a

Page 33: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 33

RNA - Aprendizado

camada de

entrada

camadas

intermediárias camada

de

saída P

a

d

r

ã

o

S

a

í

d

a

D

e

s

e

j

a

d

a

Page 34: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 34

RNA - Aprendizado

camada de

entrada

camadas

intermediárias camada

de

saída P

a

d

r

ã

o

S

a

í

d

a

S

a

í

d

a

D

e

s

e

j

a

d

a

Erro

Page 35: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 35

RNA - Aprendizado

camada de

entrada

camadas

intermediárias camada

de

saída P

a

d

r

ã

o

S

a

í

d

a

D

e

s

e

j

a

d

a

Page 36: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 36

RNA - Aprendizado

camada de

entrada

camadas

intermediárias camada

de

saída P

a

d

r

ã

o

S

a

í

d

a

D

e

s

e

j

a

d

a

Page 37: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 37

RNA - Aprendizado

camada de

entrada

camadas

intermediárias camada

de

saída P

a

d

r

ã

o

S

a

í

d

a

D

e

s

e

j

a

d

a

Page 38: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 38

Fase forward

Entrada é apresentada à primeira camada da rede

Após os neurônios da camada i calcularem seus

sinais de saída, os neurônios da camada i + 1

calculam seus sinais de saída

Saídas produzidas pelos neurônios da última

camada são comparadas às saídas desejadas

Erro para cada neurônio da camada de saída é

calculado

Page 39: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 39

Fase backward

A partir da última camada

O nó ajusta seu peso de modo a reduzir o seu

erro

Nós das camadas anteriores tem seu erro

definidos por:

Erros dos nós da camada seguinte conectados a ele

ponderados pelos pesos das conexões entre eles

Page 40: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 40

Backpropagation

Treina redes MLP produzindo representações

internas necessárias para nós intermediários

Supor que cada combinação de pesos e thresholds

corresponda a um ponto em uma superfície de

solução

Solução = pontos mais baixos da superfície

Procura minimizar erro ajustando pesos e thresholds para

que eles correspondam aos pontos mais baixos da

superfície método do gradiente descendente

Page 41: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 41

Backpropagation

Gradiente de uma função está na direção e

sentido onde a função tem taxa de variação

máxima

Garantido de achar uma solução para superfícies

simples

Backpropagation fornece aproximação da

trajetória no espaço de peso computado pelo

método do gradiente descendente

Page 42: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 42

Backpropagation

Processamento

Forward (teste)

Backward (treinamento)

Estados de ativação

1 (+1) = ativo

0 (-1) = inativo

Page 43: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 43

Backpropagation

Função de ativação

Não linear

Diferenciável , contínua e, geralmente, não

decrescente

Sigmoidal

ai(t + 1) = 1/(1 + e- ui(t)) (sigmoidal logística)

ai(t + 1) = (1 - e-ui(t)) (tang. hiperbólica)

(1 +e-ui (t))

Page 44: 17 -Redesneurais2tbl - Copia

Backpropagation

Funcionamento do algoritmo:

Ponto de partida para obter a expressão de ajuste

de pesos:

j

jj ydE 2)(2

1Erro para um padrão, considerando

todos os nodos de saída.

ij

ijw

Ew

D

Para caminhar em direção ao mínimo,

o peso é ajustado com sinal contrário

ao da derivada.

Page 45: 17 -Redesneurais2tbl - Copia

Backpropagation

Interpretação gráfica: Busca do mínimo global.

w

E (erro de treinamento)

w0

Dw > 0

d E

d w < 0

w0

d E

d w > 0

Dw < 0

Page 46: 17 -Redesneurais2tbl - Copia

Backpropagation

A partir desta idéia, fazendo manipulações matemáticas, obtemos a expressão de ajuste de pesos:

Em cada iteração, o algoritmo realiza duas fases: Forward (a rede gera suas saídas a partir das

entradas),

Backward (a rede ajusta seus pesos a partir das saídas).

D

D

contráriocasonetfw

saídadenodoforsenetfyd

tonde

txtwonde

wtwtw

j

l

jll

jjj

j

ijij

ijijij

),(')(

),(')(

)(

)()(

)()1(

h

Page 47: 17 -Redesneurais2tbl - Copia

Backpropagation

Fase Forward: Apresenta-se o padrão à rede, que gera uma saída.

Padrão y

(Saída

da rede)

Page 48: 17 -Redesneurais2tbl - Copia

Backpropagation

D

contráriocasonetfw

saídadenodoforsenetfyd

tonde

txtw

j

l

jll

jjj

j

ijij

),(')(

),(')(

)(

)()(

h

Fase Backward: Ajusta os pesos da rede a partir da camada de saída.

w é de um nodo de saída:

Dw = h x

w = ( d – y ) f ’(net)

Saída desejada

y f

x

net

= wi xi

Page 49: 17 -Redesneurais2tbl - Copia

Backpropagation

D

contráriocasonetfw

saídadenodoforsenetfyd

tonde

txtw

j

l

jll

jjj

j

ijij

),(')(

),(')(

)(

)()(

h

w1 não é de um nodo de saída:

Dw1 = h 1 x1

w1

1 = ( w ) f ’(net1)

net1

f x1

w Calculado

anteriormente

Page 50: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 50

Treinamento

1) Iniciar todas as conexões com valores aleatórios

2) Repita

erro = 0

Para cada par de treinamento (X, d)

Para cada camada k := 1 a N

Para cada neurônio J := 1 a Mk

Calcular a saída yjk

Se erro > e

Então Para cada camada k := N a 1

Para cada neurônio J := 1 a Mk

Atualizar pesos

Até erro < e

Page 51: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 51

Teste

1) Apresentar padrão X a ser reconhecido

2) Para cada camada k := 1 a N

Para cada neurônio J := 1 a Mk

Calcular a saída yjk

Comparar saída yNj com dcj para cada classe c

Classificar padrão como pertencente a classe

cuja saída desejada é mais próxima da saída

produzida

Page 52: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 52

Exemplo de rede

Rede que aprende a função:

Sinal

Ent. 1 Ent. 2 Saída

V V F

V F V

F V V

F F F

Um sinal verdadeiro é codificado

para 1 e um falso para 0

Erro

1

2

Page 53: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 53

Possível solução

0.5

1.5

1 1 -2

1 1

Page 54: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 54

Solução após treinamento

-6.3

-2.2

-4.2 -4.2 -9.4

-6.4 -6.4

Page 55: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 55

Utilizando uma rede diferente

0.5

1.5

1 1

1 1

0.5

1 -1

Rede sem conexões

entrada-saída

Page 56: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 56

Problemas

8.8

0.8

0.1

-2.0

4.3 9.2

-1.8

-4.5 5.3

Rede estável que

não funciona

Mínimo local

Ocorre em 1% das

vezes para problemas

do tipo ou-exclusivo

Page 57: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 57

MLPs como classificadores

Função implementada por cada neurônio é

formada pela combinação das funções

implementadas por neurônios da camada anterior

Camada 1: linhas retas no espaço de decisão

Camada 2: regiões convexas

Número de lados = número de unidades na camada 1

Camada 3: Combinações de figuras convexas,

produzindo formatos abstratos

Page 58: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 58

Regiões convexas

Aberta Aberta Fechada

Fechada Fechada Fechada

Page 59: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 59

Combinações de regiões

convexas

Page 60: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 60

Unidades intermediárias

Número de camadas intermediárias necessárias

1 camada: suficiente para aproximar qualquer

função contínua ou Booleana

2 camadas: suficiente para aproximar qualquer

função

3 ou mais camadas: pode facilitar o

treinamento da rede

Cada vez que o erro é propagado para a camada

anterior, ele se torna menos útil

Page 61: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 61

Unidades intermediárias

Número de neurônios nas camadas intermediárias Em geral não é conhecido

Utilizar função do número de entradas e saídas

Não funciona

Número de pesos vezes dez é menor que o número de

exemplos

Apenas reduz overfitting

Se o número de exemplos for muito maior que o número de

pesos, overfitting é improvável, mas pode ocorrer underfitting

Page 62: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 62

Unidades intermediárias

Número de neurônios nas camadas

intermediárias (cont.)

Depende de:

Número de exemplos de treinamento

Quantidade de ruído

Complexidade da função a ser aprendida

Distribuição estatística

Page 63: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 63

Unidades intermediárias

Número de neurônios nas camadas

intermediárias (cont.)

Existem problemas com uma entrada e uma saída que

precisam de milhares de unidades e vice-versa

Pode crescer exponencialmente com o número de

entradas

Solução neural eficiente: aquela onde o número de

unidades cresce apenas polinomialmente com o

número de entradas

Page 64: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 64

Generalização

Classificação correta de padrões não utilizados

no treinamento ou com ruído

Ocorre através da detecção de características

relevantes do padrão de entrada

Padrões desconhecidos são atribuídos a classes

cujos padrões apresentam características

semelhantes

Tolerância a falhas

Page 65: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 65

Generalização

Solução original de

convergência (lenta)

Recuperação depois

de ruído (rápido)

Page 66: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 66

Dificuldades de aprendizado

Backpropagation é muito lento em superfícies

complexas

Considerar efeitos de segunda ordem para gradiente

descendente

Mínimos locais: solução estável que não fornece

saída correta

Taxa de aprendizado decrescente

Adicionar nós intermediários

Utilizar momentum

Adicionar ruído

Page 67: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 67

Dificuldades de aprendizado

Overfitting

Depois de um certo ponto do treinamento, a

rede piora ao invés de melhorar

Memoriza padrões de treinamento, incluindo

suas peculiaridades (piora generalização)

Alternativas

Encerrar treinamento cedo

Reduzir pesos

Page 68: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 68

Atualização dos pesos

Ciclo

Apresentação de todos os exemplos de

treinamento durante o aprendizado

Exemplos devem ser apresentados em ordem

aleatória

Abordagens para atualização dos pesos

Por padrão (online)

Por ciclo (batch)

Page 69: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 69

Atualização dos pesos

Por padrão

Pesos atualizados após apresentação de cada padrão

Estável se taxa de aprendizado e momentum forem

pequenos (reduzir progressivamente as taxas)

Altas taxas rede instável

Mais rápida, principalmente se o conjunto de

treinamento for grande e redundante

Requer menos memória

Page 70: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 70

Atualização dos pesos

Por ciclo

Pesos atualizados depois que todos os

padrões de treinamento forem apresentados

Geralmente mais estável

Pode ser lento se o conjunto de treinamento for

grande e redundante

Estimativa mais precisa do vetor gradiente

Método depende da aplicação

Page 71: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 71

Atualização dos pesos

Momentum

Dwij(t + 1) = hxiyj(1 - yj)j + a( wij(t ) - wij(t - 1))

Aumenta velocidade de aprendizado evitando

perigo de instabilidade

Pode acelerar treinamento em regiões muito

planas da superfície de erro

Suprime oscilação de pesos em vales e ravinas

Page 72: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 72

Dicas para melhorias

Projeto de uma RNA utilizando backpropagation é

mais uma arte que uma ciência

Envolve inúmeros fatores

Resultado da experiência do projetista

Utilizar função sigmoidal assimétrica (tangente

hiperbólica)

Aprendizado mais rápido (em geral)

Igual a função logística com bias e re-escalada

Page 73: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 73

Dicas para melhorias

Resposta desejada deve estar [-a + e, a - e]

a = valor máximo da função de ativação

Inicialização dos pesos e thresholds deve ser

uniformemente distribuído dentro de um intervalo

pequeno

Reduz probabilidade dos neurônios saturarem

Intervalos muito pequenos podem tornar treinamento

lento

Geralmente utiliza-se (-2.4/fan_in, + 2.4/fan_in)

Page 74: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 74

Dicas para melhorias

Taxa de aprendizado não deve, preferencialmente,

ser a mesma para todos os neurônios

Geralmente, últimas camadas têm gradiente maior que

camadas iniciais

Taxa de aprendizado deve ser menor para neurônios

das últimas camadas

Neurônios com muitas entradas, devem ter taxas de

aprendizado menores

Page 75: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 75

Dicas para melhorias

Utilizar, sempre que possível, modo padrão Atualização on-line

Classificação de padrões envolvendo base da dados

grande e redundante

Paralelização ineficiente

Incluir conhecimento a priori

Utilizar técnicas de prunning

Elimina conexões não essenciais

Empregar cross-correlation

Page 76: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 76

Aplicações

Gerar sons a partir de textos

Reconhecimento de padrões

Venda de passagens aéreas

Filtragem de ruído de eletrocardiograma

Previsão de séries temporais

Page 77: 17 -Redesneurais2tbl - Copia

31/08/2015 Redes Neurais - Teresa Ludermir - CIn - UFPE 77

Conclusão

Necessidade de redes multicamadas

Redes de uma camada não resolvem

problemas não linearmente separáveis

Problema: treinamento de redes multicamadas

Backpropagation

Overfitting

Momento