320 likes | 424 Views
Projeto e Treinamento de MLPs. Prof. Júlio Cesar Nievola PPGIA - PUCPR. Controle da Aprendizagem. Há procedimentos sistemáticos na busca da superfície de desempenho. Entretanto, a busca deve ser controlada heuristicamente O usuário atua na busca através da seleção dos pesos iniciais
E N D
Projeto e Treinamento de MLPs Prof. Júlio Cesar Nievola PPGIA - PUCPR
Controle da Aprendizagem • Há procedimentos sistemáticos na busca da superfície de desempenho. Entretanto, a busca deve ser controlada heuristicamente • O usuário atua na busca através • da seleção dos pesos iniciais • das taxas de aprendizagem • do algoritmo de busca • do critério de parada Exemplo 01 Prof. Júlio Cesar Nievola
Pesos e MSE Mínimo • Conjuntos finais de pesos diferentes surgem com mesma topologia e mesmo treinamento • Muitas simetrias no mapeamento entrada-saída • Não há garantias que o problema tenha somente uma solução – topologias redundantes • Condições iniciais aleatórias (conjunto de pesos) • Aprendizagem é um processo estocástico • Deve-se executar cada rede várias vezes com condições iniciais diferentes e usar a melhor Exemplo 02 Prof. Júlio Cesar Nievola
Controle do Tamanho do Passo • Em redes não-lineares (MLP) a seleção do tamanho do passo é muito importante • Escalonamento: • 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 Exemplo 03 Exemplo 04 Prof. Júlio Cesar Nievola
Taxas de Aprendizagem e Competição Interna • Aprendizagem robusta: todos os parâmetros devem aprender com mesma velocidade • Regra Prática: aumentar por um fator 2 a 5 a taxa de aprendizagem de uma camada para outra • Não-linearidade do PE: fonte de competição interna => diferentes PEs se especializam em diferentes áreas do espaço de entrada • Competição Interna: assinala a grupos de PEs determinados padrões de agrupamento Prof. Júlio Cesar Nievola
Inicialização dos Pesos • É comum iniciar os pesos aleatoriamente • Um PE na região linear aprende mais rapidamente que na região saturada • Regra 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 Exemplo 05 Prof. Júlio Cesar Nievola
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 Prof. Júlio Cesar Nievola
Aprendizagem com Momento • Aprendizagem com momento usa uma memória (incremento anterior) para aumentar a velocidade e estabilizar a convergência • Equação de correção dos pesos onde é a constante de momento • Normalmente, é ajustada entre 0,5 e 0,9 Exemplo 06 Prof. Júlio Cesar Nievola
Exemplo de Momento Prof. Júlio Cesar Nievola
Ajuste Adaptativo do Passo • Idéia simples: observar a trilha dos pesos: • Se o sinal do erro é consecutivamente o mesmo, então a taxa de aprendizagem está pequena • Se 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 peso • O acréscimo lento e decréscimo rápido do tamanho do passo evita a divergência Prof. Júlio Cesar Nievola
Algoritmo Delta-Bar-Delta • Cada 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 Exemplo 07 Prof. Júlio Cesar Nievola
Tamanho de Passo Adaptativo de Almeida (e Silva) • Se o sinal do erro é consecutivamente o mesmo, aumentar a taxa de aprendizagem • Se 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 Prof. Júlio Cesar Nievola
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/u • A 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 batch • As equações são baseadas em heurísticas que controlam o crescimento do tamanho do passo Exemplo 08 Prof. Júlio Cesar Nievola
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-zague • Para melhorar isto, pondera-se a correção onde é calculado dinamicamente • Na aprendizagem por momento a ponderação é fixa e não calculada para o melhor caso Prof. Júlio Cesar Nievola
Critério de Parada • Número de iterações • MSE: é apenas variável indireta na classificação • Não há garantia de que o sistema possa atingir um MSE especificado • Taxa de decréscimo do MSE • indica quando não há mais extração de informação • há parada prematura no caso de regiões planas Exemplo 09 Prof. Júlio Cesar Nievola
Critério de Parada • Problema da generalização: overtraining • Parada com validação cruzada • dois conjuntos: treinamento e validação • conjunto de validação: 10% do total dos casos • com certa freqüência (5 a 10 iterações) verifica-se o desempenho no conjunto de validação • quando errovalid aumenta, pára-se o treinamento • Dificuldade: menor conjunto de treinamento • Método usado para problemas reais Exemplo 10 Prof. Júlio Cesar Nievola
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 representativos • Solução do problema inverso (número de padrões limitado): • conexões esparsas da entrada para escondida • pré-processamento para reduzir dimensionalidade Exemplo 11 Prof. Júlio Cesar Nievola
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 escondidos • Tempo de treinamento de MLP com backpropagation aumenta exponencialmente com o tamanho do problema • Alternativa: uso de redes com arquiteturas modulares, conexões esparsas ou algoritmos de treinamento avançados Exemplo 12 Prof. Júlio Cesar Nievola
Motivos para Desempenho Fraco • Rede sem poder discriminante • Rede com PEs insuficientes • Aprendizagem parada em mínimo local ou em região plana • Sobre-treinamento da rede • Exemplos de treinamento não adequados • Problema intrinsecamente difícil para características utilizadas (usar filtro, novas entradas) Prof. Júlio Cesar Nievola
Critério de Erro Prof. Júlio Cesar Nievola
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 Exemplo 13 Prof. Júlio Cesar Nievola
Critério MSE • O 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 Prof. Júlio Cesar Nievola
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 Exemplo 14 Prof. Júlio Cesar Nievola
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: Implementação do critério de entropia cruzada Prof. Júlio Cesar Nievola
Entropia Cruzada • A 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 Exemplo 15 Prof. Júlio Cesar Nievola
Tamanho da Rede e Generalização • Redes MLP treinadas com backpropagation não controlam habilidade de generalização • Para uma rede determinada o uso da validação cruzada para parar o treinamento permite maximizar a generalização • O tamanho da rede (complexidade do modelo) está ligada ao desempenho: • Poucos pesos não permitem à rede atingir o objetivo • Muitos pesos memorizam (não generalizam bem) Prof. Júlio Cesar Nievola
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 Prof. Júlio Cesar Nievola
Eliminação de Pesos • Weight Decay: alguns pesos aumentam mas outros se aproximam de zero • O método da eliminação de pesos não deve ser aplicada aos bias, somente aos pesos • O termo de decaimento deve ser menor para pesos maiores: • É fácil de implementar pois os pesos estão sendo atualizados durante a adaptação Exemplo 16 Prof. Júlio Cesar Nievola
Comitê de Redes • Vá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 erro • Cada rede deve ter acerto superior a 50% • Pode-se ponderar a contribuição de cada rede para a resposta final Exemplo 17 Prof. Júlio Cesar Nievola
Heurísticas para melhorar Tempo de Treinamento e Desempenho • Normalizar os dados em relação à faixa de ativação da rede • Usar não-linearidade do tipo tanh • Usar PE softmax na camada de saída • Normalizar 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 Prof. Júlio Cesar Nievola
Heurísticas para melhorar Tempo de Treinamento e Desempenho • Ajustar um tamanho do passo maior nas camadas mais próximas da entrada • Em aprendizagem online, alterar a seqüência do conjunto de treinamento periodicamente • Inicializar os pesos da rede na região linear da não-linearidade • Usar métodos de aprendizagem mais sofisticados (delta-bar-delta, gradiente conjugado etc.) Exemplo 19 Prof. Júlio Cesar Nievola
Heurísticas para melhorar Tempo de Treinamento e Desempenho • Sempre ter mais padrões de treinamento que pesos. Treinar a rede até que o MSE se torne menor que /2 • Usar validação cruzada para parar o treinamento • Rodar a rede várias vezes para medir o desempenho • Para melhorar a classificação, usar um comitê de redes neurais Exemplo 20 Prof. Júlio Cesar Nievola