790 likes | 900 Views
Tópicos Especiais em Aprendizagem. Prof. Reinaldo Bianchi Centro Universitário da FEI 2007. Introdução. Meu 1/3 da disciplina de TEA. Objetivo: Apresentar aos alunos a disciplina de Aprendizado por Reforço (AR ou RL). 3 aulas divididas em: Introdução ao AR. Métodos avançados de AR.
E N D
Tópicos Especiais em Aprendizagem Prof. Reinaldo Bianchi Centro Universitário da FEI 2007
Introdução • Meu 1/3 da disciplina de TEA. • Objetivo: • Apresentar aos alunos a disciplina de Aprendizado por Reforço (AR ou RL). • 3 aulas divididas em: • Introdução ao AR. • Métodos avançados de AR. • Combinação de AR e outras áreas.
Referências Básicas • “Reinforcement Learning: An introduction”, de Sutton & Barto: • http://envy.cs.umass.edu/~rich/book/the-book.html • “Reinforcement Learning: A Survey”, de Kaelbling & Littman: • http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume4/kaelbling96a-html/rl-survey.html • Capítulo 13 do livro Machine Learning, do Tom Mitchell. • Capítulo 20 do livro Artificial Intelligence, Russell & Norvig.
O Livro: Reinforcement Learning: an introduction. • Part I: The Problem • Introduction • Evaluative Feedback • The Reinforcement Learning Problem • Part II: Elementary Solution Methods • Dynamic Programming • Monte Carlo Methods • Temporal Difference Learning
O Livro:RL: an introduction • Part III: A Unified View • Eligibility Traces • Generalization and Function Approximation • Planning and Learning • Dimensions of Reinforcement Learning • Case Studies
Objetivo desta Aula • Introdução ao Aprendizado por Reforço: • Introdução. • Avaliação e seleção das ações. • O problema do AR. • Programação Dinâmica. • Aula de hoje: capítulos 1 a 4 do Sutton & Barto.
Introdução Capítulo 1 do Sutton e Barto.
Motivação • Desenvolver agentes capazes de aprender a escolher ações apenas interagindo com o ambiente • Em alguns problemas, é impraticável o uso de aprendizagem supervisionada • Como obter exemplos do comportamento correto e representativo para qualquer situação? • E se o agente for atuar em um ambiente desconhecido? • Exemplos: • Criança adquirindo coordenação motora • Robô interagindo com um ambiente para atingir objetivo(s)
Áreas do AR Inteligência Artificial Controle e Pesquisa Operacional Psicologia Aprendizado por Reforço Neurociências Redes Neurais Artificiais
O que é o Aprendizado por Reforço? • Aprendizado por interação. • Aprendizado orientado a objetivos. • Aprendizado sobre, do e enquanto interagindo com um ambiente externo. • Aprender o que fazer: • Como mapear situações em ações. • Maximizando um sinal de recompensa numérico.
Por que usar o AR? • Para problemas de otimização e controle, quando não se conhece o modelo do problema.
Aprendizado Supervisionado Training Info = desired (target) outputs Supervised Learning System Inputs Outputs Erro = (target output – actual output)
Aprendizado Não Supervisionado Unsupervised Learning System Inputs Outputs Objetivo: agrupar objetos semelhantes
Aprendizado por Reforço Training Info = evaluations (“rewards” / “penalties”) RL System Inputs Outputs (“actions”) Objetivo: conseguir o máximo de reforço possível
Pontos chaves do AR • Ao aprendiz não é definido que ações tomar: • Aprendizado por busca, tentativa e erro. • Possibilidade de reforços arrasados; • Sacrifica-se ganhos imediatos e valoriza-se ganhos a longo prazo. • A necessidade de explorar e explotar. • Considera o problema de um agente com um objetivo como um todo, interagindo em um ambiente. • Ambiente estocástico e incerto.
Agente no AR • Situado no tempo. • Aprendizado e planejamento continuo. • Objetivo é modificar o ambiente. Ambiente Ação Estado Recompensa Agente
Elementos do AR • Política (Policy): o que fazer. • Recompensa (Reward): o que é bom. • Valor (Value): o que é bom porque prevê uma recompensa. • Modelo (Model): o que causa o que. Policy Reward Value Model of environment
Exemplo: Jogo da velha. X X X X X O X X X O X X X O X X O X O O O X O O X O O O } x’s move ... x x x } o’s move ... ... ... x o o o x x } x’s move x ... ... ... ... ... } o’s move Assuma um oponente imperfeito: as vezes, ele comete erro. } x’s move x o x x o
Uma abordagem AR para Velha • 1. Crie uma tabela com uma entrada por estado: Estado V(s) – probabilidade estimada de ganhar .5 ? .5 ? x . . . . . . 1 win x x x o o . . . . . . 0 loss x o o x o . . . . . . o o x 0 draw x x o x o o
Estado atual Todos os possíveis próximos estados * Uma abordagem AR para Velha • 2. Agora, jogue muitas vezes: • Para escolher a ação, olhe para o que acontece um passo adiante: • Escolha: • 90% das vezes um movimento de explotação(greedy move): a ação que leva ao estado com a maior probabilidade estimada de vencer V(s). • 10% das vezes um movimento de exploração (exploratory move): escolha uma ação aleatória.
Uma abordagem AR para Velha • 3. Atualizando a tabela: • Enquanto se joga, modifica-se os valores dos estados pelos quais se passa durante o jogo. • Tentativa de torna-los estimativas mais precisas da probabilidade de vencer. • Para tanto, se copia (“back-up”) os valores de estado após uma movimentação de explotação (greedy) para o estado anterior ao movimento. • Mais precisamente, ajusta-se o valor do estado anterior para ficar mais próximo do estado seguinte.
Uma abordagem AR para Velha • 3. Atualizando a tabela: • Sabendo que: • s = o estado antes da escolha da ação a executar. • s´ = o estado após a execução da ação escolhida. • Incrementa-se V(s) na direção de V(s´): • Onde: • 0 < < 1 é á taxa de aprendizado.
Uma abordagem AR para Velha Jogada exploratória: Não atualiza V(s).
Uma abordagem AR para Velha • Este método de atualização dos valores de V(s) é um tipo de aprendizado usando diferenças temporais (temporal-difference learning method). • A modificação em V(s) é baseada na diferença V(s´) - V(s),estimados em dois instantes de tempos diferentes. • Um backup. • Será visto mais a fundo (capítulo 6).
Como melhorar este jogador? • Tirar vantagens de simetrias: • Representação/generalização? • É vantajoso? E se o oponente não usar? • Os movimentos de exploração aleatórios são realmente necessários? • Pode-se aprender durante os movimentos aleatórios? • Pode-se aprender de maneira offline? • Pré-treinamentos? • Usando modelos do oponente?
Exemplo: generalização. Table Generalizing Function Approximator State V State V s s s . . . s 1 2 3 Train here N
Exemplo: generalização. Table Generalizing Function Approximator State V State V s s s . . . s 1 2 3 Train here N
Jogo da velha é muito fácil? • Sim... • Jogo finito e curto. • Pequeno número de estados. • Olhar um passo a frente é sempre possível. • Estado completamente observável...
Alguns exemplos notáveis de AR • TD-Gammon: Tesauro • O melhor jogador de Gamão do mundo. • Controle de Elevadores: Crites & Barto • Controladores de alto desempenho. • Gerenciamento de inventario: Van Roy, Bertsekas, Lee&Tsitsiklis • Melhoria de 10–15% sobre os modelos usados. • Dynamic Channel Assignment: Singh & Bertsekas, Nie & Haykin • Alocação de canais em telefonia celular.
TD-Gammon Tesauro, 1992–1995 • Inicie com uma rede neural aleatória. • Jogue muitas vezes contra si mesmo. • Aprenda destes jogos. • Produziu o melhor jogador de gamão no mundo (incluindo campeões humanos). Action selection by 2–3 ply search Value TD error
TD-Gammon TD-Gammon self-play • Especialistas são escassos e caros • Experiência é barata, e ensina a solução real. 70% Tesauro, 1992 performance against gammontool Neurogammon same network, but trained from 15,000 expert-labeled examples 50% 10 20 40 80 0 # hidden units
Controle de Elevadores Crites and Barto, 1996 10 andares, 4 cabines STATES: button states; positions, directions, and motion states of cars; passengers in cars & in halls ACTIONS: stop at, or go by, next floor REWARDS: roughly, –1 per time step for each person waiting 22 Conservatively about 10 states
STATES: car's position and velocity ACTIONS: three thrusts: forward, reverse, none REWARDS: always –1 until car reaches the goal No Discounting O problema do Carro na Montanha Moore, 1990 Goal Gravity wins Minimum-Time-to-Goal Problem
Algumas aplicações • Time Brainstormers da Robocup (entre os 3 melhores nos 3 últimos anos) • Objetivo: Time cujo conhecimento é obtido 100% por técnicas de aprendizagem por reforço • RL em situações específicas • 2 atacantes contra 2 defensores • habilidades básicas • Inúmeras aplicações em problemas de otimização, de controle, jogos e outros...
Patrulha multi-agente • Dado um mapa, um grupo de agentes deve visitar continuamente locais específicos deste mapa de maneira a minimizar o tempo que os nós ficam sem serem visitados • Recompensa: ociosidade dos nós visitados
Jogos • Aprendizagem por reforço para: • IA do jogador. • Adaptação ao usuário.
Aprendizagem por reforço • Tarefa de aprendizagem por reforço: • Aprender uma política de ações * ótima, que maximiza a função V (V*) ou a função Q (Q*) • * = argmax[V(s)] • Em outras palavras, de que maneira o agente deve agir para maximizar as suas recompensas futuras
Exemplo: Labirinto Função recompensa Função V* Função Q* Política de ações ótima
Aprendendo uma política ótima • Se o ambiente é conhecido, ou seja, T(s,a) = s’ e r(s,a) são conhecidos: • V*(s) =maxa[ r(s,a) + V*((s,a) ) ] • *(s) = argmaxa[r(s,a) + V*((s,a) )] • Equações de Bellman: • Programação dinâmica computa uma política ótima em tempo polinomial • E se não temos conhecimento prévio do ambiente, ou se for difícil estimar estas funções?
Q Learning • Algoritmo de aprendizagem para computar a função Q ótima (valor das ações) • *(s) = argmaxa[Q(s,a)] • não é função de Tnem de r • Q*(st,at) = r(st,at) + maxa’ [Q(st+1,a’)] • Como atualizar Q sem precisar de r(st,at) nem de T ?
Q-Learning • Atualiza-se Q(st) após observar o estado st+1 e recompensa recebida • Q(s1,aright) = r + maxa’Q(s2,a’) = 0 + 0.9 max{63,81,100} = 90
Algoritmo Q-Learning para mundos determinísticos • Para todo estado s e ação a, inicialize a tabela Q[s][a] = 0; • Para sempre, faça: • Observe o estado atual s; • Escolha uma ação a e execute; • Observe o próximo estado s’ e recompensa r • Atualize a tabela Q: • Q[s][a] = r + maxa’ (Q[s’][a’]) Usufruir valores conhecidos ou explorar valores não computados?
Avaliação e seleção das ações.(Evaluative Feedback) Capítulo 2 do Sutton e Barto.
Avaliando ações • Avaliando ações versus instrução através de exemplos de ações corretas: • Reforço puramente avaliativo depende totalmente na ação executada. • Reforço puramente instrutivo independe completamente da ação executada. • Aprendizado supervisionado é instrutivo • Otimização é avaliativo (evaluative).
Avaliando ações • Associativo versus Não-associativo: • Associativo: entradas mapeiam saídas; aprende a melhor saída para cada entrada. • Não-associativo: “aprende” (encontra) uma saída ótima. • O problema do bandido de n-braços (n-armed bandit) é: • Não-associativo. • Avaliativo.