Projeto Híbrido de Redes Neurais Ricardo Bastos C. Prudêncio Orientação: Teresa B. Ludermir CIn - UFPE Jan - 2002 1 Roteiro Introdução Uso de Conhecimento para o Projeto de RNAs Uso de Busca para o Projeto de RNAs: Algoritmos Genéticos Um Novo Modelo de Automatização: Raciocínio Baseado em Casos e Algoritmos Genéticos Treinamento Híbrido de Redes Neurais Considerações Finais 2 Redes Neurais Artificiais Possuem diversas vantagens que as tornam bem sucedidas em uma diversidade de problemas Poder computacional, tolerância a falhas, tolerância a ruído, incompletude e inconsistência nos dados, etc... O sucesso de uma rede neural depende de um projeto bem realizado 3 Projeto de Redes Neurais Preparação dos Dados Seleção, transformações, limpeza, etc… Escolha do Modelo e da Arquitetura MLP, RBF, Elman, Jordan, GMDH, etc… N°. de camadas, n°. de neurônios, etc… Treinamento dos Pesos Backpropagation, Gradientes Conjugados, etc… Taxa de aprendizado, momentum, etc… Avaliação Medida de desempenho 4 Projeto Automático de Redes Neurais Objetivo: Automatizar total ou parcialmente o projeto das redes neurais. Motivações: Facilitar o projeto das redes neurais. Otimizar o desempenho das redes neurais. Abordagens: Uso de conhecimento (teórico ou experimental, do domínio ou geral) Uso de técnicas de busca 5 Uso de Conhecimento para o Projeto de RNAs Conhecimento do domínio: técnicas que transformam conhecimento simbólico sobre o domínio em redes neurais. Conhecimento geral: conhecimento adquirido pela experiência em resolver problemas de diferentes domínios. 6 Conhecimento do Domínio Algoritmo KBANN (Knowledge Based Artificial Neural Network) Conjunto de Regras Reescritas Conjunto Inicial de Regras Rede Gerada com as Regras A Reescrita A :- B, C, D A :- D, E A :- A1 A1 :- B, C, D Inserção das regras OR A1 A :- A2 A2 :- D, E A2 AND B C D E 7 Conhecimento Geral Conhecimento válido para diversos domínios Relaciona as características do problema com os parâmetros do projeto. Sistemas Especialistas Exemplo: Regras Fuzzy Algoritmos de Aprendizado. Exemplo: Raciocínio Baseado em Casos (RBC) 8 Uso de Busca para o Projeto de RNAs: Algoritmos Genéticos Abordam o projeto de RNAs como um problema de busca e otimização. Por que AGs??? Menos sensíveis a mínimos locais Otimizam uma grande quantidade de funções Inúmeros usos no projeto: Definição da arquitetura Aprendizado dos pesos. 9 Algoritmos Genéticos para o Projeto de RNAs Pai-1 9 4 Pai-2 3 1001 0100 0011 4 3 Filho-1 9 0100 0011 1001 8 3 11 1000 0011 1011 Cromossomo: codifica a rede neural Operadores genéticos: exploram o espaço de busca das redes. Função de aptidão: representa a função de desempenho da rede para o problema abordado 10 Projeto Híbrido de Redes Neurais Integra diferentes técnicas de IA para o projeto automático de redes neurais Estudo de Sistemas Neurais Híbridos Contribuições: Modelo de Automatização Raciocínio Baseado em Casos e Algoritmos Genéticos Treinamento Híbrido de Redes Neurais AGs e Levenberg-Marquardt 11 Um Novo Modelo de Automatização: RBC e AG Projeto das redes é tratado de forma híbrida: uso de conhecimento e busca. Conhecimento é usado para iniciar o processo de busca. Base de casos é usada para inicializar a primeira população dos AGs. No modelo proposto, RBC manipula o conhecimento e AGs realizam a busca. 12 Exemplo de Caso no Domínio de Previsão de Séries Temporais Caso 1 PROBLEMA SOLUÇÃO Série Temporal [0.2, 0.3, ..., 1.2] Modelo Rede NARX Média da Série 0.625 Arquitetura Janela tempo=2 Desvio Padrão 0.12 Cam contexto=1 Autocorrelação [1, 0.76, .., 0.1] camada oculta=4 Sazonalidade Não Algoritmo Backpropagation Tendência Sim Taxa Apren. 0.2 13 Representação do Caso como Cromossomo Cromossomo 1 1 - 2 - 1 - 4 - 1 - 0.2 Categoria “Rede NARX” associada ao valor 1 Janela de tempo (sem transformações) Camada de contexto (sem transformações) Camada oculta (sem transformações) Categoria “Backpropagation” associada ao valor 1 Taxa de aprendizado (sem transformações) 14 Protótipo Definição da arquitetura da redes NARMAX para previsão de séries temporais: Tamanho da janela de tempo Tamanho da camada de contexto Tamanho da camada oculta Modelos Univariados Implementação em MATLAB 5.0 15 Protótipo - Arquitetura Série temporal Série processada PROC novo caso Arquiteturas sugeridas GBC AG Rede treinada + resultados TR Módulo de Processamento (PROC) Módulo Gerenciador da Base de Casos (GBC) Módulo Algoritmo Genético (AG) Módulo de Treinamento (TR) 16 Protótipo – Módulo PROC Facilitar a modelagem das séries Eliminação da Tendência: aplicação do operador de diferenciação Eliminação da Sazonalidade: aplicação do operador de diferenciação sazonal 17 Protótipo – Módulo AG Representação vetorial Zt 2-1-2 Z Zt-1 Zt-2 et-1 e 18 Protótipo – Módulo AG Operador de Mutação pi + 1; if 0.5 pi – 1; if 0.5 pi+1 = U(0;1) Função de Aptidão: MSE (Mean Squared Error) do conjunto de validação (estimativa do poder de generalização) 19 Protótipo – Módulo GBC Casos usam a mesma representação usada nos cromossomos 47 casos Arquiteturas geradas pelos AGs para 47 séries temporais extraídas da literatura. Medida de Similaridade: Distância Euclidiana entre as 10 primeiras autocorrelações das séries. 20 Protótipo – Módulo TR Algoritmo de Levenberg Marquardt Cada série temporal é igualmente dividida em três conjuntos de dados: treinamento, validação e teste. Critérios de parada (Proben): número máximo de iterações perda de generalidade parada no progresso de treinamento 21 Testes (I) Objetivo: Avaliar a utilidade da base de casos na inicialização dos AGs. AGs inicializados com casos vs. AGs com inicialização aleatória Avaliação para 3 séries temporais. 5 execuções para cada série temporal # de Cromossomos: 4 # de Gerações: 5 22 Resultados (I) Série 1: Média MSE Treinamento Média MSE Validação Média MSE Teste RBC-AG 126131,15 186623,70 149631,48 AG 104408,96 198346,50 160808,85 • Ganhos nos conjuntos de validação e teste 23 Resultados (I) Série 2: Média MSE Treinamento Média MSE Validação Média MSE Teste RBC-AG 14102,08 41050,44 85318,92 AG 11508,00 42436,19 96287,59 • Ganhos nos conjuntos de validação e teste 24 Resultados (I) Série 3: Média MSE Treinamento Média MSE Validação Média MSE Teste RBC-AG 1355,28 1559,11 1359,75 AG 1474,61 1686,90 1411,46 • Ganhos nos três conjuntos de dados 25 Resultados (I) Média do Número de Conexões AG RBC-AG Ganho % Série 1 11,2 6,2 44,64 Série 2 21,0 13,6 35,24 Série 3 30,2 5,0 83,44 • Ganho nas três séries de teste 26 Conclusões (I) AGs inicializados com casos geraram redes com menor erro de validação e de teste. AGs inicializados com casos geraram redes com menor número de conexões. Montagem de uma base com 50 casos. Base de casos adquiriu conhecimento útil. 27 Trabalhos Futuros (I) Implementar outras medidas de similaridade, com seleção de atributos. Extrair conhecimento simbólico a partir da base de casos. Extensão do modelo para outros parâmetros do projeto. Aplicação do modelo em outros problemas. 28 Treinamento Híbrido de Redes Neurais Algoritmos Genéticos são bons em buscas globais, porém ineficientes em busca locais. Técnicas de Gradiente são boas em busca locais, porém ineficientes em buscas globais. Combinações das duas técnicas podem gerar algoritmos de treinamento mais eficientes. 29 Treinamento Híbrido – AGs e Levenberg-Marquardt (LM) AGs são usados para definir os pesos iniciais da rede para o algoritmo de LM. Algoritmo LM é executado tamanho da população X número de gerações vezes Algoritmos Genéticos Configurações de pesos iniciais Algoritmo LM Evolução Algoritmo LM Evolução Algoritmo LM Evolução 30 Algoritmos Genéticos Representação direta Zt 0 1 H1 ... H5 5 Z ... Zt-1 ... 0.21 Zt-12 ... -0.13 0.37 -0.03 0.22 ... -0.35 12x5 pesos da camada 5 pesos da camada 1 bias da saída + 5 bias de entrada oculta da camada oculta 31 Algoritmos Genéticos Mutação Gaussiana sobre cada peso pi+1 = pi + N(0, 2) Função de Aptidão = MSE do conjunto de validação após treinamento com LM. 32 Levenberg-Marquardt A série temporal foi igualmente dividida em três conjuntos de dados treinamento, validação e teste Critérios de parada (Proben) número máximo de iterações perda de generalidade parada no progresso de treinamento 33 Testes (II) Rede NARX com janela de tempo de tamanho 12 e 5 neurônios na camada oculta Dados: Série temporal com 300 pontos representando vazões da bacia de Guarapiranga Algoritmo Híbrido vs. LM com inicialização aleatória Cada procedimento retorna a rede com menor erro de validação gerada 34 Testes (II) Parâmetros da mutação fixos Taxa de Mutação = 0.1 Desvio da Mutação Gaussiana = 0.3 Tamanho da população e número de gerações variaram (5x10), (10x10) e (10x20) Algoritmo LM com três taxas de aprendizado: 0.1, 2.0 e 10.0 35 Resultados (II) taxa = 0.1 Média MSE Treinamento Média MSE Validação Média MSE Teste Tempo total de execução Aleatório(50) 21,7584 38,2040 42,9316 19 min Aleatório(100) 22,7988 37,8256 42,7544 38 min Aleatório(200) 23,7467 37,5871 40,9037 76 min AG(5x10) 22,7350 36,4482 40,5466 12 min AG(10x10) 22,3057 35,5361 40,8520 23 min AG(10x20) 23,3401 35,2380 40,4153 45 min Taxa = 0,1 36 Resultados (II) taxa = 2.0 Média MSE Treinamento Média MSE Validação Média MSE Teste Tempo total de execução Aleatório(50) 22,2724 37,3105 36,2031 23 min Aleatório(100) 22,6491 36,7750 36,3558 47 min Aleatório(200) 22,8958 36,5335 37,5623 94 min AG(5x10) 24,1478 36,4207 39,0691 12 min AG(10x10) 24,6531 35,3425 38,1270 23 min AG(10x20) 22,6433 34,1983 40,6142 49 min Taxa = 2,0 37 Resultados (II) taxa = 10.0 Taxa = 10,0 Média MSE Treinamento Média MSE Validação Média MSE Teste Tempo total de execução Aleatório(50) 22,7077 35,8479 34,9855 30 min Aleatório(100) 21,9447 35,4148 34,4138 68 min Aleatório(200) 22,7092 35,5149 35,6331 120 min AG(5x10) 21,4619 35,6716 36,2181 13 min AG(10x10) 21,9556 34,6803 36,1797 24 min AG(10x20) 22,9866 34,0481 36,8073 47 min 38 Conclusões (II) Trabalho original Integração dos AGs com o algoritmo de Levenberg-Marquadt O algoritmo híbrido sempre encontrou redes com menor erro de validação em menor tempo de execução O algoritmo híbrido obteve melhores resultados no conjunto de teste quando a taxa de aprendizado foi ruim 39 Trabalhos Futuros (II) Definir quando usar o algoritmo híbrido a partir do comportamento do algoritmo local. Definir de maneira apropriada os parâmetros dos AGs taxas de mutação desvio da mutação Gaussiana 40 Considerações Finais Estudo das diversas técnicas de IA que podem ser usadas no projeto de RNAs Contribuições no campo de Sistemas Híbridos Uma nova abordagem para o projeto automático de RNAs (RBC-AG) Integração dos AGs com o algoritmo de Levenberg-Marquadt 41 Projeto Híbrido de Redes Neurais Perguntas ??? 42