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

Italo Lelis de Carvalho
Italo Lelis de CarvalhoArtificial Inteligence and Software Developer, Student at UFMG
Reinforcement Learning
Introdução ao Aprendizado por Reforço
Italo Lelis de Carvalho | @italohdc | hello@italolelis.com
. . .
Aprendizado
Supervisionado
Aprendizado
Não-Supervisionado
Aprendizado
por Reforço
> 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... )
> 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çã
> Aprendizado
Supervisionado
> Aprendizado
Não-Supervisionado
> Aprendizado por Reforço
> Aprendizado
Supervisionado
> Aprendizado
Não-Supervisionado
> Aprendizado por Reforço
YOLO 2.0 Open source real-time image recognition
> 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
> Aprendizado
Supervisionado
> Aprendizado
Não-Supervisionado
> Aprendizado por Reforço
Maçã
Treinamento Classificação
Identificação
Aprendizado
Não-Supervisionado
Maçã
Laranja
Laranja
> 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...
> Aprendizado
Supervisionado
> Aprendizado
Não-Supervisionado
> Aprendizado por Reforço
Reinforcement Learning
Aprendizado por Reforço
> Aprendizado
Supervisionado
> Aprendizado
Não-Supervisionado
> Aprendizado por Reforço
> Aprendizado
Supervisionado
> Aprendizado
Não-Supervisionado
> Aprendizado por Reforço
> Aprendizado
Supervisionado
> Aprendizado
Não-Supervisionado
> Aprendizado por Reforço
Atari Games
> Aprendizado
Supervisionado
> Aprendizado
Não-Supervisionado
> Aprendizado por Reforço
> 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
> 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
> 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
> 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]
Learn Snake
Teaching an AI to play Snake using Reinforcement Learning
Q-Learning
- não precisa instalar
- roda direto no navegador
- funciona “out-of-the-box”
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)
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
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.
UP
DOWN
LEFT RIGHT
Ações DisponíveisLearn Snake
> Q-Table
> Algoritmo
> Ações
> Recompensas
> Estados
+1 -1
0
pegar a maçã bater na própria cauda
qualquer outra situação
RecompensasLearn Snake
> Q-Table
> Algoritmo
> Ações
> Recompensas
> Estados
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
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
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
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.
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
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
> Aprendizado
Supervisionado
> Aprendizado
Não-Supervisionado
> Aprendizado por Reforço
>> Q-Learning
> Algoritmo Genético
Algoritmo Genético
Mar I/O
> Aprendizado
Supervisionado
> Aprendizado
Não-Supervisionado
> Aprendizado por Reforço
>> Q-Learning
> Algoritmo Genético
by Ivan Seidel
> Aprendizado
Supervisionado
> Aprendizado
Não-Supervisionado
> Aprendizado por Reforço
>> Q-Learning
> Algoritmo Genético
Genomas
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
1 of 35

Recommended

Aprendizagem por reforço by
Aprendizagem por reforçoAprendizagem por reforço
Aprendizagem por reforçoLuís Nunes
4.8K views16 slides
Dispositivos de Comandos elétricos by
Dispositivos de Comandos elétricosDispositivos de Comandos elétricos
Dispositivos de Comandos elétricosEduardo Sacomano
19.9K views9 slides
Soft starter - apostila by
Soft   starter - apostilaSoft   starter - apostila
Soft starter - apostilaAndré Luiz Silva Pereira
527 views33 slides
8.controle de-processo by
8.controle de-processo8.controle de-processo
8.controle de-processoMaria Lucia Machado Moraes
15.4K views147 slides
UML - parte 1 by
UML - parte 1UML - parte 1
UML - parte 1Rodrigo Reis
1.4K views224 slides
3 sensores-e-atuadores by
3 sensores-e-atuadores3 sensores-e-atuadores
3 sensores-e-atuadoresVictor Paranhos
1.1K views28 slides

More Related Content

What's hot

Pesquisa Experimental em Marketing by
Pesquisa Experimental em MarketingPesquisa Experimental em Marketing
Pesquisa Experimental em MarketingGraziela Rodrigues
3.6K views38 slides
Maquinas eletricas by
Maquinas eletricasMaquinas eletricas
Maquinas eletricasFrancisco Costa
5K views70 slides
5 robotica de manipulação by
5 robotica de manipulação5 robotica de manipulação
5 robotica de manipulaçãoDavid Chivala
925 views30 slides
Acionamentos Elétricos by
Acionamentos ElétricosAcionamentos Elétricos
Acionamentos Elétricoselliando dias
1.5K views51 slides
Aprendizado de Máquina by
Aprendizado de MáquinaAprendizado de Máquina
Aprendizado de Máquinabutest
1.5K views44 slides
Parte6 casos de uso by
Parte6   casos de usoParte6   casos de uso
Parte6 casos de usoGustavo Girardon
1.3K views42 slides

What's hot(20)

5 robotica de manipulação by David Chivala
5 robotica de manipulação5 robotica de manipulação
5 robotica de manipulação
David Chivala925 views
Acionamentos Elétricos by elliando dias
Acionamentos ElétricosAcionamentos Elétricos
Acionamentos Elétricos
elliando dias1.5K views
Aprendizado de Máquina by butest
Aprendizado de MáquinaAprendizado de Máquina
Aprendizado de Máquina
butest1.5K views
3 - Modelo Entidade Relacionamento by Cris Fidelix
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento
Cris Fidelix9.5K views
Introdução à Aprendizagem de Máquina by Fernando Palma
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
Fernando Palma5.5K views
eletrônica de potência by John Kennedy
eletrônica de potênciaeletrônica de potência
eletrônica de potência
John Kennedy6K views
PROMINP: Apresentação sobre Medidas Elétricas by carlos ars
PROMINP: Apresentação sobre Medidas ElétricasPROMINP: Apresentação sobre Medidas Elétricas
PROMINP: Apresentação sobre Medidas Elétricas
carlos ars12.5K views
Dispositivos Utilizados em Comandos Elétricos by Jadson Caetano
Dispositivos Utilizados em Comandos ElétricosDispositivos Utilizados em Comandos Elétricos
Dispositivos Utilizados em Comandos Elétricos
Jadson Caetano3.3K views

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