Aprendizado por Reforço usando Aproximação

Documentos relacionados
Aprendizado por Reforço

Redes Neurais Artificiais

Regressão Polinomial e Simbólica

1. Computação Evolutiva

3. Resolução de problemas por meio de busca

3 Aprendizado por reforço

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Técnicas de Inteligência Artificial

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Fundamentos de Inteligência Artificial [5COP099]

1. Computação Evolutiva

INF 1771 Inteligência Artificial

Técnicas de Inteligência Artificial

4 Métodos Existentes. 4.1 Algoritmo Genético

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

Inteligência Artificial

INF 1771 Inteligência Artificial

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

Inteligência de Enxame

Algoritmos Evolutivos Canônicos

Programa do Curso. Transformação de Dados. Sistemas Inteligentes Aplicados. Carlos Hall. Discretização de Variáveis Contínuas

Regressão. Prof. Fabrício Olivetti de França Universidade Federal do ABC

Algoritmos de Regressão

Algoritmos Genéticos

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Inteligência Artificial

Aprendizado de Máquina

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

CEFET/RJ Inteligência Artificial (2018.1) Prof. Eduardo Bezerra Lista de exercícios 04

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Introdução a Algoritmos Genéticos

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Estrutura comum dos AEs

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Algoritmos Evolutivos para Otimização

Inteligência Artificial

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira

2. Redes Neurais Artificiais

Otimização por Colônia de Formigas (ACO)

Um Estudo Empírico de Métodos Hiper-Heurísticos

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

Max Pereira. Inteligência Artificial

1. Computação Evolutiva

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Fundamentos de Inteligência Artificial [5COP099]

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

4 Metáforas de Optimização

Introdução aos Algoritmos Genéticos

Tópicos Especiais em Informática Fatec Indaiatuba

3 Algoritmos Genéticos

Inteligência Artificial. 3º Quadrimestre de 2018

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Considerações de Desempenho

Buscas Informadas ou Heurísticas - Parte II

SUPPORT VECTOR MACHINE - SVM

3 REDES CLÁSSICAS PERCEPTRON E ADALINE

Regressão Linear. Fabrício Olivetti de França. Universidade Federal do ABC

Introdução à Mineração de Dados com Aplicações em Ciências Espaciais

Exemplo do jogo dos fósforos Terça-feira, 9 de maio. Exemplo para o Problema do Corpo de Bombeiros. Exemplo: Localidade do Corpo de Bombeiros

Back Propagation. Dicas para o BP

Redes Neurais e Sistemas Fuzzy

Aprendizado de Máquina (Machine Learning)

Processamento de Imagens CPS755

Tópicos Especiais em Otimização

Aprendizado de Máquina (Machine Learning)

Marcone Jamilson Freitas Souza

Aprendizagem por Reforço

4 Uma abordagem por aprendizado por reforço

3 Algoritmos Genéticos

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Algoritmos Genéticos 1

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Otimização Combinatória - Parte 4

Aprendizado de Máquinas. Seleção de Características

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ

Redes Neurais Artificiais

3. Resolução de problemas por meio de busca

Inteligência Artificial

lnteligência Artificial Introdução ao Processo Decisório de Markov

Inteligência Artificial

Computação Evolutiva. Aula 4 Usando AEs Prof. Tiago A. E. Ferreira

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

INTELIGÊNCIA ARTIFICIAL

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

Conceitos de Aprendizagem de Máquina e Experimentos. Visão Computacional

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

Algoritmos Genéticos

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

IMPLEMENTAÇÃO DE UM ALGORITMO GENÉTICO PARA DETERMINAÇÃO DO PONTO DE MÁXIMO E/OU MÍNIMO DA FUNÇÃO DO 2 e 3 GRAU

INF 1771 Inteligência Artificial

Transcrição:

Aprendizado por Reforço usando Aproximação de Funções Fabrício Olivetti de França Universidade Federal do ABC

Tópicos 1. Aproximação de Funções 2. Do the evolution 1

Aproximação de Funções

Função Utilidade Nos algoritmos das aulas anteriores, a poĺıtica ótima era encontrada por meio de: uma função utilidade U(s) que media o interesse em estar no estado atual ou, um Q-valor Q(s, a), que media a expectativa de recompensa ao aplicar a ação a no estado s. 2

Função Utilidade Quando tais funções são conhecidas, a solução torna-se trivial. Mas na prática, raramente temos tal informação e, portanto, temos que estimar esses valores. 3

Função Utilidade Na aula passada, tratamos Q(s, a) como uma tabela e, através de amostras de episódios do nosso jogo, preenchemos os valores dela até convergência. 4

Função Utilidade Percebemos, porém, que a convergência para jogos com muitos estados possíveis pode demorar além do viável. 5

Função Utilidade Uma outra ideia é tentar estimar os valores de Q(s, a) através de uma aproximação de função. 6

Aproximando Q Assumindo s como um vetor d dimensional e a um vetor binário representando as possíveis ações, podemos tentar aproximar: ˆQ(s, a) = w s + w a, com w, w sendo os coeficientes lineares do vetor representando o estado e do vetor de ações, respectivamente. 7

Aproximando Q Para esse caso, podemos imaginar a função de erro como: ( ˆQ(s, a) Q(s, a)) 2 /2, com Q(s, a) sendo o valor observado (por aplicar o Q-Learning após algumas centenas de episódios). 8

Aproximando Q Podemos então aplicar o gradiente descendente com as regras: w = w + α(q(s, a) ˆQ(s, a)) s, e w = w + α(q(s, a) ˆQ(s, a)) a, 9

Aproximando Q Basicamente o algoritmo pode ser definido de diversas formas, uma delas sendo: Aplique o algoritmo Q-Learning por alguns episódios. Aplique o algoritmo de regressão linear. Repita até convergência. 10

Aproximando R Uma outra forma é substituir Q(s, a) pela recompensa R(s, a) na equação da regressão de tal forma que: ˆR(s, a) = w s + w a e erro = ( ˆR(s, a) R(s, a)) 2 /2. 11

Aproximando R Dessa forma o algoritmo se torna: Inicialize os pesos w, w Aplique a poĺıtica que maximiza as recompensas dada pela função linear. Faça a correção dos valores de recompensa utilizando o gradiente descentente Repita até convergir. 12

Aprendizado como um problema de classificação Note que nossa regressão linear pode ser convertida para uma regressão logística assumindo que desejamos obter a probabilidade de executar uma ação ou não: ˆR(s a) = logit(w s), para esse caso precisamos gerar um modelo para cada ação. O algoritmo permanece o mesmo! 13

Deep Q-Learning O algoritmo Deep Q-Learning aplica as mesmas ideias acima porém substituindo a Regressão Linear/Logística por uma Rede Neural. Para a modelagem como problema de classificação costuma-se usar a função de ativação softmax na camada de saída. 14

Deep Q-Learning Não se esqueçam que os atributos de entrada de uma Rede Neural (e das regressões) não precisam ser necessariamente o estado s. Para o projeto, quais outros atributos podemos criar baseado na informação s fornecida? Ex.: distância entre o Mario e o inimigo mais próximo. 15

Do the evolution

Recompensas de longo termo A abordagem anterior apresenta alguns problemas como: dependência da possibilidade de medir uma recompensa instantânea. a ação executada idealmente não pode influenciar em recompensas futuras. 16

Recompensas de longo termo No nosso projeto percebemos que uma ação a executada em um estado s pode levar a um estado s em que não existam opções válidas, exceto perder o jogo. Isso acontece ao pular em direção a um adversário em que o agente recebe a recompensa de seguir em frente por três instantes de tempo para então perder o jogo. 17

Recompensas de longo termo Uma forma de aliviar esse problema nos algoritmos anteriores é atualizar os valores das recompensas obtidas utilizando a informação de quão longe o agente foi naquele determinado episódio. Outra estratégia é levar em conta apenas o desempenho final do agente e não a cada instante t. 18

Aprendizado Supervisionado sem supervisão Mas, para ajustar os pesos nossos algoritmos dependem da informação de gradiente. Essa informação de gradiente requer o valor da recompensa a cada instante de tempo e não apenas um valor único para o episódio inteiro. 19

Métodos de Otimização sem gradiente Uma solução são os algoritmos de otimização que não utilizam a informação de gradientes. Dentre esses algoritmos, destacam-se os baseados em Computação Evolutiva. 20

Computação Evolutiva Inspirados na evolução das espécies e conhecidas como Meta-heurísticas de busca. Meta-heurística: que define heurísticas. Ou seja, algoritmos que definem algoritmos. 21

Computação Evolutiva Meta-heurística básica: Cria um conjunto de soluções candidatas P Avalia essas soluções P Aplica um algoritmo que altera essas soluções um pouquinho (mutação), armazena em P Avalia P Seleciona P soluções com probabilidade proporcional a qualidade delas para substituir P e repete o processo 22

Computação Evolutiva A ideia básica é que o procedimento de mutação em uma solução p i busque por soluções vizinhas melhores. O processo de seleção direciona a busca para os ótimos locais próximos aos pontos selecionados. 23

Neuroevolução Retomando nosso problema de ajustar os pesos de uma rede neural para determinar as melhores ações de um agente. Podemos pensar como um problema de otimização e busca em que queremos o melhor conjunto de valores w que maximiza a recompensa final do agente. 24

Neuroevolução Então dada uma estrutura pré-determinada da rede neural, faça: Cria um conjunto de n vetores w candidatos W Execute o agente com a rede neural para cada peso de W e determine a recompensa final Aplique a função de mutação em cada w criando W Avalie W Selecione n soluções de W + W através de um torneio aleatório Repita por t iterações 25

Mutação I Um tipo tradicional de mutação para esse tipo de problema é: w = w + N (0, 1) Ou seja, soma cada valor do vetor w a um valor aleatório com distribuição gaussiana. 26

Mutação II Podemos também sortear uma intensidade para esses valores: w = w + U(0, 1) N (0, 1) Sendo U(0, 1) um valor aleatório entre 0 e 1. 27

Mutação III Uma outra forma é escolher um segundo vetor de pesos w ref w = αw + (1 α)w ref e fazer: Sendo α = U(0, 1) um valor aleatório entre 0 e 1. Nesse caso temos a combinação linear entre duas soluções. Essa operação também é conhecida como cruzamento. 28

Mutação III A seleção de w ref pode ser feita da mesma forma que a seleção por torneio, como será visto adiante. 29

Mutação IV Podemos também fazer uma aproximação do gradiente: Gere n vetores w = w + α N (0, 1) Avalie esses vetores, sendo f i = R(w i ) a recompensa final de w i Faça w = w + αe(f w), com α [0, 1] e E(.) a média dos vetores. 30

Seleção I Uma possível seleção é a Roleta Aleatória: Crie uma roleta em que cada solução i tem uma fatia de tamanho f i / j f j Gire a roleta n vezes para selecionar n soluções para a próxima iteração 31

Seleção II Uma seleção com propriedades mais interessantes é o torneio: Defina um número k de participantes Repita n vezes: Sorteie k soluções Seleciona a solução com maior f dentre essas k e inclua no novo conjunto 32

Outros algoritmos Existem diversos outros algoritmos que podem ser interessantes para o projeto: Particle Swarm Optimization (PSO) Differential Evolution (DE) Ant Colony Optimization (ACO) NeAT (evolução dos pesos e topologia de uma rede neural 33

Próxima aula Não teremos mais aula :( Mas estarei aqui para tirar dúvidas e bater um papo referentes ao projeto e do curso. 34