Reinforcement Learning: quando prever já não é suficiente e é preciso aprender a decidir

Reinforcement Learning: quando prever já não é suficiente e é preciso aprender a decidir

Durante muitos anos, a Inteligência Artificial evoluiu à volta de uma ideia relativamente simples: utilizar dados históricos para prever o futuro.

Se tivermos milhares de fotografias de cães e gatos, podemos treinar um modelo para identificar automaticamente a que categoria pertence uma nova imagem.

Se recolhermos anos de consumos energéticos de um edifício, conseguimos prever qual será o consumo esperado amanhã.

Se analisarmos milhares de operações bancárias, podemos estimar a probabilidade de uma transação ser fraudulenta.

Todos estes exemplos têm algo em comum: existe um conjunto de dados históricos que serve para ensinar o modelo. Depois do treino, a Inteligência Artificial limita-se a responder à pergunta:

“O que vai acontecer?”

Mas existe uma enorme quantidade de problemas onde essa pergunta deixa de ser suficiente.

A verdadeira questão passa a ser outra:

“O que devo fazer?”

É precisamente aqui que nasce o Reinforcement Learning.

O mundo real raramente nos entrega a resposta correta

Imagina que és responsável por um carro autónomo.
Neste preciso instante o veículo aproxima-se de um cruzamento.

Deve acelerar?
Deve travar?
Deve mudar de faixa?

Ninguém consegue criar um dataset com todas as situações possíveis que um carro irá enfrentar ao longo da sua vida.

A mesma realidade acontece na robótica industrial.
Um braço robótico pode pegar numa peça de milhares de formas diferentes. Algumas serão rápidas, outras gastarão mais energia, outras poderão danificar o equipamento.

Quem lhe diz qual é a melhor decisão?

Na verdade, ninguém.

A única forma de aprender é experimentar, observar o resultado e melhorar continuamente.

É exatamente esta filosofia que está por trás do Reinforcement Learning.

Aprender através da experiência

Ao contrário da maioria dos algoritmos de Machine Learning, no Reinforcement Learning não existe um professor que indique qual é a resposta correta, existe apenas um agente que interage com um ambiente.

Cada ação produz uma consequência.

  • Se essa consequência for positiva, o agente recebe uma recompensa.
  • Se a consequência for negativa, recebe uma penalização.

Depois ajusta a sua estratégia para que, no futuro, tome decisões cada vez melhores. É exatamente assim que uma criança aprende a andar de bicicleta.

Ninguém lhe entrega um manual com milhares de exemplos.

A criança sobe para a bicicleta, tenta equilibrar-se, cai, volta a levantar-se, experimenta novamente e, pouco a pouco, aprende quais as ações que a aproximam do objetivo.

O Reinforcement Learning procura reproduzir este mesmo processo de aprendizagem.

Os cinco elementos fundamentais

Todo o problema de Reinforcement Learning pode ser descrito através de cinco componentes.

Agente (Agent)

É quem toma as decisões.

Pode ser um robô, um veículo autónomo, um drone, um sistema de gestão energética ou até um algoritmo que negoceia ações na bolsa.

Ambiente (Environment)

É tudo aquilo que rodeia o agente.

Pode ser uma estrada, uma fábrica, um edifício inteligente, um mercado financeiro ou uma rede elétrica.

Estado (State)

Representa a situação atual do ambiente.

Num sistema logístico, por exemplo, o estado pode incluir:

  • distância da entrega;
  • peso da mercadoria;
  • intensidade do tráfego;
  • tipo de produto.

Num edifício inteligente poderá representar:

  • temperatura;
  • ocupação;
  • consumo energético;
  • produção fotovoltaica.

Ação (Action)

É a decisão tomada pelo agente.
Pode significar:

  • alterar uma rota;
  • ligar ou desligar um equipamento;
  • escolher o número de transbordos de uma encomenda;
  • acelerar um veículo;
  • carregar ou descarregar uma bateria.

Recompensa (Reward)

Depois da ação, o ambiente responde.
Se a decisão aproximou o sistema do objetivo, existe uma recompensa.
Se piorou a situação, existe uma penalização.

Na prática, a recompensa pode representar:

  • redução de custos;
  • diminuição do consumo energético;
  • menor tempo de entrega;
  • maior lucro;
  • menor número de acidentes;
  • maior satisfação do cliente.

O objetivo do agente é maximizar esta recompensa ao longo do tempo.

Reinforcement Learning não procura prever. Procura decidir.

Esta é provavelmente a ideia mais importante de todo o Reinforcement Learning.

Grande parte dos algoritmos tradicionais responde à pergunta:

O que vai acontecer?

O Reinforcement Learning responde a uma pergunta completamente diferente:

O que devo fazer agora para maximizar o benefício futuro?

A diferença pode parecer subtil, mas muda completamente a forma como a Inteligência Artificial é construída.

Enquanto um modelo de regressão tenta prever o consumo energético de amanhã, um agente de Reinforcement Learning
tenta decidir qual a melhor estratégia para minimizar esse consumo.

Enquanto um classificador identifica se um e-mail é spam, um agente de Reinforcement Learning decide qual a melhor sequência de ações para melhorar continuamente uma campanha de marketing.

Onde encontramos Reinforcement Learning no dia a dia?

Reinforcement

Embora muitas pessoas nunca tenham ouvido falar deste ramo da Inteligência Artificial, o Reinforcement Learning já está presente em inúmeras aplicações.

Carros autónomos

Um veículo recebe continuamente informação dos sensores.

Sempre que o ambiente muda, precisa de decidir:

  • acelerar;
  • travar;
  • ultrapassar;
  • mudar de faixa.

Cada decisão influencia todas as decisões seguintes.

Robótica

Um robô industrial aprende a movimentar-se gastando menos energia, reduzindo o tempo de produção e evitando colisões.

Quanto mais executa uma tarefa, melhor se torna.

Logística

Imagina uma empresa que realiza milhares de entregas por dia.

Para cada encomenda pode existir mais do que uma rota, diferentes plataformas logísticas e vários números possíveis de transbordos.

O objetivo já não é apenas prever atrasos.

É decidir continuamente qual a estratégia que maximiza a eficiência, minimiza custos e reduz reclamações.

Foi precisamente este exemplo que utilizámos durante a aula.

Gestão de energia

Num edifício inteligente, um sistema de Reinforcement Learning pode decidir:

  • quando ligar o AVAC;
  • quando carregar baterias;
  • quando utilizar energia fotovoltaica;
  • quando comprar energia da rede.

Em vez de seguir regras fixas, aprende continuamente com o comportamento do edifício.

Trading algorítmico

Nos mercados financeiros, um agente pode aprender quando comprar, vender ou manter uma posição. Cada decisão altera a situação seguinte e influencia a recompensa futura.

Porque existem tantos modelos diferentes?

À primeira vista pode parecer estranho existirem tantas abordagens de Reinforcement Learning.

  • Planning.
  • Optimization.
  • Uncertainty.
  • Control.
  • Value.
  • Policy.
  • Exploration.
  • Temporal.

Na realidade, todos procuram responder exatamente ao mesmo problema:

Como tomar melhores decisões?

O que muda é a forma como o agente aprende. Alguns conseguem construir um modelo do ambiente antes de agir, outros aprendem exclusivamente através da experiência.

Alguns preocupam-se em planear.

Outros focam-se em melhorar políticas existentes. Há modelos especializados em lidar com incerteza.

Outros aprendem continuamente à medida que novas recompensas aparecem.

Ao longo desta série iremos explorar detalhadamente cada uma destas abordagens, perceber quando faz sentido utilizá-las e analisar casos reais de aplicação em diferentes setores de atividade.

Conclusão


O Reinforcement Learning representa uma mudança profunda na forma como encaramos a Inteligência Artificial.

Em vez de perguntar apenas “o que vai acontecer?”, passamos a perguntar “qual é a melhor decisão a tomar?”.

É esta capacidade de aprender continuamente através da interação com o ambiente que torna o Reinforcement Learning uma das áreas mais promissoras da Inteligência Artificial moderna.

Nos próximos artigos iremos explorar cada uma das oito abordagens principais, desde o Planning, que permite simular cenários antes de agir, até ao Temporal Difference Learning, que aprende e atualiza as suas estimativas a cada nova experiência.

Porque, no mundo real, tomar decisões é quase sempre mais importante do que fazer previsões.