O que é aprendizagem por reforço?

A aprendizagem por reforço (RL) é um tipo de machine learning em que um "agente" aprende o comportamento ideal por meio da interação com o ambiente. Em vez de depender de programação explícita ou conjuntos de dados rotulados, esse agente aprende por tentativa e erro, recebendo feedback na forma de recompensas ou penalidades por suas ações. Esse processo espelha a forma como as pessoas normalmente aprendem naturalmente, o que torna o RL uma abordagem poderosa para criar sistemas inteligentes capazes de resolver problemas complexos.

Noções básicas sobre aprendizagem por reforço

A aprendizagem por reforço consiste em aprender a tomar decisões. Imagine um agente, que pode ser qualquer coisa, de um programa de software a um robô, navegando em um ambiente. Esse ambiente pode ser um espaço físico, um mundo de jogos virtual ou até mesmo um mercado. O agente realiza ações nesse ambiente, e essas ações podem levar a determinados resultados, alguns mais desejáveis do que outros.

O objetivo do agente é ganhar o máximo de recompensas possível ao longo do tempo. Ele faz isso aprendendo uma política, que é basicamente uma estratégia que diz qual ação tomar em qualquer situação. Essa política é refinada em várias iterações de interação com o ambiente.

Para ilustrar, considere uma IA que joga xadrez. As ações do agente são os movimentos que ele faz no tabuleiro de xadrez. O ambiente é o estado atual do jogo, e a recompensa é vencer o jogo. Com a repetição do jogo e o feedback sobre as jogadas, o agente de RL aprende quais ações têm mais chances de levar à vitória.

Como funciona a aprendizagem por reforço?

O processo de aprendizagem na aprendizagem por reforço é conduzido por um loop de feedback que consiste em quatro elementos principais:

  • Agente: o estudante e tomador de decisões no sistema
  • Ambiente: o mundo externo com o qual o agente interage
  • Ações: as opções que o agente pode fazer em cada etapa
  • Recompensas: o feedback que o agente recebe depois de realizar uma ação, indicando a conveniência do resultado

Veja como esse ciclo de feedback acontece:

  1. O agente observa o estado atual do ambiente.
  2. Com base na política, o agente seleciona e realiza uma ação.
  3. O ambiente responde à ação, fazendo a transição para um novo estado.
  4. O agente recebe um sinal de recompensa, que reflete o valor do novo estado.
  5. Essas informações de recompensa são usadas para atualizar a política do agente, tornando mais provável que ele escolha ações que levaram a recompensas positivas no passado.

Esse processo de tentativa e erro, recebimento de feedback e melhoria das regras continua até que o sistema aprenda a melhor maneira de receber o máximo de recompensas ao longo do tempo.

Tipos de aprendizagem por reforço

Há dois tipos principais de aprendizagem por reforço: com base em modelo e sem modelo. 

Com base no modelo

Na aprendizagem por reforço baseada em modelo, o agente tenta criar um modelo interno do ambiente. Com esse modelo, o agente pode prever as consequências das ações antes de executá-las, o que permite uma abordagem mais planejada e estratégica.

Imagine um robô aprendendo a andar em um labirinto. Um agente de RL baseado em modelo tentaria criar uma representação interna do layout do labirinto. Em seguida, ele usaria esse modelo para planejar um caminho, simulando diferentes ações e os resultados previstos antes de se mover.

Sem modelo

A aprendizagem por reforço sem modelo, por outro lado, não depende da criação de um modelo explícito do ambiente. Ela foca em aprender diretamente a política ideal associando ações a valores com base nas recompensas recebidas.

Voltando ao exemplo do labirinto, um agente sem modelo não teria de mapear todo o labirinto. Em vez disso, ele aprende quais ações, como virar à esquerda ou à direita em cruzamentos específicos, têm mais probabilidade de levar à saída com base apenas nas experiências anteriores e nas recompensas recebidas.

Técnicas de aprendizagem por reforço

Embora o objetivo seja sempre maximizar as recompensas, diferentes técnicas de RL oferecem estratégias diferentes para chegar lá. Vamos voltar ao robô no labirinto:

  • Q-Learning:esse é um método popular sem modelo. Imagine o robô criando uma "folha de referência" enquanto explora. Para cada interseção (estado), a planilha lista um "índice de qualidade" (valor Q) para cada turno possível (ação). Depois de muitas tentativas e erros, o robô aprende a melhor pontuação possível para cada turno em cada cruzamento. Para encontrar a saída, ele simplesmente segue o caminho com as pontuações mais altas na sua folha de referência.
  • SARSA (State-Action-Reward-State-Action): esse método é muito parecido com o Q-Learning, mas o robô é um pouco mais cauteloso. Em vez de sempre presumir que vai tomar a melhor próxima medida possível, ele atualiza sua folha de referência com base na ação que realmente toma de acordo com sua estratégia atual. Isso o torna um método "na política", porque aprende com base na política que está seguindo no momento.
  • Redes Q profundas (DQN): e se o labirinto for enorme, com milhões de estados possíveis (como a tela de um videogame)? Uma folha de referência não é prática. Uma DQN substitui a folha de referência por uma rede neural profunda. A rede atua como uma "função" inteligente que pode analisar qualquer novo estado e estimar o valor Q, mesmo que nunca tenha visto essa situação exata antes. Foi assim que a IA do DeepMind aprendeu a jogar Atari.
  • Métodos de gradiente de política: esses métodos adotam uma abordagem mais direta. Em vez de aprender um valor para cada ação, o robô aprende uma política geral ou um conjunto de probabilidades do que fazer em qualquer situação (por exemplo, "70% de chance de virar à esquerda em cruzamentos em T"). Em seguida, ele ajusta essas probabilidades diretamente com base no sucesso da jornada geral, melhorando gradualmente seus "instintos" para maximizar a recompensa final.

Quando usar a aprendizagem por reforço

A aprendizagem por reforço é uma ferramenta poderosa mais adequada para determinados cenários. Confira alguns exemplos de áreas em que a RL se destaca:

Ambientes complexos com vários estados e ações

A RL pode lidar com situações em que a programação tradicional ou sistemas baseados em regras seriam muito complicados.

Situações em que os dados são gerados por interação

Quando o agente pode aprender interagindo ativamente com o ambiente e recebendo feedback, a aprendizagem por reforço prospera.

Metas que envolvem otimização de longo prazo

Tarefas em que maximizar a recompensa cumulativa ao longo do tempo é fundamental podem ser adequadas para a aprendizagem por reforço.

Vantagens e desafios da aprendizagem por reforço

A aprendizagem por reforço é uma boa maneira de resolver problemas difíceis, mas é importante pensar nos pontos fortes e fracos dele. Conhecer esses possíveis benefícios e desafios ajuda a decidir se o RL é adequado para diferentes trabalhos e como usá-lo.

Vantagens da RL

  • Capacidade de resolver problemas complexos: a aprendizagem por reforço pode ser útil em cenários em que as abordagens de programação tradicionais têm dificuldades, oferecendo soluções para problemas complexos
  • Adaptabilidade: os agentes de RL podem se adaptar a ambientes em mudança e aprender novas estratégias, o que os torna adequados para situações dinâmicas
  • Encontra soluções ideais: com aprendizagem e exploração contínuas, a RL busca descobrir as estratégias mais eficazes para alcançar uma meta

Desafios da RL

  • Pode usar muitos dados: a aprendizagem por reforço geralmente requer uma grande quantidade de dados de interação para aprender com eficácia, o que pode ser demorado e exigir muitos recursos para coletar
  • O design de recompensas é crucial: o sucesso da RL depende muito do design de uma função de recompensa que reflita com precisão o comportamento desejado, o que pode ser desafiador em algumas tarefas
  • Preocupações com a segurança em aplicações do mundo real: em cenários do mundo real, como robótica, é fundamental garantir que as ações do agente sejam seguras durante o processo de aprendizagem

Aprendizagem por reforço x aprendizagem supervisionada e não supervisionada

A aprendizagem por reforço, a aprendizagem supervisionada e a aprendizagem não supervisionada são subcampos do machine learning, mas diferem em suas abordagens fundamentais:

  • Aprendizagem supervisionada: na aprendizagem supervisionada, o algoritmo aprende com um conjunto de dados rotulado, mapeando entradas para saídas com base nos exemplos fornecidos. É como aprender com um professor que fornece as respostas corretas.
  • Aprendizagem não supervisionada: os algoritmos da aprendizagem não supervisionada analisam dados não rotulados para identificar padrões, relações ou estruturas. É como aprender sem um professor, tentando entender os dados de forma independente
  • Aprendizagem por reforço: como já vimos, a aprendizagem por reforço (RL, na sigla em inglês) se concentra na aprendizagem por meio da interação com um ambiente e no recebimento de feedback na forma de recompensas ou penalidades. É como aprender por tentativa e erro, ajustando o comportamento com base nos resultados das ações.

Aplicações da aprendizagem por reforço

A capacidade do RL de aprender comportamentos complexos por meio da interação o torna uma ferramenta adequada para uma ampla gama de usos, incluindo:

Sistemas de recomendação

A aprendizagem por reforço pode ajudar a personalizar as recomendações aprendendo com as interações dos usuários. Ao tratar cliques, compras ou tempo de exibição como sinais, os algoritmos de RL podem otimizar os mecanismos de recomendação para maximizar o engajamento e a satisfação do usuário. Por exemplo, um serviço de streaming de música pode usar o RL para sugerir músicas ou artistas que se alinham às preferências em evolução de um usuário.

Desenvolvimento de jogos

O setor de jogos adotou a aprendizagem por reforço para desenvolver agentes de jogos altamente qualificados. Esses agentes de IA, treinados com RL, podem alcançar uma proficiência notável em jogos complexos, demonstrando habilidades avançadas de pensamento estratégico e tomada de decisões. Exemplos notáveis incluem o AlphaGo e o AlphaZero, criados pela DeepMind, que mostraram o poder do RL ao atingir o desempenho de alto nível em jogos como o xadrez.

Controle de robótica

A RL ajuda os robôs a aprender habilidades motoras complexas e a navegar em ambientes desafiadores. Ao recompensar os robôs por comportamentos desejados, como agarrar objetos ou se mover com eficiência, a RL pode ajudar a automatizar tarefas que exigem destreza e adaptabilidade. Isso pode ter aplicações na fabricação, logística e até mesmo na área da saúde, em que robôs podem ajudar em cirurgias ou no atendimento a pacientes.

Como criar e escalonar soluções de aprendizagem por reforço no Google Cloud

O desenvolvimento de um sistema de aprendizagem por reforço exige uma plataforma robusta para treinar agentes e um ambiente escalonável para implantá-los. O Google Cloud fornece os componentes necessários:

  • Para criar e treinar modelos: a Vertex AI é uma plataforma unificada de machine learning que simplifica todo o fluxo de trabalho de ML. Você pode usá-la para criar, treinar e gerenciar seus modelos, experimentos e dados de RL em um só lugar.
  • Para implantação escalonável: os agentes de RL geralmente precisam ser implantados em ambientes complexos e dinâmicos. O Google Kubernetes Engine (GKE) oferece um serviço gerenciado e escalonável para executar seus agentes conteinerizados, permitindo que eles interajam com o ambiente e escalonem conforme necessário

Vá além

Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.

Google Cloud