projeto e treinamento de mlps prof. júlio cesar nievola ppgia - pucpr

32
Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

Upload: internet

Post on 17-Apr-2015

109 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

Projeto e Treinamento de MLPs

Prof. Júlio Cesar NievolaPPGIA - PUCPR

Page 2: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 2

Controle da AprendizagemHá procedimentos sistemáticos na busca da superfície de desempenho. Entretanto, a busca deve ser controlada heuristicamenteO usuário atua na busca através

da seleção dos pesos iniciaisdas taxas de aprendizagemdo algoritmo de buscado critério de parada

Exemplo 01

Page 3: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 3

Pesos e MSE MínimoConjuntos finais de pesos diferentes surgem com mesma topologia e mesmo treinamento

Muitas simetrias no mapeamento entrada-saídaNão há garantias que o problema tenha somente uma solução – topologias redundantesCondições iniciais aleatórias (conjunto de pesos)

Aprendizagem é um processo estocásticoDeve-se executar cada rede várias vezes com condições iniciais diferentes e usar a melhor

Exemplo 02

Page 4: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 4

Controle do Tamanho do Passo

Em redes não-lineares (MLP) a seleção do tamanho do passo é muito importanteEscalonamento:

Experimentalmente obtém-se 0 e n0. Se 0 é muito grande então há divergência. Se n0 é muito pequeno a aprendizagem “pára”. Se n0 é muito grande a aprendizagem torna-se demorada.Escalonamento ajuda a escapar de mínimos locais em superfícies não-convexas

iterativocontadorumé

passodoinicialtamanhooéonde,

1 0

0

0

0

nnn

n

Exemplo 03

Exemplo 04

Page 5: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 5

Taxas de Aprendizagem e Competição Interna

Aprendizagem robusta: todos os parâmetros devem aprender com mesma velocidadeRegra Prática: aumentar por um fator 2 a 5 a taxa de aprendizagem de uma camada para outraNão-linearidade do PE: fonte de competição interna => diferentes PEs se especializam em diferentes áreas do espaço de entradaCompetição Interna: assinala a grupos de PEs determinados padrões de agrupamento

Page 6: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 6

Inicialização dos PesosÉ comum iniciar os pesos aleatoriamenteUm PE na região linear aprende mais rapidamente que na região saturadaRegra prática para não-linearidade tanh: deve-se ajustar os pesos iniciais com variância

onde I é o número de entradas do PE

II

4,2,

4,2

Exemplo 05

Page 7: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 7

Aprendizagem baseada em Descida do Gradiente

Vantagem principal simplicidade não potência

Ou método de busca de primeira ordem

O algoritmo LMS, a regra delta e o backpropagation usam atualização dos pesos que são implementações deste conceito

ijij wJnw

nxnnw jiij

Page 8: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 8

Aprendizagem com MomentoAprendizagem com momento usa uma memória (incremento anterior) para aumentar a velocidade e estabilizar a convergênciaEquação de correção dos pesos

onde é a constante de momentoNormalmente, é ajustada entre 0,5 e 0,9

11 nwnwnxnnwnw ijijjiijij

Exemplo 06

Page 9: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 9

Exemplo de Momento

Page 10: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 10

Ajuste Adaptativo do PassoIdéia simples: observar a trilha dos pesos:

Se o sinal do erro é consecutivamente o mesmo, então a taxa de aprendizagem está pequenaSe o sinal do erro alterna-se consecutivamente, então a taxa de aprendizagem está muito grande

Para funcionar deve-se usar um tamanho de passo diferente para cada pesoO acréscimo lento e decréscimo rápido do tamanho do passo evita a divergência

Page 11: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 11

Algoritmo Delta-Bar-DeltaCada tamanho do passo é atualizado por

onde Sij indica a média dos gradientes anteriores e Dij é o atual gradiente

Sij é a média das derivadas anteriores e atual

onde é um número entre 0 e 1

contráriocasoem0

01se

01se

1 nDnSnb

nDnSk

n ijijij

ijij

ij

11 nSnDnS ijijij

Exemplo 07

Page 12: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 12

Tamanho de Passo Adaptativo

de Almeida (e Silva)Se o sinal do erro é consecutivamente o mesmo, aumentar a taxa de aprendizagemSe o sinal do erro alterna-se consecutivamente, diminuir a taxa de aprendizagem

Atualização dos pesos

onde kjC(n) é cada componente do gradiente e a cada iteração

nCnnwnw kjkjkjkj 1

01se1

01se1

nCnCnd

nCnCnun

kjkjkj

kjkjkj

kj

Page 13: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 13

Tamanho de Passo Adaptativo

de Almeida (e Silva)u e d são constantes positivas ligeiramente abaixo e acima de 1. Autores sugerem d=1/uA atualização dos pesos é geométrica em ambas as direções (aumento e diminuição)O método tem bom resultado quando o gradiente é conhecido com alta precisão, como por exemplo na aprendizagem batchAs equações são baseadas em heurísticas que controlam o crescimento do tamanho do passo

Exemplo 08

Page 14: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 14

Método do Gradiente Conjugado

O gradiente não é o caminho mais rápido para o mínimo devido à excentricidade da superfície de desempenho (razão dos autovalores), causando um zigue-zaguePara melhorar isto, pondera-se a correção

onde é calculado dinamicamenteNa aprendizagem por momento a ponderação é fixa e não calculada para o melhor caso

oldnewnew sJs

Page 15: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 15

Critério de ParadaNúmero de iteraçõesMSE: é apenas variável indireta na classificaçãoNão há garantia de que o sistema possa atingir um MSE especificadoTaxa de decréscimo do MSE

indica quando não há mais extração de informaçãohá parada prematura no caso de regiões planas

Exemplo 09

Page 16: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 16

Critério de ParadaProblema da generalização: overtrainingParada com validação cruzada

dois conjuntos: treinamento e validaçãoconjunto de validação: 10% do total dos casoscom certa freqüência (5 a 10 iterações) verifica-se o desempenho no conjunto de validaçãoquando errovalid aumenta, pára-se o treinamento

Dificuldade: menor conjunto de treinamentoMétodo usado para problemas reais

Exemplo 10

Page 17: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 17

Tamanho do conjunto de treinamento

Número N aproximado de padrões requerido para classificar exemplos de teste com um erro , em uma rede com W pesos

Considera-se dados representativosSolução do problema inverso (número de padrões limitado):

conexões esparsas da entrada para escondidapré-processamento para reduzir dimensionalidade

W

N

Exemplo 11

Page 18: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 18

Escalabilidade e Treinabilidade

Barron[1993]: Para grandes conjuntos de treinamento, o erro no MLP é independente do tamanho do espaço de entrada e escala com o inverso do número de PEs escondidosTempo de treinamento de MLP com backpropagation aumenta exponencialmente com o tamanho do problemaAlternativa: uso de redes com arquiteturas modulares, conexões esparsas ou algoritmos de treinamento avançados

Exemplo 12

Page 19: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 19

Motivos para Desempenho Fraco

Rede sem poder discriminanteRede com PEs insuficientesAprendizagem parada em mínimo local ou em região planaSobre-treinamento da redeExemplos de treinamento não adequadosProblema intrinsecamente difícil para características utilizadas (usar filtro, novas entradas)

Page 20: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 20

Critério de Erro

Page 21: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 21

Normas Lp

O critério de erro, ou custo, é calculado sobre a soma dos custos individuais, Jnk obtido pela apresentação de cada padrão de entrada

onde k é um índice sobre as saídas do sistema e n é um índice sobre os padrões de entrada

Jnk é o custo individual, e é necessário determinar somente o erro instantâneo nk

k n

nkJJ

nknknknk fydfJ

Exemplo 13

Page 22: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 22

Critério MSEO critério MSE tem as características

em redes em avanço lineares ele conduz a um problema de otimização linear que tem uma solução analítica

fornece uma interpretação probabilística da saída da máquina de aprendizagem

é fácil de implementar, já que é o erro instantâneo que é injetado no sistema dual

apresenta problemas com relação a outliers

Page 23: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 23

Normas Lp

De forma geral, o erro instantâneo pode ser

onde p é um inteiro, chamado norma de nk

Pode-ser ter vários casos em função de p:p=2: critério MSE

p=1: métrica de Manhattan, norma robusta

p=0: uso somente do sinal dos desvios

p=: todos os erros são zero, exceto o maior

p

nknknk ydJ

Exemplo 14

Page 24: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 24

Medida de Erro baseada naTeoria da Informação

Pode-se medir a divergência entre duas funções de probabilidade de massa q(x) e p(x) usando o critério de informação de Kullback-Leibler ou entropia cruzada:

x xq

xpxpqpD log Implementação do critério

de entropia cruzada

Page 25: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 25

Entropia CruzadaA saída do sistema, usando o critério de custo Kullback-Leibler aproxima-se da resposta desejada em sentido estatístico

Para c classes o critério K-L torna-se

onde n é o índice sobre os padrões de entrada e k o índice sobre as classes

A rede usa PEs de saída que implementam a função softmax e o critério de entropia cruzada pode ser implementado pelo critério MSE

n k nk

nknk d

ydJ log

Exemplo 15

Page 26: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 26

Tamanho da Rede e Generalização

Redes MLP treinadas com backpropagation não controlam habilidade de generalizaçãoPara uma rede determinada o uso da validação cruzada para parar o treinamento permite maximizar a generalizaçãoO tamanho da rede (complexidade do modelo) está ligada ao desempenho:

Poucos pesos não permitem à rede atingir o objetivoMuitos pesos memorizam (não generalizam bem)

Page 27: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 27

Occam’s Razor eAprendizagem Estrutural

O problema do tamanho da rede pode ser visto de maneira simplificada usando o Occam’s Razor: Qualquer máquina de aprendizagem deve ser grande o suficiente para resolver o problema, porém não maior.

Dificuldade: o que é grande o suficiente?

A Teoria da Aprendizagem Estrutural (dimensão V-C) fornece respostas teóricas à generalização, mas é difícil de ser aplicada a MLPs

Page 28: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 28

Eliminação de PesosWeight Decay: alguns pesos aumentam mas outros se aproximam de zeroO método da eliminação de pesos não deve ser aplicada aos bias, somente aos pesosO termo de decaimento deve ser menor para pesos maiores:

É fácil de implementar pois os pesos estão sendo atualizados durante a adaptação

ji

ij

ijij xw

nwnw

221

11

Exemplo 16

Page 29: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 29

Comitê de RedesVárias redes de tamanho e características diferentes podem ser usadas em conjunto para melhorar o desempenho do classificador[Perrone,94]: Sob certas condições, o erro de um comitê é C vezes menor que o erro médio de cada uma das C redes do comitê

Maior vantagem: redução na variância do erroCada rede deve ter acerto superior a 50%Pode-se ponderar a contribuição de cada rede para a resposta final

Exemplo 17

Page 30: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 30

Heurísticas para melhorar Tempo de Treinamento e

DesempenhoNormalizar os dados em relação à faixa de ativação da redeUsar não-linearidade do tipo tanhUsar PE softmax na camada de saídaNormalizar o sinal desejado ligeiramente acima/abaixo do limite (p.ex. 0,9 e não 1)Adicionar um valor constante de 0,05 na derivada da não-linearidade

Exemplo 18

Page 31: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 31

Heurísticas para melhorar Tempo de Treinamento e

DesempenhoAjustar um tamanho do passo maior nas camadas mais próximas da entradaEm aprendizagem online, alterar a seqüência do conjunto de treinamento periodicamenteInicializar os pesos da rede na região linear da não-linearidadeUsar métodos de aprendizagem mais sofisticados (delta-bar-delta, gradiente conjugado etc.) Exemplo 19

Page 32: Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR

PPGIA - PUCPR Prof. Júlio Cesar Nievola 32

Heurísticas para melhorar Tempo de Treinamento e

DesempenhoSempre ter mais padrões de treinamento que pesos. Treinar a rede até que o MSE se torne menor que /2Usar validação cruzada para parar o treinamentoRodar a rede várias vezes para medir o desempenhoPara melhorar a classificação, usar um comitê de redes neurais

Exemplo 20