Introdução a Reinforcement Learning

Lucas Oliveira
pilotorobo
Published in
2 min readJan 8, 2018

Reinforcement learning (ou aprendizado por reforço) é uma área de machine learning que visa criar um agente que explore e aprenda a se comportar dentro de um determinado ambiente.

Embora o Curiosity seja comandado remotamente, simboliza muito bem a exploração de um ambiente desconhecido.

Este assunto é um dos principais caminhos na procura da “inteligência artificial genérica” que seria uma máquina capaz de tomar decisões e ações a nível humano, trazendo uma infinidade de utilidades.

Avanços nessa área já existem a algum tempo, porém recentemente com o boom de avanços em machine learning devido a quantidade de dados e capacidade de processamento disponíveis, essa área também teve estudos e avanços significativos.

Empresas de pesquisa recentemente tiveram resultados incríveis, como a OpenAI que criou um agente capaz de jogar o jogo DOTA e derrotar jogadores profissionais e a DeepMind, que já havia criado o AlphaGo que derrotou um jogador profissional de Go e recentemente desenvolveu o AlphaGo Zero, com desempenho superior ao projeto anterior. Um fato importante é que essas empresas abrem os projetos e pesquisas que desenvolvem, democratizando a informação e contribuindo com uma sociedade mais igualitária, dado ao potencial impacto desses estudos.

Infelizmente (ou felizmente) não podemos criar um robô que sai pelas ruas explorando, fazendo o que bem entender para aprender se comportar. Porém podemos criar ambientes simulados para estes robôs agirem e usar os resultados em ambientes reais, como é o caso de estudos com carros autônomos e braços robóticos que aprendem a agir sozinhos.

Como funciona

A idéia básica é que, a cada passo, um agente (agent) toma decisões (action) dentro de um ambiente (environment) e observa seu novo estado (state) e uma recompensa (reward). Com algoritmos corretos, podemos percorrer este ciclo diversas e diversas vezes, aprendendo quais ações nos levam a maiores recompensas e assim aprendendo a se comportar de forma inteligente dentro do ambiente.

Nos próximos posts iremos detalhar mais como funcionam os elementos de reinforcement learning, como Markov Decision Process, Policies, Exploration e Exploitation, dynamic programming… Fique ligado!

Siga o blog para não perder nenhum post e qualquer dúvida, deixe nos comentários que terei o maior prazer em responder!

Se gostou, bata algumas palmas 👏 para nós e ajude outros encontrar este artigo!

--

--

Lucas Oliveira
pilotorobo

Working at the intersection of artificial intelligence and education.