Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Reinforcement Learning | Um pequeno panorama do Aprendizado por Reforço

23 views

Published on

Reinforcement Learning (Aprendizado por Reforço) é um importante método de Machine Learning (Aprendizado de Máquina) na qual um agente aprende a se comportar interagindo com um ambiente e analisando os resultados obtidos.

Serão apresentadas algumas técnicas de Reinforcement Learning (com ênfase no Q-Learning) e a sua aplicação em alguns cenários simples.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Reinforcement Learning | Um pequeno panorama do Aprendizado por Reforço

  1. 1. Reinforcement Learning Introdução ao Aprendizado por Reforço Italo Lelis de Carvalho | @italohdc | hello@italolelis.com . . .
  2. 2. Aprendizado Supervisionado Aprendizado Não-Supervisionado Aprendizado por Reforço
  3. 3. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço A AB B Treinamento Classificação A B Identificação B A A B Aprendizado Supervisionado Classificação Regressão a saída é uma categoria ( A, B, C... ) a saída é um valor real ( dólar, peso... )
  4. 4. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço Maçã Treinamento Classificação Maçã Laranja Identificação Aprendizado Supervisionado Maçã Laranja Laranja Laranja Laranja Maçã Maçã
  5. 5. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço
  6. 6. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço YOLO 2.0 Open source real-time image recognition
  7. 7. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço A AB B Treinamento Classificação Identificação Aprendizado Não-Supervisionado Clusterização Associação agrupamento de dados semelhantes regra de associação entre os dados
  8. 8. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço Maçã Treinamento Classificação Identificação Aprendizado Não-Supervisionado Maçã Laranja Laranja
  9. 9. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço Fonte: https://www.kahuna.com/blog/3-gifs-that-explain-the-power-of-machine-learning/ Descoberta Consideração Avaliação Compra Pontos de Interação Trajetória do Cliente Como ferramenta de Marketing: Permite aprender os passos do consumidor até a compra do produto...
  10. 10. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço Reinforcement Learning Aprendizado por Reforço
  11. 11. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço
  12. 12. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço
  13. 13. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço Atari Games
  14. 14. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço
  15. 15. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço - Reconhecimento de objetos - Recompensa por seguir leis de trânsito - Punição por desobedecer leis de trânsito Carro Autônomo
  16. 16. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço >> Q-Learning [1] Watkins, Christopher JCH, and Peter Dayan. "Q-learning." Machine learning 8.3-4 (1992): 279-292 Q-Learning é uma forma simples de agentes aprenderem a se comportarem de forma ótima em um domínio Markoviano ”“ Watkins, 1989 [1] Q-Learning
  17. 17. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço >> Q-Learning [1] Watkins, Christopher JCH, and Peter Dayan. "Q-learning." Machine learning 8.3-4 (1992): 279-292 Q-Learning é uma forma simples de agentes aprenderem a se comportarem de forma ótima em um domínio Markoviano ”“ Watkins, 1989 [1] 0.8 0.10.1 . . . Cadeia de Markov
  18. 18. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço >> Q-Learning Catch the Ball Q-Learning é uma forma simples de agentes aprenderem a se comportarem de forma ótima em um domínio Markoviano ”“ Watkins, 1989 [1]
  19. 19. Learn Snake Teaching an AI to play Snake using Reinforcement Learning Q-Learning
  20. 20. - não precisa instalar - roda direto no navegador - funciona “out-of-the-box”
  21. 21. Learn Snake > Q-Table > Algoritmo > Ações > Recompensas > Estados Q-Table Uma Q-Table é uma tabela com uma lista de estados e a probabilidade de sucesso para cada ação que o agente pode tomar naquele estado Exemplo de uma Q-Table (a melhor ação a ser tomada está em azul)
  22. 22. Q-Table Uma Q-Table é uma tabela com uma lista de estados e a probabilidade de sucesso para cada ação que o agente pode tomar naquele estado Exemplo de uma Q-Table (a melhor ação a ser tomada está em azul) Learn Snake > Q-Table > Algoritmo > Ações > Recompensas > Estados
  23. 23. Algoritmo 1. Descobrir qual o estado atual 2. Executar a melhor ação para o estado 3. Receber recompensa pela ação executada 4. Descobrir o novo estado após executada a ação 5. Atualizar Q-Table com as informações obtidas Learn Snake > Q-Table > Algoritmo > Ações > Recompensas > Estados 5.
  24. 24. UP DOWN LEFT RIGHT Ações DisponíveisLearn Snake > Q-Table > Algoritmo > Ações > Recompensas > Estados
  25. 25. +1 -1 0 pegar a maçã bater na própria cauda qualquer outra situação RecompensasLearn Snake > Q-Table > Algoritmo > Ações > Recompensas > Estados
  26. 26. Estados Os estados são salvos no código na forma de um dicionário Cada estado possui um “nome” que contém suas respectivas informações Learn Snake > Q-Table > Algoritmo > Ações > Recompensas > Estados
  27. 27. Estados Como o dicionário é armazenado no código... Os estados são salvos no código na forma de um dicionário Cada estado possui um “nome” que contém suas respectivas informações Exemplo de uma Q-Table no código Nome do Estado Informações sobre as ações Learn Snake > Q-Table > Algoritmo > Ações > Recompensas > Estados
  28. 28. Estados Como o dicionário é armazenado no código... Os estados são salvos no código na forma de um dicionário Cada estado possui um “nome” que contém suas respectivas informações Exemplo de uma Q-Table no código Nome do Estado Informações sobre as ações Learn Snake > Q-Table > Algoritmo > Ações > Recompensas > Estados
  29. 29. Algoritmo 1. Descobrir qual o estado atual 2. Executar a melhor ação para o estado 3. Receber recompensa pela ação executada 4. Descobrir o novo estado após executada a ação 5. Atualizar Q-Table com as informações obtidas Learn Snake > Q-Table > Algoritmo > Ações > Recompensas > Estados direita +1 5.
  30. 30. Algoritmo 1. Descobrir qual o estado atual 2. Executar a melhor ação para o estado 3. Receber recompensa pela ação executada 4. Descobrir o novo estado após executada a ação 5. Atualizar Q-Table com as informações obtidas Learn Snake > Q-Table > Algoritmo > Ações > Recompensas > Estados direita +1 +1 5. 0.650.8 0.8 0 Novo valor: 0.93
  31. 31. Learn Snake > Q-Table > Algoritmo > Ações > Recompensas > Estados +1 5. 0.650.8 0.8 0 Novo valor: 0.93 Taxa de Aprendizagem 65% 0.65 Valor Mantido Valor Mantido Valor a ser atualizado Valor a ser atualizado 20% 0.2
  32. 32. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço >> Q-Learning > Algoritmo Genético Algoritmo Genético Mar I/O
  33. 33. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço >> Q-Learning > Algoritmo Genético by Ivan Seidel
  34. 34. > Aprendizado Supervisionado > Aprendizado Não-Supervisionado > Aprendizado por Reforço >> Q-Learning > Algoritmo Genético Genomas
  35. 35. Rescue Maze 2º Lugar RoboCup Holanda 2013 1º Lugar Competição Brasileira de Robótica #Arduino #Tremaux #A_Star_Algorithm Cinto de Auxílio a Deficientes Visuais FEBRACE 2014 Interação Humano-Robô usando Realidade Virtual #Unity #RealidadeVirtual #Voronoi Italo Lelis Estudante de Engenharia de Controle e Automação, UFMG italohdc italolelis.com 3x

×