• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Aprendizagem Automática
 

Aprendizagem Automática

on

  • 811 views

 

Statistics

Views

Total Views
811
Views on SlideShare
811
Embed Views
0

Actions

Likes
0
Downloads
14
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Aprendizagem Automática Aprendizagem Automática Presentation Transcript

    • Aprendizagem Automática
      Algoritmos Genéticos
      Aprendizagem por Reforço
    • Aula anterior
      Apresentação
      Breves notas sobre a história da AA / IA
    • Problema (Caixeiro viajante)
      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.
    • Espaço de soluções
      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
      Podemos ver estas soluções ligadas entre si como um espaço / grafo
      Umas soluções podem ser transformadas noutras por (por exemplo) troca de posições entre duas cidades
    • Métodos de procura
      Sequencial (experimentar todas as combinações)
      Aleatório (experimentar várias combinações, escolher a melhor)
      A* (fazer todas as alterações possíveis à melhor solução encontrada até ao momento)
      SimulatedAnnealing(Arrefecimento simulado)
      Algoritmos Genéticos (Genetic / EvolutionaryAlgorithms)
    • SimulatedAnnealing[Kirkpatrick et al. 83]
      • 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)
    • Problema dos mínimos Locais
      Mínimos locais
      Erro
      Valor de um parâmetro / diferentes soluções
    • SimulatedAnnealing[Kirkpatrick et al. 83]
      Probabilidade de aceitação de novo estado
    • Algoritmos Genéticos (GA)[Holland 75]
      Inspirado na teoria da evolução das espécies
      Tenta encontrar soluções com maior aptidão:
      gerando uma “população” de soluções possíveis,
      avaliando-as
      mutando ou recombinando as mais promissoras, gerando nova população
    • GA: Aptidão / Fitness
      Capacidade para resolver o problema
      Inverso do erro
      Adequação de um padrão à resolução do problema
      Conveniente que seja um número real e que as diferenças nas soluções sejam tão precisas quanto possível
      Avaliação dos “sobreviventes”:
      Proporcional à qualidade da solução
      N melhores
      Torneio

    • GA: Ciclo de Vida
      Para N gerações (ou até Fbest > E )
      Para Si (Espécime/Specimen) em população
      Avaliar Si -> Fi (Aptidão/Fitness)
      Escolher os melhores (Bi) (selectedpool / survivors)
      Gerar nova população, para Si
      Si = mutate(Ba): a = rand (prioridade aos mais aptos)? OU
      Si = crossover(Ba, Bb): a, b = rand
    • Problema 1 (KnapSack)
      Dada uma mochila com capacidade limitada (peso ou volume)
      Cada “pacote” tem um peso e um valor (monetário por exemplo)
      Como escolher que pacotes levar de modo a maximizar o valor dos pacotes, sem exceder o peso
    • Problema 1 (KnapSack)
      Formulação para GA
      (20,2)
      (24,3)
      (10,2)
      (3,2)

      1
      1
      0
      1

      Cada quadrado indica se o pacote n é levado ou não
    • Problema 2 (Topologia)
      Formulação para GA
      Topologia de uma rede neuronal.
    • GA: Aspecto de uma solução (espécime / specimen)
      1
      1
      0
      0
      1
      0
      1

    • GA: Mutação (Mutation)
      Alterar uma solução
      1
      1
      0
      0
      1
      0
      1

      1
      1
      1
      0
      0
      0
      1

    • GA: Recombinação (Crossover)
      Fusão de duas soluções
      +
      crossover-point
      1
      1
      0
      0
      1
      1
      0

      0
      1
      1
      0
      0
      0
      1

      1
      1
      0
      0
      0
      0
      1

    • EvolutionaryAlgorithms
      Principais sub-tipos(ver discussão em GA-FAQ) [Heitkoetter et al. 94]
      GeneticAlgorithms
      EvolutionaryProgramming / EvolutionStrategies
      GeneticProgramming
      ClassifierSystems
      (NeuroEvolution)
    • Referências
      [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.
      [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.
      [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
      [Goldberg 89] D. E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Kluwer Academic Publishers, Boston, MA, 1989.
      [Fogel 06] D. B. Fogel, Evolutionary Computation: Toward a New Philosophy of Machine Intelligence, IEEE Press, Piscataway, NJ. Third Edition, 2006.
      [Holland 75] John H. Holland, Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, 1975
      [Koka 92] John Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press. ISBN 0-262-11170-5, 1992
      [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.
      Recursosváriossobre GA
    • Intervalo
      10 minutos
      p.f. seja pontual
    • Problema (Labirinto)
      Dado um labirinto, que pode ser percorrido repetidas vezes, é possível criar um programa que aprenda qual o melhor caminho para sair desse labirinto?
    • Aprendizagem por Reforço(ReinforcementLearning, RL)
      Aplicado em problemas em que um “agente” tem de interagir com um ambiente
      O agente tem de aprender quais as acções que lhe dão maiores recompensas
      O agente consegue observar o estado do ambiente (ou parte dele) e/ou o seu estado interno
    • RL: Ciclo de execução
      Recepção de estado do ambiente (s) no tempo t
      Escolha da acção (a)
      Recepção da recompensa (r, positiva, negativa, binária ou decimal)
      Actualização dos parâmetros de escolha da acção (usando a politica de escolha, (s,a))
    • Pode ser externa (do ambiente) ou interna (crítico heurístico, heuristiccritic)
      Tipicamente tenta-se optimizar a soma das recompensas a longo prazo:
      R: recompensa total
      rt: recompensa no tempo t
      γ: termo de desconto para recompensas futuras 0< γ<1
      RL: Recompensa
    • RL: Modelo do sistema
      Equação de Bellman
      V*(s): Valor óptimo (ou utilidade) do estado s
      P(s,a,s’): Probabilidade de transitar do estado s, para o estado s’ após efectuar acção a
      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)
      Itera pelos valores possíveis para o estado (há várias politicas para o efeito) até convergir.
    • RL: Diferenças temporais
      TD(λ) [Sutton 88]
      s’: estado seguinte a s (observado) (note-se que esta actualização é feita só ao atingir o objectivo)
      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
      λ = 0, apenas considera o estado seguinte (implementação mais comum)
      λ = 1, actualização de todos os estados de acordo o número de vezes que foram visitados
      Em geral:
      s = estado actual
      s = s visitado há n<N iterações e se t1>t2, e(st1)>e(st2)
      s = s visitado há n>N iterações
    • Q-Learning[Watkins 89]
      Q(s,a): Qualidade da escolha da acção a, no estado s
      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.
    • SARSA[Rummery, Niranjan 94]
      O máximo da qualidade prevista para a próxima acção é substituído pela qualidade efectiva da acção tomada
      Vantagem: não usa estimativas
      Desvantagem: só pode ser actualizado depois de escolher acção seguinte
    • RL: Escolha da próxima acção
      Problema: Exploration vs. Exploitation
      Escolher a melhor (Exploitation)
      Exploração (de Boltzmann) (com temperatura (T) decrescente)Mesmo princípio que SimulatedAnnealing.
      ε-greedy
      Escolher com probabilidade 1-ε a melhor acção
      Escolher com probabilidade ε uma acção aleatória
      ε deve diminuir ao longo do treino
    • RL: Questões práticas
      Problemas
      Exploração de Boltzmann: cálculo de exponenciais
      Sistemas com grande variância
      Observações parciais do estado
      Grande número de estados e acções, possibilidades de solução:
      ANN
      Hierarchical RL (MSc/PhD)
      Repetição das experiências por ordem inversa [Lin 92]
      Dyna: Aprender modelo e repetir experiências [Sutton 90]
    • Sistemas Multi-Agente (SMA)MultiagentSystems (MAS)
      MAS em estudo actualmente (possíveis temas, TF e/ou MSc)
      Homogéneos / Heterogéneos
      Com / Sem comunicação explícita
      Modelos separados / partilhados
      Hierarquias
      Estado / Recompensa global / parcial
      Modelação das reacções de outros
      Cooperativos / Competitivos
      Capacidade de afectar outros agentes
      Equilíbrios
      ...
    • Sistemas Multi-Agente (Aprendizagem ...)
      Visão parcial do estado
      Dinâmica do ambiente/problema por acção dos outros agentes
      Necessidade de coordenação (?)
      TragedyoftheCommons (TOC)
      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
      Uma solução possível: Equilíbrio de Nash
      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)
    • Aprendizagem em SMA
      Aprendizagem por Reforço (muitas variantes)
      MinimaxQ (Littman 94)
      Semelhante a Q-Learning
      Maximizar em relação às “nossas” acções, minimizar em relação às dos outros
      COIN (COllectiveINteligences)
      “ANN” + RL
      Aprendizagem a dois níveis, do agente e do grupo
      Ant-Colony/Farm
      Baseados no conceito de aprendizagem do caminho mais curto por traços de feromonas, usado pelas formigas.
      ANN + GA
      Q-Learning
      EvolutionaryAlgorithms (exemplo)
      GeneticProgramming (exemplo)
      Teoria dos Jogos: controlo óptimo, com previsão das acções dos outros agentes (uma comparação com estratégias derivadas do Q-Learning)
    • Aprendizagem em SMA / Robótica
      Subsumption Architecture (robótica) (Brooks)
      Conceito fundamental na robótica/IA actual
      “Elefantsdon’tplaychess” [Brooks 90]
      “... 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.”
      in http://ai.eecs.umich.edu/cogarch3/Brooks/Brooks.html
    • Referências
      [Bellman 57] R. Bellman, DynamicProgramming, Princeton UniversityPress, 1957
      [Sutton 88] R. S. Sutton, Learning to predictbythemethodof temporal diferences, MachineLearning 3(1), pp 9-44, 1988
      [Watkins 89] C. J. C. H. Watkins, LearningfromDelayedRewards, Ph.D. thesis Kings College, Cambridge, UK, 1989
      [Sutton 90] R. S. Sutton, Integratedarchitectures for learningplanningandreactingbasedonapproximatingdynamicprogrammig, inProc. oftheSeventhInternationalConfertenceonMachineLearning, Austin TX, MorganKaufmann, 1990
      [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 
      [Sutton, Barto 98] Richard S. Sutton, Andrew G. Barto, Reinforcement Learning: An Introduction. MIT Press. ISBN 0-262-19398-1, 1998
      [Rummery, Niranjan 94] G. A. Rummery, M. Niranjan, Online Q-Learning using connectionist systems., Tech. report CUED/F-INFENG/TR166, Cambridge University.
      [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
      [Lin 92] L.-J. Lin, Self-improving reactive agents based on reinforcement learning, planning and teaching. Machine Learning, 8, 293–321 ,1992
    • Referências
      [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)
      [Wiering et al. 99] M. Wiering, B. Krose, F. Groen, Learning in multiagent systems, Technical report, University of Amsterdam,1999
      [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.
      [Panait, Luke 05] L. Panait, S. Luke, Cooperative Multi-Agent Learning: The State of the Art, in Autonomous Agents and Multi-Agent Systems, 2005
      [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.
      [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.
      [Brooks 90] R. A. Brooks, “ElephantsDon’t Play Chess”, RoboticsandAutonomousSystems 6, pp. 3-15, 1990
    • Referências
      [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.
      [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
      [Hayneset al. 95] T. Haynes, S. Sen, D. Schoenefeld, andR.Wainwright, Evolvingmultiagentcoordinationstrategieswithgeneticprogramming, TechnicalReport UTULSA-MCS-95-04, TheUniversityofTulsa, May 31, 1995.
      [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.
      [Bowling, Veloso 00] M. Bowling,M. Veloso. Ananalysisofstochastic game theory for multiagentreinforcementlearning.TechnicalReport CMU-CS-00-165, ComputerScienceDepartment, CarnegieMellonUniversity, 2000.
      [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.
    • A ler para a próxima aula ...
      Mitchell 97, Capítulo 4
    • Sumário
      Algoritmos Genéticos
      Aprendizagem por Reforço