Com o GPT-4, o robô aprendeu a virar a caneta e o prato de nozes

Coração da máquina original

Editor: Zhang Qian, Chen Ping

Com a combinação de GPT-4 e aprendizagem por reforço, como será o futuro da robótica?

Quando se trata de aprendizagem, o GPT-4 é um aluno formidável. Depois de digerir uma grande quantidade de dados humanos, ele dominou vários conhecimentos e até inspirou o matemático Tao Zhexuan no bate-papo.

Ao mesmo tempo, tornou-se um excelente professor, e não só ensina conhecimento de livros, mas também ensina robôs a virar canetas.

O robô, chamado Eureka, foi um estudo da Nvidia, da Universidade da Pensilvânia, do Instituto de Tecnologia da Califórnia e da Universidade do Texas em Austin. Este estudo combina os resultados de grandes modelos linguísticos e aprendizagem por reforço: o GPT-4 é usado para refinar a função de recompensa e a aprendizagem por reforço é usada para treinar o controlador do robô.

Com a capacidade do GPT-4 de escrever código, o Eureka tem excelentes capacidades de design de funções de recompensa, e as suas recompensas autogeradas são superiores às dos especialistas humanos em 83% das tarefas. Esta capacidade permite que o robô execute muitas tarefas que não eram fáceis de fazer antes, como virar canetas, abrir gavetas e armários, jogar bolas para pegar e driblar, operar tesouras, etc. Por enquanto, porém, tudo isso é feito em ambiente virtual.

Além disso, o Eureka implementou um novo tipo de RLHF no contexto que incorpora feedback de linguagem natural de operadores humanos para orientar e alinhar funções de recompensa. Ele pode fornecer aos engenheiros de robótica funções auxiliares poderosas para ajudar os engenheiros a projetar comportamentos de movimento complexos. Jim Fan, cientista sênior de IA da NVIDIA e um dos autores do artigo, comparou o estudo à "Voyager no espaço API do simulador de física".

Vale a pena mencionar que este estudo é completamente open source, e o endereço de código aberto é o seguinte:

Link do artigo:

Link do projeto:

Link do código:

Visão geral do artigo

Os Large Language Models (LLMs) se destacam no planejamento semântico de alto nível de tarefas robóticas (como o SayCan, bots RT-2 do Google), mas se eles podem ser usados para aprender tarefas operacionais complexas e de baixo nível, como girar a caneta, permanece uma questão em aberto. As tentativas existentes exigem muita experiência de domínio para criar prompts de tarefas ou aprender apenas habilidades simples, longe da flexibilidade de nível humano.

Robô RT-2 da Google

A aprendizagem por reforço (RL), por outro lado, alcançou resultados impressionantes em flexibilidade e muitos outros aspetos (como o manipulador da OpenAI que joga o cubo mágico), mas requer designers humanos para construir cuidadosamente funções de recompensa que codificam com precisão e fornecem sinais de aprendizagem para o comportamento desejado. Uma vez que muitas tarefas de aprendizagem de reforço do mundo real fornecem apenas recompensas esparsas que são difíceis de usar para a aprendizagem, a formação de recompensas é necessária na prática para fornecer sinais de aprendizagem progressivos. Embora a função de recompensa seja muito importante, é notoriamente difícil de projetar. Uma pesquisa recente descobriu que 92% dos pesquisadores e profissionais de aprendizagem por reforço entrevistados disseram que fizeram tentativa e erro humano ao projetar recompensas, e 89% disseram que projetaram recompensas que eram subótimas e levariam a um comportamento inesperado.

Dado que o design de recompensa é tão importante, não podemos deixar de perguntar: é possível desenvolver um algoritmo de programação de recompensa universal usando LLMs de codificação de última geração, como o GPT-4? Esses LLMs se destacam em codificação, geração zero-shot e aprendizagem em contexto, e melhoraram muito o desempenho dos agentes de programação. Idealmente, esse algoritmo de design de recompensa deve ter recursos de geração de recompensa de nível humano que possam ser dimensionados para uma ampla gama de tarefas, automatizar processos tediosos de tentativa e erro sem supervisão humana e ser compatível com a supervisão humana para garantir segurança e consistência.

Este artigo propõe um algoritmo de design de recompensa orientado por LLM, EUREKA (Evolution-driven Universal REward Kit for Agent). O algoritmo consegue o seguinte:

O desempenho do design de recompensa atinge o nível humano em 29 ambientes RL de código aberto diferentes, que incluem 10 formas diferentes de robôs (quadrúpedes, quadrúpedes, quadricópteros, bípedes, manipuladores e várias mãos habilidosas, ver Figura 1). Sem quaisquer prompts específicos de tarefas ou modelos de recompensa, as recompensas autogeradas do EUREKA superaram as dos especialistas humanos em 83% das tarefas e alcançaram uma melhoria média de normalização de 52%.

2. Resolva as tarefas de operação habilidosas que não podiam ser alcançadas através da engenharia manual de recompensas antes. Veja-se, por exemplo, o problema da viragem da caneta, em que uma mão com apenas cinco dedos precisa de rodar rapidamente a caneta de acordo com uma configuração de rotação predefinida e rodar o maior número de ciclos possível. Ao combinar o EUREKA com o curso, os investigadores demonstraram pela primeira vez o funcionamento de um giro rápido da caneta numa "Mão das Sombras" antropomórfica simulada (ver parte inferior da Figura 1).

  1. Este artigo fornece um novo método de aprendizagem de contexto livre de gradiente para aprendizagem por reforço baseada em feedback humano (RLHF), que pode gerar funções de recompensa mais eficientes e alinhadas ao ser humano com base em várias formas de entrada humana. O documento mostra que o EUREKA pode beneficiar e melhorar as funções de recompensa humana existentes. Da mesma forma, os pesquisadores demonstraram a capacidade do EUREKA de usar feedback textual humano para ajudar na conceção de funções de recompensa, que ajudam a capturar preferências humanas sutis.

Ao contrário do trabalho L2R anterior que usava design de recompensa assistido por LLM, o EUREKA não tem prompts específicos para tarefas, modelos de recompensa e um punhado de exemplos. No experimento, o EUREKA teve um desempenho significativamente melhor do que o L2R devido à sua capacidade de gerar e refinar programas de recompensa expressivos e de forma livre.

A versatilidade do EUREKA deve-se a três escolhas chave de design de algoritmos: contexto como contexto, pesquisa evolutiva e reflexão de recompensa.

Primeiro, usando o código-fonte do ambiente como contexto, o EUREKA pode gerar funções de recompensa executáveis a partir de zero amostras no LLM de codificação de backbone (GPT-4). EUREKA então melhora muito a qualidade das recompensas realizando pesquisas evolutivas, propondo iterativamente lotes de candidatos a recompensa e refinando as recompensas mais promissoras na janela de contexto LLM. Esta melhoria no contexto é alcançada através da reflexão sobre recompensas, que é um resumo de texto com qualidade de recompensa baseado em estatísticas de treinamento de estratégia que permite a edição automática e direcionada de recompensas.

A FIG. 3 MOSTRA UM EXEMPLO DE RECOMPENSA EUREKA DE AMOSTRA ZERO E AS MELHORIAS ACUMULADAS DURANTE A OTIMIZAÇÃO. Para garantir que a EUREKA seja capaz de escalar a sua pesquisa de recompensas até ao seu potencial máximo, a EUREKA utiliza a aprendizagem de reforço distribuído acelerada por GPU no IsaacGym para avaliar recompensas intermédias, o que proporciona uma melhoria de até três ordens de magnitude na velocidade de aprendizagem de políticas, tornando o EUREKA um algoritmo amplo que escala naturalmente à medida que a quantidade de computação aumenta.

Isso é mostrado na Figura 2. Os pesquisadores estão comprometidos em abrir o sourcing de todas as dicas, ambientes e funções de recompensa geradas para facilitar pesquisas adicionais sobre o design de recompensa baseado em LLM.

Introdução ao método

EUREKA pode escrever o algoritmo de recompensa autonomamente, como ele é implementado, vamos olhar para ele a seguir.

EUREKA consiste em três componentes algorítmicos: 1) usando o ambiente como contexto, suportando assim a geração zero-shot de recompensas executáveis; 2) busca evolutiva, propondo iterativamente e refinando candidatos de recompensa; 3) Recompense a reflexão e apoie a melhoria refinada da recompensa.

Ambiente como contexto

Este artigo recomenda fornecer o código do ambiente original diretamente como contexto. Com apenas instruções mínimas, o EUREKA pode gerar recompensas em diferentes ambientes com zero amostras. Um exemplo de saída EUREKA é mostrado na Figura 3. O EUREKA combina habilmente variáveis de observação existentes (por exemplo, posição da ponta dos dedos) no código de ambiente fornecido e produz um código de recompensa válido – tudo sem qualquer engenharia de prompt ou modelos de recompensa específicos do ambiente.

No entanto, na primeira tentativa, a recompensa resultante pode nem sempre ser executável e, mesmo que seja, pode ser subótima. Isso levanta a questão de como superar efetivamente a subotimização da geração de recompensas de amostra única?

Pesquisa Evolutiva

Em seguida, o artigo descreve como a busca evolutiva resolve os problemas de soluções subótimas mencionados acima. Eles são aperfeiçoados de tal forma que, em cada iteração, o EUREKA coleta amostras de várias saídas independentes de LLM (linha 5 no algoritmo 1). Como cada iteração é independente e homogênea, a probabilidade de erros em todas as funções de recompensa na iteração diminui exponencialmente à medida que o tamanho da amostra aumenta.

Reflexão de recompensa

Para fornecer uma análise de recompensa mais complexa e direcionada, este artigo propõe construir feedback automatizado para resumir a dinâmica de treinamento de políticas no texto. Especificamente, considerando que a função de recompensa EUREKA requer componentes individuais no programa de recompensa (como o componente de recompensa na Figura 3), este artigo rastreia os valores escalares de todos os componentes de recompensa em pontos de verificação de política intermediários ao longo do processo de treinamento.

Construir este processo de reflexão de recompensa é simples, mas é importante devido à dependência do algoritmo de otimização de recompensa. Ou seja, se a função de recompensa é válida ou não é afetada pela escolha específica do algoritmo RL, e a mesma recompensa pode se comportar de forma muito diferente, mesmo sob o mesmo otimizador para uma determinada diferença de hiperparâmetro. Ao detalhar como o algoritmo RL otimiza os componentes de recompensa individuais, a reflexão de recompensa permite que o EUREKA produza edições de recompensa mais direcionadas e sintetize funções de recompensa para trabalhar melhor com o algoritmo RL fixo.

Experiência

A parte experimental fornece uma avaliação abrangente do Eureka, incluindo a capacidade de gerar funções de recompensa, a capacidade de resolver novas tarefas e a capacidade de integrar vários inputs humanos.

O ambiente experimental inclui 10 robôs diferentes e 29 tarefas, 29 das quais são implementadas pelo simulador IsaacGym. O experimento usa 9 ambientes primitivos de IsaacGym (Isaac), cobrindo uma variedade de formas de robôs, desde quadrúpedes, bípedes, quadricópteros, manipuladores até mão robótica habilidosa. Além disso, este artigo garante a profundidade da avaliação ao incorporar 20 tarefas do benchmark Dexterity.

Eureka pode produzir uma função de recompensa de nível sobre-humano. Das 29 tarefas, a função de recompensa dada pelo Eureka teve um desempenho melhor do que as recompensas escritas por especialistas em 83% das tarefas, melhorando em média 52%. Em particular, o Eureka obteve maiores benefícios num ambiente de referência de Destreza de alta dimensão.

O Eureka é capaz de evoluir a pesquisa de recompensas para que as recompensas melhorem ao longo do tempo. O Eureka produz progressivamente melhores recompensas, combinando pesquisas de recompensas em grande escala e feedback detalhado de reflexão de recompensas, eventualmente superando os níveis humanos.

O Eureka também pode gerar novas recompensas. Este artigo avalia a novidade das recompensas Eureka calculando a correlação entre as recompensas Eureka e as recompensas humanas em todas as tarefas Isaac. Como mostra a figura, o Eureka gera principalmente funções de recompensa fracamente correlacionadas, que superam as funções de recompensa humanas. Além disso, o documento também observa que, quanto mais difícil for a tarefa, menos relevante é a recompensa Eureka. Em alguns casos, as recompensas Eureka estão até negativamente correlacionadas com as recompensas humanas, mas têm um desempenho significativamente melhor do que as recompensas humanas.

想要实现机器人的灵巧手能够不停的转笔,需要操作程序有尽可能多的循环。本文通过以下方式解决此任务:(1) Instrua o Eureka a gerar uma função de recompensa que redirecione as canetas para uma configuração de alvo aleatório e, em seguida, (2) ajuste essa estratégia pré-treinada com o Eureka Rewards para alcançar a configuração de rotação de sequência de caneta desejada. Como mostrado, o Eureka ajustou-se rapidamente à estratégia, girando com sucesso muitos ciclos seguidos. Em contraste, nem estratégias pré-treinadas nem aprendidas do zero podem completar um giro em um único ciclo.

Este artigo também examina se começar com a inicialização da função de recompensa humana é benéfico para Eureka. Como demonstrado, o Eureka melhora e beneficia das recompensas humanas, independentemente da qualidade das recompensas humanas.

A Eureka também implementou o RLHF, que pode modificar recompensas com base no feedback humano para orientar os agentes passo a passo através de comportamentos mais seguros e humanos. O exemplo mostra como o Eureka ensina um robô humanoide a correr na vertical com algum feedback humano que substitui o reflexo automático de recompensa anterior.

Robô humanoide aprende a marcha com Eureka

Para mais informações, consulte o artigo original.

Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)