Aprendizagem Automática<br />Algoritmos Genéticos<br />Aprendizagem por Reforço<br />
Aula anterior<br />Apresentação<br />Breves notas sobre a história da AA / IA<br />
Problema (Caixeiro viajante)<br />Dado um conjunto de pontos e as distâncias entre eles, qual a ordem de visita que minimi...
Espaço de soluções<br />Dadas as cidades (pontos) A, B, C ... as soluções são todas as combinações possíveis em que estão ...
Métodos de procura<br />Sequencial (experimentar todas as combinações)<br />Aleatório (experimentar várias combinações, es...
SimulatedAnnealing[Kirkpatrick et al. 83]<br /><ul><li>Semelhante ao processo de arrefecimento de ligas metálicas
Tenta prevenir problema dos mínimos locais
Exploração aleatória
Aceita novo estado
 Sempre que estado é melhor
Com uma probabilidade decrescente, mesmo quando é pior (prob. controlada por diferença ao melhor e temperatura)</li></li><...
SimulatedAnnealing[Kirkpatrick et al. 83]<br />Probabilidade de aceitação de novo estado<br />
Algoritmos Genéticos (GA)[Holland 75]<br />Inspirado na teoria da evolução das espécies<br />Tenta encontrar soluções com ...
GA: Aptidão / Fitness<br />Capacidade para resolver o problema<br />Inverso do erro<br />Adequação de um padrão à resoluçã...
GA: Ciclo de Vida<br />Para N gerações (ou até Fbest > E )<br />Para Si (Espécime/Specimen) em população<br />Avaliar Si -...
Problema 1 (KnapSack)<br />Dada uma mochila com capacidade limitada (peso ou volume)<br />Cada “pacote” tem um peso e um v...
Problema 1 (KnapSack)<br />Formulação para GA<br />(20,2)<br />(24,3)<br />(10,2)<br />(3,2)<br />…<br />1<br />1<br />0<b...
Problema 2 (Topologia)<br />Formulação para GA<br />Topologia de uma rede neuronal.<br />
GA: Aspecto de uma solução (espécime / specimen)<br />1<br />1<br />0<br />0<br />1<br />0<br />1<br />…<br />
GA: Mutação (Mutation)<br />Alterar uma solução<br />1<br />1<br />0<br />0<br />1<br />0<br />1<br />…<br />1<br />1<br /...
GA: Recombinação (Crossover)<br />Fusão de duas soluções<br />+<br />crossover-point<br />1<br />1<br />0<br />0<br />1<br...
EvolutionaryAlgorithms<br />Principais sub-tipos(ver discussão em GA-FAQ) [Heitkoetter et al. 94]<br />GeneticAlgorithms<b...
Referências<br />[Metropolis et al. 53] N. Metropolis, A.W. Rosenbluth, M.N. Rosenbluth, A.H. Teller, and E. Teller. "Equa...
Intervalo<br />10 minutos<br />p.f. seja pontual<br />
Problema (Labirinto) <br />Dado um labirinto, que pode ser percorrido repetidas vezes, é possível criar um programa que ap...
Aprendizagem por Reforço(ReinforcementLearning, RL)<br />Aplicado em problemas em que um “agente” tem de interagir com um ...
RL: Ciclo de execução<br />Recepção de estado do ambiente (s) no tempo t<br />Escolha da acção (a)<br />Recepção da recomp...
Pode ser externa (do ambiente) ou interna (crítico heurístico, heuristiccritic)<br />Tipicamente tenta-se optimizar a soma...
RL: Modelo do sistema<br />Equação de Bellman<br />V*(s): Valor óptimo (ou utilidade) do estado s<br />P(s,a,s’): Probabil...
RL: Diferenças temporais<br />TD(λ) [Sutton 88]<br />s’: estado seguinte a s (observado) (note-se que esta actualização é ...
Q-Learning[Watkins 89]<br />Q(s,a): Qualidade da escolha da acção a, no estado s<br />Para garantir desempenho óptimo é pr...
SARSA[Rummery, Niranjan 94]<br />O máximo da qualidade prevista para a próxima acção é substituído pela qualidade efectiva...
RL: Escolha da próxima acção<br />Problema: Exploration vs. Exploitation<br />Escolher a melhor (Exploitation)<br />Explor...
RL: Questões práticas<br />Problemas<br />Exploração de Boltzmann: cálculo de exponenciais<br />Sistemas com grande variân...
Sistemas Multi-Agente (SMA)MultiagentSystems (MAS)<br />MAS em estudo actualmente (possíveis temas, TF e/ou MSc)<br />Homo...
Sistemas Multi-Agente (Aprendizagem ...)<br />Visão parcial do estado<br />Dinâmica do ambiente/problema por acção dos out...
Aprendizagem em SMA<br />Aprendizagem por Reforço (muitas variantes)<br />MinimaxQ (Littman 94)<br />Semelhante a Q-Learni...
Aprendizagem em SMA / Robótica<br />Subsumption Architecture (robótica) (Brooks)<br />Conceito fundamental na robótica/IA ...
Referências<br />[Bellman 57] R. Bellman, DynamicProgramming, Princeton UniversityPress, 1957<br />[Sutton 88] R. S. Sutto...
Upcoming SlideShare
Loading in …5
×

Aprendizagem Automática

693 views

Published on

  • Be the first to comment

  • Be the first to like this

Aprendizagem Automática

  1. 1. Aprendizagem Automática<br />Algoritmos Genéticos<br />Aprendizagem por Reforço<br />
  2. 2. Aula anterior<br />Apresentação<br />Breves notas sobre a história da AA / IA<br />
  3. 3. Problema (Caixeiro viajante)<br />Dado um conjunto de pontos e as distâncias entre eles, qual a ordem de visita que minimiza o caminho percorrido passando por todos os pontos, uma única vez em cada ponto.<br />
  4. 4. Espaço de soluções<br />Dadas as cidades (pontos) A, B, C ... as soluções são todas as combinações possíveis em que estão representadas apenas uma vez todas as cidades<br />Podemos ver estas soluções ligadas entre si como um espaço / grafo<br />Umas soluções podem ser transformadas noutras por (por exemplo) troca de posições entre duas cidades<br />
  5. 5. Métodos de procura<br />Sequencial (experimentar todas as combinações)<br />Aleatório (experimentar várias combinações, escolher a melhor)<br />A* (fazer todas as alterações possíveis à melhor solução encontrada até ao momento)<br />SimulatedAnnealing(Arrefecimento simulado)<br />Algoritmos Genéticos (Genetic / EvolutionaryAlgorithms)<br />
  6. 6. SimulatedAnnealing[Kirkpatrick et al. 83]<br /><ul><li>Semelhante ao processo de arrefecimento de ligas metálicas
  7. 7. Tenta prevenir problema dos mínimos locais
  8. 8. Exploração aleatória
  9. 9. Aceita novo estado
  10. 10. Sempre que estado é melhor
  11. 11. Com uma probabilidade decrescente, mesmo quando é pior (prob. controlada por diferença ao melhor e temperatura)</li></li></ul><li>Problema dos mínimos Locais<br />Mínimos locais<br />Erro<br />Valor de um parâmetro / diferentes soluções<br />
  12. 12. SimulatedAnnealing[Kirkpatrick et al. 83]<br />Probabilidade de aceitação de novo estado<br />
  13. 13. Algoritmos Genéticos (GA)[Holland 75]<br />Inspirado na teoria da evolução das espécies<br />Tenta encontrar soluções com maior aptidão:<br />gerando uma “população” de soluções possíveis, <br />avaliando-as<br />mutando ou recombinando as mais promissoras, gerando nova população<br />
  14. 14. GA: Aptidão / Fitness<br />Capacidade para resolver o problema<br />Inverso do erro<br />Adequação de um padrão à resolução do problema<br />Conveniente que seja um número real e que as diferenças nas soluções sejam tão precisas quanto possível<br />Avaliação dos “sobreviventes”: <br />Proporcional à qualidade da solução<br />N melhores<br />Torneio<br />…<br />
  15. 15. GA: Ciclo de Vida<br />Para N gerações (ou até Fbest > E )<br />Para Si (Espécime/Specimen) em população<br />Avaliar Si -> Fi (Aptidão/Fitness)<br />Escolher os melhores (Bi) (selectedpool / survivors)<br />Gerar nova população, para Si<br />Si = mutate(Ba): a = rand (prioridade aos mais aptos)? OU<br />Si = crossover(Ba, Bb): a, b = rand<br />
  16. 16. Problema 1 (KnapSack)<br />Dada uma mochila com capacidade limitada (peso ou volume)<br />Cada “pacote” tem um peso e um valor (monetário por exemplo)<br />Como escolher que pacotes levar de modo a maximizar o valor dos pacotes, sem exceder o peso<br />
  17. 17. Problema 1 (KnapSack)<br />Formulação para GA<br />(20,2)<br />(24,3)<br />(10,2)<br />(3,2)<br />…<br />1<br />1<br />0<br />1<br />…<br />Cada quadrado indica se o pacote n é levado ou não<br />
  18. 18. Problema 2 (Topologia)<br />Formulação para GA<br />Topologia de uma rede neuronal.<br />
  19. 19. GA: Aspecto de uma solução (espécime / specimen)<br />1<br />1<br />0<br />0<br />1<br />0<br />1<br />…<br />
  20. 20. GA: Mutação (Mutation)<br />Alterar uma solução<br />1<br />1<br />0<br />0<br />1<br />0<br />1<br />…<br />1<br />1<br />1<br />0<br />0<br />0<br />1<br />…<br />
  21. 21. GA: Recombinação (Crossover)<br />Fusão de duas soluções<br />+<br />crossover-point<br />1<br />1<br />0<br />0<br />1<br />1<br />0<br />…<br />0<br />1<br />1<br />0<br />0<br />0<br />1<br />…<br />1<br />1<br />0<br />0<br />0<br />0<br />1<br />…<br />
  22. 22. EvolutionaryAlgorithms<br />Principais sub-tipos(ver discussão em GA-FAQ) [Heitkoetter et al. 94]<br />GeneticAlgorithms<br />EvolutionaryProgramming / EvolutionStrategies<br />GeneticProgramming<br />ClassifierSystems<br />(NeuroEvolution)<br />
  23. 23. Referências<br />[Metropolis et al. 53] N. Metropolis, A.W. Rosenbluth, M.N. Rosenbluth, A.H. Teller, and E. Teller. "Equations of State Calculations by Fast Computing Machines". Journal of Chemical Physics, 21(6):1087-1092, 1953.<br />[Kirkpatrick et al. 83] Kirkpatrick, S.; C. D. Gelatt, M. P. Vecchi (1983-05-13). "Optimization by Simulated Annealing". Science. New Series 220 (4598): 671-680. ISSN 00368075. <br />[Cerny 85] V. Cerny, A thermodynamical approach to the travelling salesman problem: an efficient simulation algorithm. Journal of Optimization Theory and Applications, 45:41-51, 1985<br />[Goldberg 89] D. E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Kluwer Academic Publishers, Boston, MA, 1989.<br />[Fogel 06] D. B. Fogel, Evolutionary Computation: Toward a New Philosophy of Machine Intelligence, IEEE Press, Piscataway, NJ. Third Edition, 2006.<br />[Holland 75] John H. Holland, Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, 1975<br />[Koka 92] John Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press. ISBN 0-262-11170-5, 1992<br />[Heitkoetter et al. 94] Heitkoetter, Joerg and Beasley, David, eds. (1994) "The Hitch- Hiker's Guide to Evolutionary Computation: A list of Frequently Asked Questions (FAQ)", USENET : comp.ai.genetic. <br />Recursosváriossobre GA<br />
  24. 24. Intervalo<br />10 minutos<br />p.f. seja pontual<br />
  25. 25. Problema (Labirinto) <br />Dado um labirinto, que pode ser percorrido repetidas vezes, é possível criar um programa que aprenda qual o melhor caminho para sair desse labirinto?<br />
  26. 26. Aprendizagem por Reforço(ReinforcementLearning, RL)<br />Aplicado em problemas em que um “agente” tem de interagir com um ambiente<br />O agente tem de aprender quais as acções que lhe dão maiores recompensas<br />O agente consegue observar o estado do ambiente (ou parte dele) e/ou o seu estado interno<br />
  27. 27. RL: Ciclo de execução<br />Recepção de estado do ambiente (s) no tempo t<br />Escolha da acção (a)<br />Recepção da recompensa (r, positiva, negativa, binária ou decimal)<br />Actualização dos parâmetros de escolha da acção (usando a politica de escolha, (s,a))<br />
  28. 28. Pode ser externa (do ambiente) ou interna (crítico heurístico, heuristiccritic)<br />Tipicamente tenta-se optimizar a soma das recompensas a longo prazo:<br />R: recompensa total<br />rt: recompensa no tempo t<br />γ: termo de desconto para recompensas futuras 0< γ<1<br />RL: Recompensa<br />
  29. 29. RL: Modelo do sistema<br />Equação de Bellman<br />V*(s): Valor óptimo (ou utilidade) do estado s<br />P(s,a,s’): Probabilidade de transitar do estado s, para o estado s’ após efectuar acção a<br />Parte do princípio que são conhecidos r,s,a e P(s,a,s’) e pode ser usado sem interagir com um ambiente (este está “descrito” internamente)<br />Itera pelos valores possíveis para o estado (há várias politicas para o efeito) até convergir.<br />
  30. 30. RL: Diferenças temporais<br />TD(λ) [Sutton 88]<br />s’: estado seguinte a s (observado) (note-se que esta actualização é feita só ao atingir o objectivo)<br />e(s): elegibilidade do estado s para actualização, com t = tempo actualpode ser visto também como o grau em que foi visitado no passado recenteNote-se que 0<λ<1 e 0< γ<1<br />λ = 0, apenas considera o estado seguinte (implementação mais comum)<br />λ = 1, actualização de todos os estados de acordo o número de vezes que foram visitados<br />Em geral:<br />s = estado actual<br />s = s visitado há n<N iterações e se t1>t2, e(st1)>e(st2)<br />s = s visitado há n>N iterações<br />
  31. 31. Q-Learning[Watkins 89]<br />Q(s,a): Qualidade da escolha da acção a, no estado s<br />Para garantir desempenho óptimo é preciso passar por todos os pares (s,a) um número infinito de vezes e que α diminua ao longo do treino.<br />
  32. 32. SARSA[Rummery, Niranjan 94]<br />O máximo da qualidade prevista para a próxima acção é substituído pela qualidade efectiva da acção tomada <br />Vantagem: não usa estimativas<br />Desvantagem: só pode ser actualizado depois de escolher acção seguinte<br />
  33. 33. RL: Escolha da próxima acção<br />Problema: Exploration vs. Exploitation<br />Escolher a melhor (Exploitation)<br />Exploração (de Boltzmann) (com temperatura (T) decrescente)Mesmo princípio que SimulatedAnnealing. <br />ε-greedy<br />Escolher com probabilidade 1-ε a melhor acção<br />Escolher com probabilidade ε uma acção aleatória<br />ε deve diminuir ao longo do treino<br />
  34. 34. RL: Questões práticas<br />Problemas<br />Exploração de Boltzmann: cálculo de exponenciais<br />Sistemas com grande variância<br />Observações parciais do estado<br />Grande número de estados e acções, possibilidades de solução: <br />ANN<br />Hierarchical RL (MSc/PhD)<br />Repetição das experiências por ordem inversa [Lin 92]<br />Dyna: Aprender modelo e repetir experiências [Sutton 90]<br />
  35. 35. Sistemas Multi-Agente (SMA)MultiagentSystems (MAS)<br />MAS em estudo actualmente (possíveis temas, TF e/ou MSc)<br />Homogéneos / Heterogéneos<br />Com / Sem comunicação explícita <br />Modelos separados / partilhados<br />Hierarquias<br />Estado / Recompensa global / parcial<br />Modelação das reacções de outros<br />Cooperativos / Competitivos<br />Capacidade de afectar outros agentes<br />Equilíbrios<br />...<br />
  36. 36. Sistemas Multi-Agente (Aprendizagem ...)<br />Visão parcial do estado<br />Dinâmica do ambiente/problema por acção dos outros agentes<br />Necessidade de coordenação (?)<br />TragedyoftheCommons (TOC)<br />Procura da solução óptima por todos em simultâneo leva uma solução abaixo da média (ás vezes, catastrófica), exemplo: El Farol<br />Uma solução possível: Equilíbrio de Nash<br />Acontece quando nenhum agente, mudando apenas a sua política da acção, pode melhorar a recompensa global (não é necessariamente o equilíbrio óptimo, utilidade discutível)<br />
  37. 37. Aprendizagem em SMA<br />Aprendizagem por Reforço (muitas variantes)<br />MinimaxQ (Littman 94)<br />Semelhante a Q-Learning<br />Maximizar em relação às “nossas” acções, minimizar em relação às dos outros<br />COIN (COllectiveINteligences)<br />“ANN” + RL<br />Aprendizagem a dois níveis, do agente e do grupo<br />Ant-Colony/Farm<br />Baseados no conceito de aprendizagem do caminho mais curto por traços de feromonas, usado pelas formigas.<br />ANN + GA<br />Q-Learning<br />EvolutionaryAlgorithms (exemplo)<br />GeneticProgramming (exemplo)<br />Teoria dos Jogos: controlo óptimo, com previsão das acções dos outros agentes (uma comparação com estratégias derivadas do Q-Learning)<br />
  38. 38. Aprendizagem em SMA / Robótica<br />Subsumption Architecture (robótica) (Brooks)<br />Conceito fundamental na robótica/IA actual <br />“Elefantsdon’tplaychess” [Brooks 90]<br />“... the AI community need not attempt to build "human level" intelligence into machines directly from scratch. {…} we can first create simpler intelligences, and gradually build on the lessons learned from these to work our way up to move complex behaviors. Brooks' Subsumption architecture was designed to provide all the functionality displayed by lower level life forms, namely insects {…}. The Subsumption architecture provides these capabilities through the use of a combination of simple machines with no central control, no shared representation, slow switching rates and low bandwidth communication.” <br />in http://ai.eecs.umich.edu/cogarch3/Brooks/Brooks.html<br />
  39. 39. Referências<br />[Bellman 57] R. Bellman, DynamicProgramming, Princeton UniversityPress, 1957<br />[Sutton 88] R. S. Sutton, Learning to predictbythemethodof temporal diferences, MachineLearning 3(1), pp 9-44, 1988<br />[Watkins 89] C. J. C. H. Watkins, LearningfromDelayedRewards, Ph.D. thesis Kings College, Cambridge, UK, 1989<br />[Sutton 90] R. S. Sutton, Integratedarchitectures for learningplanningandreactingbasedonapproximatingdynamicprogrammig, inProc. oftheSeventhInternationalConfertenceonMachineLearning, Austin TX, MorganKaufmann, 1990<br />[Kaelbling et al. 96] Leslie P. Kaelbling, Michael L. Littman, Andrew W. Moore, Reinforcement Learning: A Survey, inJournal of Artificial Intelligence Research4: 237–285, 1996  <br />[Sutton, Barto 98] Richard S. Sutton, Andrew G. Barto, Reinforcement Learning: An Introduction. MIT Press. ISBN 0-262-19398-1, 1998<br />[Rummery, Niranjan 94] G. A. Rummery, M. Niranjan, Online Q-Learning using connectionist systems., Tech. report CUED/F-INFENG/TR166, Cambridge University.<br />[Whitehead 91] S. D. Whitehead, A complexity analysis of cooperative mechanisms in reinforcement learning, inProc. of the 9th National Conf. on AI (AAAI-91), pp. 607–613, 1991<br />[Lin 92] L.-J. Lin, Self-improving reactive agents based on reinforcement learning, planning and teaching. Machine Learning, 8, 293–321 ,1992<br />
  40. 40. Referências<br />[Stone, Veloso 00] Peter Stone, Manuela Veloso, Multiagent systems: A survey from a machine learning perspective, Autonomous Robots, 8 (3), pp. 345-383 2000(versão original 1996/97)<br />[Wiering et al. 99] M. Wiering, B. Krose, F. Groen, Learning in multiagent systems, Technical report, University of Amsterdam,1999<br />[Hoen 06] Pieter Jan ’t Hoen, Karl Tuyls, LiviuPanait, Sean Luke, and Johannes La Poutre. An Overview of Cooperative and Competitive Multiagent Learning. In K. Tuyls, P.J. ’t Hoen, K. Verbeeck, and S. Sen, editors, Learning and Adaptation in Multi-Agent Systems, Lecture Notes in Artificial Intelligence, pp. 1–49, Springer Verlag, Berlin, 2006.<br />[Panait, Luke 05] L. Panait, S. Luke, Cooperative Multi-Agent Learning: The State of the Art, in Autonomous Agents and Multi-Agent Systems, 2005<br />[Brooks 86] R. A. Brooks,"A Robust Layered Control System For A Mobile Robot", IEEE Journal Of Robotics And Automation, RA-2, April. pp. 14-23, 1986. <br />[Brooks 87] R. A. Brooks, "Planning is just a way of avoiding figuring out what to do next", Technical report, MIT Artificial Intelligence Laboratory, 1987. <br />[Brooks 90] R. A. Brooks, “ElephantsDon’t Play Chess”, RoboticsandAutonomousSystems 6, pp. 3-15, 1990<br />
  41. 41. Referências<br />[Littman 94] L. M. Littman, Markov games as a framework for multi-agent reinforcement learning. Proceedings of the Eleventh International Conference on Machine Learning (pp. 157–163). San Francisco: Morgan Kaufman, 1994.<br />[Bowling 00] Michael Bowling, Convergence problems of general-sum multiagent reinforcement learning, In Proceedings of the Seventeenth International Conference on Machine Learning (ICML) , pages 89--94. Morgan Kaufman, June 2000<br />[Hayneset al. 95] T. Haynes, S. Sen, D. Schoenefeld, andR.Wainwright, Evolvingmultiagentcoordinationstrategieswithgeneticprogramming, TechnicalReport UTULSA-MCS-95-04, TheUniversityofTulsa, May 31, 1995.<br />[Potteset al. 95] M. Potter, K. De Jong, and J. J. Grefenstette. A coevolutionaryapproach to learningsequentialdecisionrules.InProceedingsfromtheSixthInternationalConferenceonGeneticAlgorithms, pages 366–372.Morgan Kaufmann, Publishers, Inc., 1995.<br />[Bowling, Veloso 00] M. Bowling,M. Veloso. Ananalysisofstochastic game theory for multiagentreinforcementlearning.TechnicalReport CMU-CS-00-165, ComputerScienceDepartment, CarnegieMellonUniversity, 2000.<br />[Wolpert et al. 99] D. Wolpert, K. Tumer, and J. Frank. Using collective intelligence to route internet traffic. In Advances in Neural Information Processing Systems - 11. MIT Press, 1999. <br />
  42. 42. A ler para a próxima aula ... <br />Mitchell 97, Capítulo 4<br />
  43. 43. Sumário<br />Algoritmos Genéticos<br />Aprendizagem por Reforço<br />

×