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
Download

MSc10