Início

topics

Aprendizado por Reforço

O que é aprendizagem de reforço?
Explore o watsonx.ai Inscreva-se no boletim informativo do Think
Ilustração do tema de aprendizado por reforço

Publicado: 25 de março de 2024
Com a contribuição de: Jacob Murel Ph.D., Eda Kavlakoglu

No aprendizado por reforço, um agente aprende a tomar decisões interagindo com um ambiente.za É utilizado em robótica e outros contextos de tomada de decisão.

O aprendizado por reforço (RL) é um tipo de processo de aprendizado de máquina que foca na tomada de decisões por agentes autônomos. Um agente autônomo é qualquer sistema que pode tomar decisões e agir em resposta ao seu ambiente, independentemente de instruções diretas de um usuário humano. Robôs e carros autônomos são exemplos de agentes autônomos. No aprendizado por reforço, um agente autônomo aprende a realizar uma tarefa por tentativa e erro na ausência de qualquer orientação de um usuário humano.1 Ele lida especialmente com problemas de tomada de decisão sequencial em ambientes incertos e mostra potencial no desenvolvimento da inteligência artificial.

Aprendizado supervisionado e não supervisionado

A literatura frequentemente contrasta o aprendizado por reforço com o aprendizado supervisionado e não supervisionado. O aprendizado supervisionado utiliza dados manualmente rotulados para produzir previsões ou classificações. O aprendizado não supervisionado visa descobrir e aprender padrões ocultos a partir de dados não rotulados. Em contraste com o aprendizado supervisionado, o aprendizado por reforço não usa exemplos rotulados de comportamentos corretos ou incorretos. Além disso, o aprendizado por reforço difere do aprendizado não supervisionado ao aprender por tentativa e erro e por meio de uma função de recompensa, em vez de extrair informações de padrões ocultos.2

Os métodos de aprendizado supervisionado e não supervisionado partem do princípio de que cada registro no conjunto de dados é independente dos outros, mas todos seguem o mesmo padrão de distribuição subjacente. Esses métodos são treinados para otimizar a precisão das previsões, que serve como base para medir o desempenho do modelo.

Por outro lado, o aprendizado por reforço aprende a agir. Ele pressupõe que os dados de input sejam tuplas interdependentes, ou seja, uma sequência ordenada de dados organizada como estado-ação-recompensa. Muitas aplicações de algoritmos de aprendizado por reforço visam imitar métodos de aprendizado biológico do mundo real através de reforço positivo.

Observe que, embora os dois não sejam frequentemente comparados na literatura, o aprendizado por reforço também é distinto do aprendizado auto-supervisionado. Este último é uma forma de aprendizado não supervisionado que usa pseudo rótulos derivados de dados de treinamento não rotulados como verdade fundamental para medir a precisão do modelo. O aprendizado por reforço, no entanto, não produz pseudo rótulos nem mede contra uma verdade fundamental, não é um método de classificação, mas um aprendiz de ações. No entanto, os dois foram combinados com resultados promissores.3

Faça um tour pelo IBM® watsonx

Explore o IBM watsonx e aprenda a criar modelos de aprendizado de máquina usando conjuntos de dados estatísticos.

Processo de aprendizado por reforço

O aprendizado por reforço consiste essencialmente na relação entre um agente, ambiente e objetivo. A literatura formula amplamente essa relação em termos do processo de decisão de Markov (MDP).

Processo de decisão de Markov

O agente de aprendizado por reforço aprende sobre um problema interagindo com seu ambiente. O ambiente fornece informações sobre seu estado atual. Em seguida, o agente usa essas informações para determinar quais ações tomar. Se essa ação obtiver um sinal de recompensa do ambiente ao redor, o agente é incentivado a tomar essa ação novamente quando estiver em um estado futuro semelhante. Esse processo se repete para cada novo estado subsequente. Com o tempo, o agente aprende com recompensas e punições a tomar ações dentro do ambiente que atendem a um objetivo específico.4

Em processos de decisão de Markov, o espaço de estados refere-se a todas as informações fornecidas pelo estado de um ambiente. O espaço de ação denota todas as ações possíveis que o agente pode tomar dentro de um estado.5

Dilema entre exploração e invasão

Como um agente de RL não possui dados de input manualmente rotulados para guiar seu comportamento, ele deve explorar seu ambiente, tentando novas ações para descobrir quais recebem recompensas. A partir desses sinais de recompensa, o agente aprende a preferir ações que foram recompensadas para maximizar seu ganho. Mas o agente também deve continuar explorando novos estados e ações. Ao fazer isso, ele pode usar essa experiência para melhorar sua tomada de decisão.

Assim, os algoritmos de RL exigem que um agente explore e aproveite o conhecimento de ações de estado previamente recompensadas. O agente não pode perseguir exclusivamente a exploração ou a invasão. Ele Deve continuamente tentar novas ações, ao mesmo tempo em que prefere ações isoladas (ou cadeias de ações) que geram a maior recompensa cumulativa.6

Componentes do aprendizado por reforço

Além do trio agente-ambiente-objetivo, quatro subelementos principais caracterizam os problemas de aprendizado por reforço:

- Política. Define o comportamento do agente de RL mapeando estados ambientais percebidos para ações específicas que o agente deve tomar nesses estados. Pode assumir a forma de uma função rudimentar ou de um processo computacional mais complexo. Por exemplo, uma política que orienta um veículo autônomo pode mapear a detecção de pedestres para uma ação de parar.

- Sinal de recompensa. Designa o objetivo do problema de RL. Cada ação do agente de RL recebe ou não uma recompensa do ambiente. O único objetivo do agente é maximizar suas recompensas acumuladas do ambiente. Para veículos autônomos, o sinal de recompensa pode ser a redução do tempo de viagem, diminuição de colisões, permanência na estrada e na faixa correta, evitando desacelerações ou acelerações extremas, entre outros. Esse exemplo mostra que o RL pode incorporar múltiplos sinais de recompensa para guiar um agente.

- Função de valor. O sinal de recompensa difere da função de valor na medida em que o primeiro denota benefício imediato, enquanto o segundo especifica benefício a longo prazo. Valor refere-se à desejabilidade de um estado em relação a todos os estados (com suas recompensas incumbentes) que provavelmente o seguirão. Um veículo autônomo pode reduzir o tempo de viagem saindo de sua faixa, dirigindo na calçada e acelerando rapidamente, mas essas três ações podem reduzir sua função de valor geral. Assim, o veículo como agente de RL pode trocar um tempo de viagem marginalmente maior para aumentar sua recompensa nessas três áreas.

- Modelar. Este é um subelemento opcional dos sistemas de aprendizado por reforço. Os modelos permitem que agentes prevejam o comportamento do ambiente para possíveis ações. Os agentes então usam as previsões do modelo para determinar possíveis cursos de ação com base nos resultados potenciais. Esse modelo pode guiar o veículo autônomo, auxiliando na previsão das melhores rotas e na antecipação dos comportamentos dos veículos ao redor, considerando sua posição e velocidade, entre outros aspectos.7 Algumas abordagens baseadas em modelo usam feedback humano direto no aprendizado inicial e depois mudam para aprendizado autônomo.

Aprendizado online versus offline

Existem dois métodos gerais pelos quais um agente coleta dados para aprender políticas:

- Online. Aqui, um agente coleta dados diretamente interagindo com seu ambiente ao redor. Esses dados são processados e coletados de forma iterativa à medida que o agente continua interagindo com o ambiente.

- Off-line. Quando um agente não tem acesso direto a um ambiente, ele pode aprender através de dados registrados desse ambiente. Isso é aprendizado off-line. Um grande subconjunto de pesquisas tem se voltado para o aprendizado offline devido a dificuldades práticas em treinar modelos por meio de interação direta com ambientes.8

Tipos de aprendizado por reforço

O aprendizado por reforço é uma área de pesquisa dinâmica e em constante evolução, e por isso, desenvolvedores têm criado uma infinidade de abordagens para esse tipo de aprendizado. No entanto, três métodos de aprendizado por reforço amplamente discutidos e fundamentais são programação dinâmica, Monte Carlo e aprendizado por diferença temporal.

Programação dinâmica

A programação dinâmica divide tarefas maiores em tarefas menores. Dessa forma, ela organiza os problemas em fluxos de trabalho de sequências de tomada de decisões em pontos específicos no tempo. Cada decisão é tomada em termos do próximo estado possível resultante. A recompensa de um agente (r) para uma determinada ação é definida como uma função dessa ação (a), do estado ambiental atual (s) e do próximo estado potencial (s'):

Essa função de recompensa pode ser usada como parte da política que governa as ações de um agente. Determinar a política ótima para o comportamento do agente é um componente principal dos métodos de programação dinâmica paro aprendizado por reforço. Entra em cena a equação de Bellman.

A equação de Bellman é:

Em resumo, essa equação define vt(s) como a recompensa total esperada começando no tempo t até o final de um fluxo de trabalho de decisão. Ela assume que o agente começa ocupando o estado s no tempo t. Em última análise, a equação divide a recompensa no tempo t na recompensa imediata rt(s,a) (ou seja, a fórmula de recompensa) e na recompensa total esperada do agente. Assim, um agente maximiza sua função de valor, sendo o valor total da equação de Bellman, escolhendo consistentemente aquela ação que recebe um sinal de recompensa em cada estado.9

Método de Monte Carlo

A programação dinâmica é baseada em modelo, ou seja, constrói um modelo de seu ambiente para perceber recompensas, identificar padrões e navegar no ambiente. Monte Carlo, no entanto, assume um ambiente de caixa-preta, tornando-o sem modelo.

A programação dinâmica faz previsões sobre estados futuros e recompensas para orientar as decisões, enquanto os métodos de Monte Carlo dependem unicamente da experiência, coletando sequências de estados, ações e recompensas através da interação direta com o ambiente. Assim, os métodos de Monte Carlo aprendem por tentativa e erro, em vez de distribuições probabilísticas.

O Monte Carlo também difere da programação dinâmica na determinação da função de valor. A programação dinâmica busca a maior recompensa cumulativa ao selecionar consistentemente ações recompensadas em estados sucessivos. Por outro lado, o Monte Carlo faz a média dos retornos associados a cada combinação de estado e ação. Isso, por sua vez, significa que o método de Monte Carlo deve esperar até que todas as ações em um dado episódio (ou horizonte de planejamento) sejam concluídas antes de calcular sua função de valor e, então, atualizar sua política.10

Aprendizado de diferenças temporais

A literatura descreve amplamente o aprendizado por diferença temporal (TD) como uma combinação de programação dinâmica e Monte Carlo. Assim como na programação dinâmica, o TD atualiza sua política e estimativas para estados futuros após cada etapa, sem esperar por um valor final. Assim como no Monte Carlo, o TD aprende por meio de interação direta com seu ambiente, em vez de usar um modelo dele.11

Pelo nome, o agente de aprendizado TD revisa sua política de acordo com a diferença entre as recompensas previstas e as realmente recebidas em cada estado. Ou seja, enquanto a programação dinâmica e o Monte Carlo consideram apenas a recompensa recebida, o TD também pesa a diferença entre sua expectativa e a recompensa recebida. Usando essa diferença, o agente atualiza suas estimativas para a próxima etapa sem esperar até o horizonte de planejamento do evento, ao contrário do Monte Carlo.12

O TD tem muitas variações. Duas variações principais são Estado–Ação–Recompensa–Estado–Ação (SARSA) e Q-learning. O SARSA é um método TD on-policy, o que significa que ele avalia e tenta melhorar a política que orienta suas decisões. O Q-learning é off-policy. Métodos off-policy são aqueles que utilizam duas políticas: uma para exploração (política-alvo) e outra para exploração e geração de comportamentos (política comportamental).13

Métodos adicionais

Existem inúmeros métodos adicionais de aprendizado por reforço. A programação dinâmica é um método baseado em valor, ou seja, seleciona ações com base em seus valores estimados de acordo com uma política que visa maximizar sua função de valor. Em contraste, métodos de gradiente de política aprendem uma política parametrizada que pode selecionar ações sem consultar uma função de valor. Estes métodos são conhecidos como baseados em política e são tidos como mais eficientes em ambientes com muitas dimensões.14

Os métodos de ator-crítico utilizam tanto abordagens baseadas em valor quanto em política. O chamado “ator” é um gradiente de política que determina quais ações tomar, enquanto o “crítico” é uma função de valor para avaliar ações. Métodos de ator-crítico são, essencialmente, uma forma de TD. Mais especificamente, o ator-crítico avalia o valor de uma ação dada não apenas com base em sua própria recompensa, mas no valor possível do estado seguinte, que adiciona à recompensa da ação. A vantagem do ator-crítico é que, devido à sua implementação de uma função de valor e política na tomada de decisões, ele efetivamente requer menos interação com o ambiente.15

Exemplos de aprendizado por reforço
Robótica

Como o aprendizado por reforço está centralmente preocupado com a tomada de decisões em ambientes imprevisíveis, tem sido uma área central de interesse em robótica. Para realizar tarefas simples e repetitivas, a tomada de decisões pode ser simples. Mas tarefas mais complicadas, como tentar simular o comportamento humano ou automatizar a condução, envolvem interação com ambientes reais de alta variabilidade e mutáveis. Pesquisas mostram que o aprendizado por reforço profundo com redes neurais profundas auxilia tais tarefas, especialmente no que diz respeito à generalização e mapeamento de inputs sensoriais de alta dimensão para saídas de sistemas controlados.16 Estudos sugerem que o aprendizado por reforço profundo com robôs depende fortemente de conjuntos de dados coletados, e assim trabalhos recentes exploram caminhos para coletar dados do mundo real17 e reaproveitar dados anteriores18 para melhorar os sistemas de aprendizado por reforço.

Processamento de linguagem natural

Pesquisas recentes sugerem que aproveitar técnicas e ferramentas de processamento de linguagem natural, como grandes modelos de linguagem (LLMs) — podem melhorar a generalização em sistemas de aprendizado por reforço através da representação textual de ambientes do mundo real.19 Muitos estudos mostram como ambientes textuais interativos fornecem alternativas econômicas a ambientes tridimensionais ao instruir agentes de aprendizado em tarefas sucessivas de tomada de decisão.20 O aprendizado profundo por reforço também fundamenta a tomada de decisões textuais em chatbots. De fato, o aprendizado por reforço supera outros métodos para melhorar a resposta de diálogo de chatbots.21

Recursos relacionados Descubra o Granite LLM da IBM

Granite é a série principal de modelos de base LLM da IBM, baseada em arquitetura de transformação apenas de decodificador. Os modelos de linguagem Granite são treinados com dados empresariais confiáveis, abrangendo informações da internet, acadêmicas, de código, jurídicas e financeiras.

Treinar agente de software com RL

Use o aprendizado por reforço para identificar as ações adequadas para os estados de um ambiente e treine um agente para agir de forma racional.

Cinco tipos de ML

Saiba mais sobre o aprendizado por reforço em comparação com outros tipos de aprendizado de máquina.

Dê o próximo passo

Crie uma estratégia de IA para sua empresa em uma plataforma colaborativa de IA e dados, o IBM watsonx. Treine, valide, ajuste e implemente modelos de IA para ajudar você a escalar e acelerar o impacto da IA com dados confiáveis em toda a sua empresa.

Explore o watsonx Agende uma demonstração em tempo real
Notas de rodapé

1 Ian Goodfellow, Yoshua Bengio, e Aaron Courville, Deep Learning, MIT Press, 2016.

2 Peter Stone, “Reinforcement Learning,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

3 Xiang Li, Jinghuan Shang, Srijan Das, Michael Ryoo, "Does Self-supervised Learning Really Improve Reinforcement Learning from Pixels?" Advances in Neural Information Processing Systems, Vol. 35, 2022, págs. 30865-30881, https://proceedings.neurips.cc/paper_files/paper/2022/hash/c75abb33341363ee874a71f81dc45a3a-Abstract-Conference.html (link externo ao site ibm.com).

4 Richard Sutton e Andrew Barto, Introduction to Reinforcement Learning, 2ª edição, MIT Press, 2018. Michael Hu, The Art of Reinforcement Learning: Fundamentals, Mathematics, and Implementations with Python, Apress, 2023.

5 Brandon Brown e Alexander Zai, Deep Reinforcement Learning in Action, Manning Publications, 2020.

6 Richard Sutton e Andrew Barto, Introdução ao aprendizado de reforço, 2ª edição, MIT Press, 2018.
Brandon Brown e Alexander Zai, Deep Reinforcement Learning in Action, Manning Publications, 2020.

7 Richard Sutton e Andrew Barto, Introduction to Reinforcement Learning, 2ª edição, MIT Press, 2018. B Ravi Kiran, Ibrahim Sobh, Victor Talpaert, Patrick Mannion, Ahmad A. Al Sallab, Senthil Yogamani, and Patrick Pérez, "Deep Reinforcement Learning for Autonomous Driving: A Survey," IEEE Transactions on Intelligent Transportation Systems, Vol. 23, Nº 6, 2022, págs. 4909-4926, https://ieeexplore.ieee.org/document/9351818 (link externo ao site ibm.com).

8 Sergey Levine, Aviral Kumar, George Tucker, e Justin Fu, "Offline Reinforcement Learning: Tutorial, Review, and Perspectives on Open Problems," 2020, https://arxiv.org/abs/2005.01643 (link externo ao site ibm.com). Julian Schrittwieser, Thomas Hubert, Amol Mandhane, Mohammadamin Barekatain, Ioannis Antonoglou, e David Silver, "Online and Offline Reinforcement Learning by Planning with a Learned Model," Advances in Neural Information Processing Systems, Vol. 34, 2021, págs. 27580-27591, https://proceedings.neurips.cc/paper_files/paper/2021/hash/e8258e5140317ff36c7f8225a3bf9590-Abstract.html (link externo ao site ibm.com).

9 Martin Puterman e Jonathan Patrick, “Dynamic Programming,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

10 Richard Sutton e Andrew Barto, Introduction to Reinforcement Learning, 2ª edição, MIT Press, 2018. Phil Winder, Reinforcement Learning: Industrial Applications of Intelligent Agents, O’Reilly, 2020.

11 Richard Sutton e Andrew Barto, Introduction to Reinforcement Learning, 2ª edição, MIT Press, 2018.

12 Michael Hu, The Art of Reinforcement Learning: Fundamentals, Mathematics, and Implementations with Python, Apress, 2023.

13 Richard Sutton e Andrew Barto, Introduction to Reinforcement Learning, 2ª edição, MIT Press, 2018.

14 Richard Sutton e Andrew Barto, Introduction to Reinforcement Learning, 2ª edição, MIT Press, 2018. Michael Hu, The Art of Reinforcement Learning: Fundamentals, Mathematics, and Implementations with Python, Apress, 2023.

15 Richard Sutton e Andrew Barto, Introduction to Reinforcement Learning, 2ª edição, MIT Press, 2018.

16 Julian Ibarz, Jie Tan, Chelsea Finn, Mrinal Kalakrishnan, Peter Pastor, e Sergey Levine, "How to train your robot with deep reinforcement learning: lessons we have learned," The International Journal of Robotics Research, Vol. 40, 2021, págs. 969-721, https://journals.sagepub.com/doi/full/10.1177/0278364920987859 (link externo ao site ibm.com).

17 Saminda Wishwajith Abeyruwan, Laura Graesser, David B D’Ambrosio, Avi Singh, Anish Shankar, Alex Bewley, Deepali Jain, Krzysztof Marcin Choromanski, e Pannag R Sanketi, "i-Sim2Real: Reinforcement Learning of Robotic Policies in Tight Human-Robot Interaction Loops," Proceedings of The 6th Conference on Robot Learning, PMLR, No. 205, 2023, págs. 212-224, https://proceedings.mlr.press/v205/abeyruwan23a.html (link externo ao site ibm.com).

18 Homer Rich Walke, Jonathan Heewon Yang, Albert Yu, Aviral Kumar, Jędrzej Orbik, Avi Singh, e Sergey Levine, "Don’t Start From Scratch: Leveraging Prior Data to Automate Robotic Reinforcement Learning," Proceedings of The 6th Conference on Robot Learning, PMLR, Nº 205, 2023, 1652-1662, https://proceedings.mlr.press/v205/walke23a.html (link externo ao site ibm.com).

19 Nikolaj Goodger, Peter Vamplew, Cameron Foale, e Richard Dazeley, "Language Representations for Generalization in Reinforcement Learning," Proceedings of The 13th Asian Conference on Machine Learning, PMLR, Nº 157, 2021, págs. 390-405, https://proceedings.mlr.press/v157/goodger21a.html (link externo ao site ibm.com). Yuqing Du, Olivia Watkins, Zihan Wang, Cédric Colas, Trevor Darrell, Pieter Abbeel, Abhishek Gupta, e Jacob Andreas, "Guiding Pretraining in Reinforcement Learning with Large Language Models," Proceedings of the 40th International Conference on Machine Learning, PMLR, Nº 202, 2023, págs. 8657-8677, https://proceedings.mlr.press/v202/du23f.html (link externo ao site ibm.com). Kolby Nottingham, Prithviraj Ammanabrolu, Alane Suhr, Yejin Choi, Hannaneh Hajishirzi, Sameer Singh, e Roy Fox, "Do Embodied Agents Dream of Pixelated Sheep: Embodied Decision Making using Language Guided World Modelling," Proceedings of the 40th International Conference on Machine Learning, PMLR, 202, 2023, págs. 26311-26325, https://proceedings.mlr.press/v202/nottingham23a.html (link externo ao site ibm.com).

20 Ruoyao Wang and Peter Jansen and Marc-Alexandre Côté and Prithviraj Ammanabrolu, "ScienceWorld: Is your Agent Smarter than a 5th Grader?" Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing, 2022, págs. 11279-11298, https://aclanthology.org/2022.emnlp-main.775/ (link externo ao site ibm.com). Peter Jansen, "A Systematic Survey of Text Worlds as Embodied Natural Language Environments," Proceedings of the 3rd Wordplay: When Language Meets Games Workshop, 2022, págs. 1-15, https://aclanthology.org/2022.wordplay-1.1 (link externo ao site ibm.com).

21 Paloma Sodhi, Felix Wu, Ethan R. Elenberg, Kilian Q Weinberger, e Ryan Mcdonald, "On the Effectiveness of Offline RL for Dialogue Response Generation," Proceedings of the 40th International Conference on Machine Learning, PMLR, No. 202, 2023, págs. 32088-32104, https://proceedings.mlr.press/v202/sodhi23a.html (link externo ao site ibm.com). Siddharth Verma, Justin Fu, Sherry Yang, e Sergey Levine, "CHAI: A CHatbot AI for Task-Oriented Dialogue with Offline Reinforcement Learning," Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2022, págs. 4471-4491, https://aclanthology.org/2022.naacl-main.332/ (link externo ao site ibm.com).