82
Evolução Estrutural e Paramétrica de Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado Candidato: Cesar Gomes Miguel Orientador: Prof. Dr. Marcio Lobo Netto 23 de Março de 2009 Universidade de São Paulo Escola Politécnica Engenharia de Sistemas Eletrônicos

Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

Embed Size (px)

Citation preview

Page 1: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

Evolução Estrutural e Paramétrica de Redes Neurais Dinâmicas em

Vida Artificial

Defesa de Mestrado

Candidato: Cesar Gomes Miguel

Orientador: Prof. Dr. Marcio Lobo Netto

23 de Março de 2009

Universidade de São PauloEscola Politécnica

Engenharia de Sistemas Eletrônicos

Page 2: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

2

Motivação

Comportamento

GradientesQuímicos

SistemaNervoso

Interação com o ambiente

Page 3: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

3

Motivação

Comportamento

GradientesQuímicos

SistemaNervoso

Interação com o ambiente

Seleção Natural

Reprodução

Novos indivíduos

Page 4: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

4

Motivação

Comportamento

GradientesQuímicos

SistemaNervoso

Interação com o ambiente

Aumento das chancesreprodutivas

Seleção Natural

Reprodução

Novos indivíduos

Page 5: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

5

Motivação

Comportamento

GradientesQuímicos

SistemaNervoso

Interação com o ambiente

Aumento das chancesreprodutivas

Seleção Natural

Reprodução

Novos indivíduos

Adaptativo

Page 6: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

6

Motivação

Comportamento

“Inteligência”GradientesQuímicos

SistemaNervoso

Interação com o ambiente

Aumento das chancesreprodutivas

Seleção Natural

Reprodução

Novos indivíduos

Adaptativo

Page 7: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

7

Motivação

Comportamento

“Inteligência”GradientesQuímicos

SistemaNervoso

Interação com o ambiente

Aumento das chancesreprodutivas

Seleção Natural

Reprodução

Novos indivíduos

Adaptativo

Como simulareste processo?

Page 8: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

8

Motivação

● Algoritmos Genéticos (AGs)

Simulação do processo evolutivo.

Uma forma possível é inspirada na própria biologia, usando como modelo:

Page 9: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

9

Motivação

● Algoritmos Genéticos (AGs)

● Redes Neurais Artificiais (RNAs)

Simulação do processo evolutivo.

Modelo para o sistema nervoso, reproduzindo suas principais características.

Uma forma possível é inspirada na própria biologia, usando como modelo:

Page 10: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

10

Motivação

● Algoritmos Genéticos (AGs)

● Redes Neurais Artificiais (RNAs)

Simulação do processo evolutivo.

Modelo para o sistema nervoso, reproduzindo suas principais características.

Uma forma possível é inspirada na própria biologia, usando como modelo:

Neuroevolução

Page 11: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

11

Objetivo Geral

Investigar métodos para combinar RNAs e AGs, de forma que possam ser usados no controle e adaptação de indivíduos (organismos artificiais) situados num ambiente virtual.

Page 12: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

12

Objetivos Específicos

● Histórico e teoria sobre RNAs e AGs;● Neuroevolução (RNAs e AGs);● Análise do NEAT;● Desenvolvimento de uma biblioteca para o NEAT;

Page 13: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

13

Objetivos Específicos

● Análise de simuladores para ambientes virtuais;● Realização de experimentos utilizando a biblioteca proposta para o NEAT;● Avaliação dos resultados.

Page 14: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

14

Neuroevolução

Page 15: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

15

Neuroevolução

Neuroevolução = 90% AG + 10% RNA

Page 16: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

16

Neuroevolução

Idéia:● Estabelecer uma codificação eficiente para representar arquiteturas de redes neurais (i.e., definir o genótipo);

Neuroevolução = 90% AG + 10% RNA

Page 17: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

17

Neuroevolução

Idéia:● Estabelecer uma codificação eficiente para representar arquiteturas de redes neurais (i.e., definir o genótipo);

● Para o Algoritmo Genético, a estrutura em si é irrelevante desde que:

(a) O fenótipo possa ser avaliado;(b) Os operadores de recombinação e mutação “entendam” a estrutura utilizada;

Neuroevolução = 90% AG + 10% RNA

Page 18: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

18

Neuroevolução

Principais vertentes:

● Evolução dos pesos sinápticos (topologia fixa);

● Evolução dos pesos e da topologia;

Page 19: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

19

Neuroevolução

Principais aplicações:

● Modelo bio-inspirado para a evolução do sistema nervoso.

● Método automático para determinar a topologia e os pesos sinápticos, assim como outros parâmetros.

Vida Artificial

Otimização

Page 20: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

20

Neuroevolução

Alguns problemas:

1. Como representar a rede neural num genótipo?

2. Como cruzar redes neurais de topologias/tamanhos arbitrários?

3. Como medir a similaridade entre duas redes?

Page 21: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

21

Neuroevolução

NEAT (NeuroEvolution of Augmenting Topologies)

● Início em 2002 (Kenneth Stanley, UT em Austin);● Novas abordagens para os problemas anteriores;● “Principal” método de neuroevolução;● Largo campo de aplicação.

Page 22: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

22

Neuroevolução: NEAT

Principais características:

● Codificação genética flexível;● Introdução de marcadores históricos (genes

homólogos);● Especiação;● Minimiza o espaço de busca por complexificação,

Page 23: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

23

Neuroevolução: NEAT

Codificação genética do fenótipo:

Page 24: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

24

Neuroevolução: NEAT

Mutação estrutural:

Page 25: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

25

Neuroevolução: NEAT

Operador de recombinação (crossover):

Page 26: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

26

Neuroevolução: NEAT

Operador de recombinação (crossover):

Page 27: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

27

Neuroevolução: NEAT

Operador de recombinação (crossover):

(mãe)

Page 28: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

28

Neuroevolução: NEAT

Operador de recombinação (crossover):

(mãe)

Page 29: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

29

Neuroevolução: NEAT

Distância genética (especiação):

● Protege novas estruturas;● Não cruza redes “incompatíveis”.

● Evita mínimos locais;

E: Genes em excessoD: Genes disjuntosW: Média dos genes homólogos

Page 30: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

30

Neuroevolução: NEAT

Inicia com a menor topologia:

Page 31: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

31

Neuroevolução: NEAT

Inicia com a menor topologia:

vs

Page 32: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

32

Trabalhos Relacionados

Page 33: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

33

Criaturas Virtuais (Karl Sims)

● Mapeamento genótipo-fenótipo indireto (usando recursividade)

● Desenvolvimento da morfologia;● Evolução aberta (com poucas restrições).

Principais características:

Page 34: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

34

Virtual Creatures (Karl Sims)

Exemplo de criaturas obtidas:

Nadar CompetirCaminhar

Page 35: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

35

Polyworld (Larry Yaeger)

● Simulador para ecologia artificial;● Evolução contínua (não baseada em gerações fixas);● Evolução da topologia e aprendizado hebbiano;

Principais características:

Page 36: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

36

Polyworld (Larry Yaeger)

Page 37: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

37

Simuladores de Vida Artificial

● Empregam métodos particulares de neuroevolução;

● Usam simuladores de ambiente.

Características comuns:

Page 38: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

38

Simuladores de Vida Artificial

● Empregam métodos particulares de neuroevolução;

● Usam simuladores de ambiente.

Características comuns:

Problemas identificados:

● Os métodos de neuroevolução são pouco conhecidos e detalhados (dificulta replicação e análises comparativas);

● Os simuladores compartilham muitas características que poderiam ser re-aproveitadas.

Page 39: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

39

Simuladores de Vida Artificial

● Flexibilidade para novas arquiteturas;

● Detalhes de sua estrutura;

● Implementações disponíveis livremente.

Características desejadas:

Neuroevolução

Page 40: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

40

Simuladores de Vida Artificial

● Flexibilidade para novas arquiteturas;

● Detalhes de sua estrutura;

● Implementações disponíveis livremente.

Características desejadas:

Neuroevolução

● Simulação de física e visualização 3D;

● Facilidade em estender (modular);

● Multiplataforma.

Simuladores

Page 41: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

41

Simulador Breve

● Início em 2002 (Jon Klein);

● Simulação de física (baseado no Open Dynamics Engine);

● Visualização 3D (pode ser desabilitada para desempenho);

● Permite corpos articulados;

● Modular e escrito em C/C++ (facilmente extensível);

● Experimentos podem ser escritos em Python;

Desenvolvido para simulações de propósito geral em vida artificial e multi-agentes.

Page 42: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

42

Simulador Breve

Veículo deBraitenberg

Multi-agentes Corpo articulado

Page 43: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

43

Proposta

NEAT

+

Breve

● Amplamente analisado/aplicado;

● Dezenas de implementações;

● Apropriado para Vida Artificial e Engenharia

● Código aberto;

● Desenvolvimento em atividade desde 2002;

● Documentação completa;

● Facilidade de integração.

Page 44: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

44

Projeto NEAT-Python

Page 45: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

45

NEAT-Python

● Fácil integração com Breve;● Estrutura modular (AG + RNA);● Permite adicionar novos modelos neurais;● Desenvolvido em colaboração com Carolina Feher

(ICB-USP).

Propósito: desenvolvimento de uma biblioteca para o NEAT escrita em Python.

Page 46: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

46

NEAT-Python

Diagrama em blocos:

Page 47: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

47

Projeto NEAT-Python

Integração com o Breve:

Page 48: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

48

Projeto NEAT-Python

Estende o NEAT incorporando Redes Neurais Dinâmicas do tipo CTRNNs (Continuous-time Recurrent Neural Networks)

Page 49: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

49

Projeto NEAT-Python

Estende o NEAT incorporando Redes Neurais Dinâmicas do tipo CTRNNs (Continuous-time Recurrent Neural Networks)

Função de ativação

Entradas externas

(sensores)

Ativação em (t-1)

Constante de decaimento

Page 50: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

50

Projeto NEAT-Python

Em oposição ao modelo tradicional (sigmoidal), as CTRNNs apresentam:

● Maior realismo biológico;● Dinâmica rica (aproximam qualquer sistema dinâmico);● Meio termo entre neurônios sigmoidais e pulsados;● Apropriadas para simulações de tempo contínuo

(i.e., Vida Artificial, Sistemas de Controle e etc).

Page 51: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

51

NEAT-Python

http://code.google.com/p/neat-python/

Page 52: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

52

Experimentos

Page 53: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

53

Pêndulo Invertido

Objetivo:Encontrar uma arquitetura de rede neural capaz de equilibrar, na posição vertical, um ou mais pêndulos acoplados a um carro.

RedeNeural

Entradas

Fx

Page 54: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

54

Pêndulo Invertido

Modelo:

Page 55: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

55

Pêndulo Invertido

Diversas variantes:

Page 56: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

56

Pêndulo Invertido

Metodologia:

Equilibrar por 100k passos.

Ao passar pela Fase I, a mesma rede é avaliada por 1k passos com diferentes condições iniciais:

Fase I

Fase II

Totalizando 5^4 = 625 estados iniciais. A solução é válida se a rede generalizar para pelo menos 200 estados e recebe um “coeficiente de generalização”.

Page 57: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

57

Pêndulo Invertido: Resultados

Experimento I:

Comparar o desempenho do NEAT-Python com a versão oficial de Kenneth Stanley. Ambos devem desempenhar de forma similar.

Page 58: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

58

Pêndulo Invertido: Resultados

Experimento I:

Comparar o desempenho do NEAT-Python com a versão oficial de Kenneth Stanley. Ambos devem desempenhar de forma similar.

Média para 544 rodadas.

Não há significância estatística: ambos resolvem de maneira similar.

Page 59: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

59

Pêndulo Invertido: Resultados

Experimento II:

● Comparar o desempenho entre redes de neurônios sigmoidais e dinâmicos (CTRNNs) ;

● A natureza dinâmica das CTRNNs deve ser mais adequada na resolução de problemas em domínio contínuo.

Page 60: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

60

Pêndulo Invertido: Resultados

Experimento II:

A vantagem obtida não é mérito do NEAT-Python simplesmente, mas sim da união do NEAT com CTRNNs (que até então não havia sido experimentado).

Page 61: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

61

Pêndulo Invertido: Resultados

Experimento II:

A vantagem obtida não é mérito do NEAT-Python simplesmente, mas sim da união do NEAT com CTRNNs (que até então não havia sido experimentado).

Page 62: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

62

Pêndulo Invertido: Resultados

Experimento II:

A vantagem obtida não é mérito do NEAT-Python simplesmente, mas sim da união do NEAT com CTRNNs (que até então não havia sido experimentado).

Page 63: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

63

Pêndulo Invertido: Resultados

Experimento II:

A vantagem obtida não é mérito do NEAT-Python simplesmente, mas sim da união do NEAT com CTRNNs (que até então não havia sido experimentado).

Page 64: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

64

Busca de Alimento

Page 65: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

65

Busca de Alimento

● Problema fundamental em Vida Artificial;● Exige um ambiente virtual com o qual o

indivíduo possa interagir;● Permite explorar diversas configurações e

observar a emergência de comportamentos;

Page 66: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

66

Busca de Alimento

Metodologia:

● Definição do ambiente (estrutura);● Morfologia do indivíduo (sensores e atuadores);● Objetivo e critério de seleção.

Page 67: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

67

Busca de Alimento

Ambiente:

Page 68: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

68

Busca de Alimento

Percepção do ambiente através de sensores:

Page 69: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

69

Busca de Alimento

Interação com o ambiente através dos atuadores:

Page 70: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

70

Busca de Alimento

Objetivo:Desenvolver a habilidade de maximizar o consumo de alimentos, evitando toxinas.

Seleção:Cada alimento vale 1 (um) ponto de “energia” e cada toxina equivale a perder 0.5 ponto.

Ao fim de cada rodada (5000 passos de tempo) cada animat recebe seu valor adaptativo em função do consumo de alimentos e toxinas:

Page 71: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

71

Busca de Alimento

Resultados:

Cenário I100 alimentos, 100 toxinas (distribuição normal)

28.28 ± 1.03 (alimento) 5.71 ± 0.32 (toxinas)

28%(eficiência)

Desempenho do melhor indivíduo para a média de 100 rodadas.

Page 72: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

72

Busca de Alimento

Resultados:

Cenário I100 alimentos, 100 toxinas (distribuição normal)

28.28 ± 1.03 (alimento) 5.71 ± 0.32 (toxinas)

28%(eficiência)

Desempenho do melhor indivíduo para a média de 100 rodadas.

50 alimentos, 100 toxinas (distribuição normal)

16.64 ± 0.59 (alimento) 4.70 ± 0.30 (toxinas)

27%(eficiência)

Cenário II

Page 73: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

73

Busca de Alimento

Resultados:

Após 50 gerações

Page 74: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

74

Busca de Alimento

Exemplo de caminho percorrido

Distribuição normal

Page 75: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

75

Busca de Alimento

Exemplo de caminho percorrido

Ambiente estruturado (em círculo)

Page 76: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

76

Busca de Alimento

Observações:● Bom grau de generalização para o tipo de ambiente;

● Mantem a eficiência em condições de maior dificuldade.

Principal problema:● Comportamento restrito ao tipo de seleção, morfologia e configuração do ambiente.

Page 77: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

77

Considerações Finais

Page 78: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

78

Considerações Finais

Principais dificuldades:● Grande número de parâmetros na configuração do NEAT;

● Instabilidade numérica na solução das CTRNNs;

● Pouca informação a respeito do espaço de busca.

Page 79: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

79

Considerações Finais

Principais dificuldades:● Grande número de parâmetros na configuração do NEAT;

● Instabilidade numérica na solução das CTRNNs;

● Pouca informação a respeito do espaço de busca.

Contribuições:● Análise do NEAT utilizando CTRNNs;

● Implementação em Python, modular e de fácil uso, disponibilizada como biblioteca de código aberto.

Page 80: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

80

Considerações Finais

Trabalhos futuros:● Codificação genética indireta (em oposição à direta);

● Redes neurais pulsadas (maior realismo biológico).

Page 81: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

81

Considerações Finais

Trabalhos futuros:● Codificação genética indireta (em oposição à direta);

● Redes neurais pulsadas (maior realismo biológico).

● MIGUEL, C. G., NETTO, M. L. (2008) Using a General Purpose Virtual Environment for Artificial Life Simulations. In: X Symposium on Virtual Reality, João Pessoa, PB. (Resumo estendido)

● MIGUEL, C. G., SILVA, C. F., NETTO, M. L. (2008) Structural and Parametric Evolution of Continuous-time Recurrent Neural Networks. In: 10th Brazilian Symposium on Neural Networks, Salvador, BA: IEEE. (Artigo completo).

Publicações:

Page 82: Evolução Estrutural e Paramétrica de Redes Neurais ... filede Redes Neurais Dinâmicas em Vida Artificial Defesa de Mestrado ... adaptação de indivíduos ... Análise de simuladores

82

Disciplinas e Publicações

Disciplinas cursadas no período (2006-2007):

● Fundamentos de Ciências Cognitivas

● Modelos Computacionais em Ciências Cognitivas

● Vida Artificial em Ambientes Virtuais

● Princípios de Neurocomputação

● Jogos Eletrônicos Interativos

● Visualização Científica

● Robôs Móveis Autônomos