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

Action Chunking

O agrupamento de ações faz com que uma política robótica preveja uma sequência de ações futuras a partir de uma única observação, reduzindo a acumulação de erros. Aborda ACT, suavização e VLAs.

A segmentação de ações em blocos é uma técnica de aprendizagem robótica em que uma política prevê uma sequência, ou bloco, das próximas k ações a partir de uma única observação, em vez de prever uma ação por etapa de controlo. O nome retoma um conceito da psicologia e da neurociência: agrupar uma sequência de ações numa única unidade. A técnica entrou na aprendizagem robótica com Segmentação de ações em blocos com Transformers (ACT), em 2023. O ACT aprendeu tarefas bimanuais delicadas, como encaixar uma bateria, com 80-90% de sucesso e apenas 10 minutos de demonstrações nos braços ALOHA de baixo custo. A previsão em blocos é agora padrão na aprendizagem por imitação e nos modelos de visão-linguagem-ação (VLA) concebidos para robótica de uso geral.

Por que a previsão em blocos ajuda#

Na clonagem comportamental, uma política aprende a imitar as ações das demonstrações humanas. Cada pequeno erro leva o robô a um estado não abrangido pelas demonstrações, no qual a previsão seguinte é pior, e os erros acumulam-se ao longo de uma tarefa extensa. Uma política que se compromete com k ações por previsão toma k vezes menos decisões por episódio, o que os autores do ACT descrevem como uma redução k vezes no horizonte efetivo da tarefa. Na ablação simulada, a média de sucesso em duas tarefas subiu de 1%, com a previsão de uma ação de cada vez, para 44%, com blocos de 100 ações.

Os blocos também captam intervalos de tempo que uma única observação não consegue captar. As pessoas que fazem demonstrações param e hesitam, e uma política de uma só etapa que vê a mesma imagem antes e depois de uma pausa não consegue saber se deve esperar ou mover-se; um bloco que inclui a pausa reproduz-a. E, quando as demonstrações mostram duas maneiras válidas de realizar uma tarefa, prever a sequência completa de uma só vez mantém o robô a seguir uma delas, em vez de fazer a média das duas.

O robô executa um bloco e, em seguida, pede outro à política:

Replanear depois do bloco completo reduz ao mínimo as chamadas ao modelo; replanear depois de parte do bloco, como faz a Diffusion Policy, segue a ideia de horizonte deslizante do controlo preditivo baseado em modelo e reage mais depressa a imprevistos.

Suavizar as transições entre blocos#

O robô move-se em circuito aberto dentro de um bloco, e cada novo bloco começa com uma previsão nova, por isso o movimento pode dar um salto na transição entre blocos. A combinação temporal do ACT consulta a política em cada etapa e executa uma média ponderada das previsões de todos os blocos para a etapa atual, com pesos exp(−m·i) que dão maior peso à previsão mais antiga. Este exemplo em NumPy compara a segmentação simples em blocos com a combinação temporal para uma política substituta em que cada bloco contém um pequeno erro próprio:

import numpy as np

rng = np.random.default_rng(0)
k, steps, m = 10, 100, 0.1  # chunk size, episode length, temporal-ensembling decay
target = np.sin(np.linspace(0, np.pi, steps + k))  # the demonstrated joint trajectory

# Stand-in policy: at step t it predicts actions for steps t..t+k-1, each chunk off by its own error
chunks = [target[t : t + k] + rng.normal(0, 0.05) for t in range(steps)]

# Plain chunking: query every k steps and execute each chunk open loop
plain = np.concatenate([chunks[t] for t in range(0, steps, k)])

# Temporal ensembling (ACT): query every step and average all predictions for step t, oldest weighted most
ensembled = []
for t in range(steps):
    preds = [chunks[s][t - s] for s in range(max(0, t - k + 1), t + 1)]
    weights = np.exp(-m * np.arange(len(preds)))
    ensembled.append(np.dot(weights, preds) / weights.sum())

for name, actions in (("plain", plain), ("ensembled", np.array(ensembled))):
    print(f"{name}: largest jump between consecutive actions = {np.abs(np.diff(actions)).max():.3f}")
print(f"demonstration: largest jump = {np.abs(np.diff(target[:steps])).max():.3f}")

A segmentação simples em blocos produz um salto máximo de 0,085 entre etapas, cerca de três vezes superior aos 0,029 da demonstração, numa transição entre blocos. A combinação reduz o salto para 0,044, pois cada ação executada calcula a média de até dez previsões feitas a partir de observações diferentes.

Os modelos maiores tornam as transições mais difíceis de disfarçar, pois a inferência pode demorar mais do que uma etapa de controlo. A segmentação de blocos em tempo real da Physical Intelligence gera o bloco seguinte enquanto o atual ainda está a ser executado, congela as ações que serão executadas durante o atraso de inferência e preenche as restantes para corresponder a elas; isso permitiu manter tarefas dinâmicas, como riscar um fósforo, mesmo com atrasos superiores a 300 ms.

Fragmentação de ações em políticas robóticas modernas#

  • ACT: Um Transformer treinado como um autoencoder variacional condicional que produz blocos de 100 alvos de posição das articulações, correspondentes a dois segundos de movimento à frequência de controlo de 50 Hz do ALOHA.
  • Políticas de difusão: Estas geram cada sequência de ações removendo ruído iterativamente, o que representa bem demonstrações com várias soluções distintas.
  • Modelos VLA: O π0 da Physical Intelligence combina um modelo de visão e linguagem com um especialista em ações treinado por correspondência de fluxo, que produz blocos de 50 ações para controlo até 50 Hz. A biblioteca LeRobot da Hugging Face fornece implementações abertas de ACT, Diffusion Policy e π0.

A maioria destas políticas codifica imagens brutas de câmaras com uma rede de extração de características aprendida. Em vez disso, uma política pode condicionar-se às posições dos objetos obtidas por um detetor: um modelo Ultralytics YOLO26 ajustado com as peças de uma célula de trabalho transforma cada fotograma em algumas coordenadas de caixa ou de ponto-chave, que a política em blocos usa como estado em vez dos píxeis brutos.

  • Reconhecimento de ações: Identifica a atividade num vídeo. A fragmentação de ações gera os comandos executados por um robô.
  • Controlo preditivo baseado em modelo: Otimiza uma sequência de ações com base num modelo de dinâmica a cada passo. Uma política em blocos aprende as suas sequências a partir de demonstrações e não precisa de um modelo.
  • Modelos de ação de grande escala: Agentes de IA que atuam em interfaces de software através de cliques e chamadas de API. A fragmentação de ações diz respeito a comandos motores de baixo nível, como o vetor de 14 dimensões das posições das articulações que o ACT produz para os dois braços do ALOHA a cada passo.

Explore solutions

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