Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Reinforcement Learning

A aprendizagem por reforço (RL) treina um agente por tentativa e erro para maximizar a recompensa a longo prazo. Abrange o ciclo de RL, Q-learning, famílias de algoritmos e aplicações.

A aprendizagem por reforço (RL) é um ramo da aprendizagem automática (ML) em que um agente aprende a tomar uma sequência de decisões experimentando ações num ambiente e recebendo recompensas ou penalizações, com o objetivo de acumular o máximo de recompensas possível ao longo do tempo. Ninguém diz ao agente qual é a ação correta. O agente descobre quais as ações que compensam, incluindo aquelas cuja recompensa só chega muitos passos depois, como uma jogada de xadrez que ganha material dez jogadas mais tarde. Por isso, a RL é a abordagem padrão para problemas de controlo sequencial: jogar, conduzir robôs e treinar modelos de linguagem de grande escala (LLMs) para produzirem respostas que as pessoas prefiram ou que um programa consiga verificar. Richard Sutton e Andrew Barto, cujo manual definiu a área moderna, receberam o Prémio A. M. Turing da ACM de 2024 pelo seu trabalho fundamental sobre aprendizagem por reforço.

Como funciona a aprendizagem por reforço#

Os problemas de RL são formalizados como um processo de decisão de Markov (MDP). Em cada passo temporal, o agente observa o estado atual, escolhe uma ação do seu espaço de ações e recebe uma recompensa juntamente com o estado seguinte. O seu objetivo é o retorno, a soma das recompensas futuras, em que um fator de desconto entre 0 e 1 faz com que as recompensas distantes contem menos do que as imediatas. A recompensa é a única descrição da tarefa que o agente recebe, pelo que uma recompensa mal concebida pode levar a manipulação da recompensa: o agente obtém bons resultados sem fazer o que o programador pretendia.

  • Agente: O sistema que aprende e toma decisões, como um controlador de robô ou um programa que joga.
  • Ambiente: Tudo com que o agente interage, desde um simulador de física até ao chão de um armazém real.
  • Estado: As informações em que o agente se baseia para agir, como ângulos de articulações, a posição das peças num tabuleiro ou características extraídas de uma imagem captada por uma câmara.
  • Ação: Uma opção disponível para o agente, discreta (esquerda ou direita) ou contínua (um ângulo de direção).
  • Recompensa: Um número que o ambiente devolve após cada ação: positivo quando há progresso e negativo quando há erros ou perda de tempo.
  • Política: A regra que o agente usa para escolher uma ação em cada estado; é a política que o treino melhora.
  • Função de valor: O retorno esperado a partir de um estado, ou ao realizar uma ação específica num estado, que permite ao agente avaliar as ações pelas respetivas consequências a longo prazo.

Como o agente só aprende com as ações que tenta, precisa equilibrar a exploração, ou seja, experimentar ações cujo valor é incerto, com a exploração do que já sabe, escolhendo a ação que parece melhor no momento. Uma regra comum é epsilon-greedy: agir aleatoriamente com uma pequena probabilidade e, caso contrário, de forma gulosa. Este exemplo com NumPy usa Q-learning, um algoritmo clássico que aprende o valor de cada par estado-ação, para ensinar um agente a percorrer um corredor de seis células até uma recompensa no extremo oposto:

import numpy as np

rng = np.random.default_rng(0)
# Corredor de 6 células: começa na célula 0; recompensa de +1 por chegar à célula 5; ações 0 = esquerda, 1 = direita
n_states, goal = 6, 5
Q = np.zeros((n_states, 2))  # retorno estimado para cada (estado, ação)
alpha, gamma, epsilon = 0.5, 0.9, 0.2  # taxa de aprendizagem, fator de desconto, taxa de exploração

for episode in range(200):
    state = 0
    while state != goal:
        # Explora com probabilidade epsilon; caso contrário, aproveita a melhor ação conhecida
        action = rng.integers(2) if rng.random() < epsilon else Q[state].argmax()
        next_state = max(0, state - 1) if action == 0 else state + 1
        reward = 1.0 if next_state == goal else 0.0
        # Atualização do Q-learning: avança em direção à recompensa mais o melhor valor do próximo estado com desconto
        Q[state, action] += alpha * (reward + gamma * Q[next_state].max() - Q[state, action])
        state = next_state

print("Greedy policy:", ["left" if a == 0 else "right" for a in Q[:goal].argmax(axis=1)])
print("Value of moving right:", Q[:goal, 1].round(2))

O código imprime uma política right em cada célula e valores [0.66 0.73 0.81 0.9 1. ]. A recompensa só foi concedida na última célula, mas a atualização propagou-a para trás, e cada passo mais distante do objetivo vale 0.9 vezes o seguinte, exatamente o fator de desconto em ação.

Famílias de algoritmos de RL#

Métodos tabulares como o anterior armazenam um valor para cada estado, o que deixa de funcionar quando os estados são imagens de câmaras ou ângulos articulares contínuos. A aprendizagem por reforço profundo substitui a tabela por uma rede neural que generaliza entre estados semelhantes, e as principais famílias de algoritmos diferem no que essa rede aprende:

Os agentes sem modelo aprendem apenas com a experiência real ou simulada, enquanto os agentes baseados em modelo aprendem um modelo do mundo que prevê como o ambiente responde e, depois, planeiam com ele, como no controlo preditivo baseado em modelo ou na pesquisa em árvore de Monte Carlo. A Otimização de Política Proximal (PPO), que limita o quanto cada atualização pode alterar a política, tornou-se o método padrão de gradiente de política para robótica e para o treino de modelos de linguagem, e a Otimização de Política Relativa ao Grupo (GRPO) adaptou-o ao raciocínio de LLMs ao eliminar o crítico aprendido. O Spinning Up da OpenAI apresenta estes algoritmos com implementações de referência.

Aplicações no mundo real#

  • Jogos: O AlphaGo da DeepMind combinou redes neurais profundas com pesquisa em árvore e aprendizagem por reforço por autojogo para derrotar o campeão de Go Lee Sedol por 4 partidas a 1, em março de 2016.
  • Robótica: Os controladores de locomoção de quadrúpedes e humanoides são treinados com RL em milhares de robôs simulados em paralelo, muitas vezes com atrito, massas e terrenos aleatorizados, para que a política se transfira para o hardware real.
  • Alinhamento de modelos de linguagem: Os assistentes de chat são afinados com RL em função de um modelo de recompensa treinado com comparações de preferências humanas, e os modelos de raciocínio são treinados com RL usando verificadores automáticos que validam respostas matemáticas ou executam testes unitários.
  • Sistemas de recomendação: Tratar uma sequência de recomendações como decisões permite que um sistema otimize o envolvimento a longo prazo, em vez do próximo clique.

A maioria das políticas de robôs é treinada em simulação, porque um agente pode precisar de milhões de tentativas e o hardware real pode avariar; estruturas como o NVIDIA Isaac Lab executam milhares de ambientes numa única GPU, e a aleatorização de domínio reduz a diferença entre a física simulada e a real. Os sistemas de RL baseados em câmaras costumam agir com base na saída de um modelo de perceção, em vez de píxeis brutos: o Ultralytics YOLO26, a funcionar num robô através da integração com ROS, publica as classes de objetos em cada fotograma da câmara e, com uma câmara de profundidade, a distância de cada objeto, como mensagens leves que uma política pode usar como estado.

  • Aprendizagem supervisionada: Cada exemplo de treino inclui a resposta correta. Um agente de RL recebe apenas uma recompensa escalar, muitas vezes atrasada, e as próprias ações determinam que dados verá a seguir.
  • Aprendizagem não supervisionada: O modelo encontra estruturas, como agrupamentos, em dados sem rótulos, sem ações a executar nem recompensas a maximizar.
  • Processo de decisão de Markov: O MDP define o problema, e RL é a família de métodos que o resolve com base na experiência, sem receber as probabilidades de transição.
  • Aprendizado por imitação: o agente copia demonstrações de um especialista, da forma mais simples por meio de clonagem comportamental, e não consegue superar facilmente seu professor, enquanto o RL pode descobrir estratégias que nenhum demonstrador apresentou. Os dois são frequentemente combinados: o AlphaGo primeiro aprendeu com 30 milhões de posições de partidas humanas e depois melhorou por meio do jogo contra si mesmo, e seu sucessor, AlphaGo Zero, dispensou completamente os dados humanos e venceu essa versão do AlphaGo por 100 partidas a 0.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina