Guiando Computadores com Linguagem em Tarefas Complexas
Esse artigo fala sobre como usar linguagem natural pra ajudar o aprendizado de computador em tarefas complexas.
― 7 min ler
Índice
- O Desafio do Aprendizado no Mundo Real
- Aprendizado por Reforço Hierárquico
- Usando Língua Natural para Sub-objetivos
- Descrição do Ambiente e Tarefas
- Processo de Coleta de Dados
- Treinamento e Estrutura do Agente
- Combinando os Dois Agentes
- Comparando Agentes Hierárquicos e Planos
- Importância de Ambos os Tipos de Treinamento
- Análise do Comportamento do Agente
- Direções Futuras
- Conclusão
- Fonte original
Nos últimos anos, ensinar computadores a aprender tarefas parecidas com as dos humanos tem ganhado bastante atenção. Uma abordagem pra isso é chamada de Aprendizado por Reforço Hierárquico. Esse método ajuda os computadores a se comportarem de maneira direcionada a objetivos, especialmente ao longo de uma sequência longa de ações. Porém, usar isso em situações do mundo real ainda é complicado. Uma parte grande do desafio é descobrir os sub-objetivos certos pra criar uma hierarquia. Neste artigo, discutimos uma nova abordagem que pega Dados de humanos fazendo tarefas pra ajudar a guiar o processo de aprendizagem do computador.
O Desafio do Aprendizado no Mundo Real
Embora o aprendizado por reforço tenha avançado muito, usar isso em configurações práticas ainda é complicado. Quando as tarefas pedem ações por um longo período, o aprendizado por reforço tradicional enfrenta dificuldades, principalmente por como explora as possíveis ações e acompanha o que funciona. Isso é especialmente verdade em tarefas que envolvem movimento físico e exigem muitos passos pra completar. Por exemplo, jogar um jogo simples pode exigir apenas uma ação pra mudar tudo, mas tarefas do mundo real costumam precisar de uma série de movimentos pra alcançar um objetivo. Por causa dessa limitação, o aprendizado por reforço não foi amplamente aplicado em cenários do mundo real.
Aprendizado por Reforço Hierárquico
Uma maneira de estender o aprendizado por reforço pra tarefas longas é usar hierarquias. Isso significa dividir as tarefas em metas menores que levam ao objetivo principal. O principal problema aqui é encontrar um bom conjunto de sub-objetivos que possam simplificar a tarefa, mas ainda sejam claros o suficiente pra levar a ações bem-sucedidas. Isso significa identificar os tipos certos de metas menores que fazem sentido pras tarefas específicas.
Usando Língua Natural para Sub-objetivos
Nessa abordagem, olhamos como a língua natural pode ajudar a definir esses sub-objetivos. A linguagem muitas vezes pode ser menos detalhada que outras formas de comunicação, perdendo algumas informações visuais e concretas. Porém, ainda é capaz de expressar muitas ideias e metas importantes pra humanos. Isso faz dela uma boa opção pra esboçar sub-objetivos que podem reduzir a complexidade da tarefa, mantendo relevância e clareza.
Outra vantagem de usar linguagem é que dá pra obter isso de pessoas comuns, sem precisar de habilidades especiais. Nesse método, temos dois tipos de participantes: um "Organizador" que divide a tarefa em metas menores e um "Executor" que realiza essas metas. Esse método nos permite coletar dados que ajudam a treinar um agente de computador pra lidar com tarefas complexas em um ambiente 3D.
Descrição do Ambiente e Tarefas
Utilizamos um ambiente 3D criado com Unity pra demonstrar nosso método usando quatro tarefas diferentes. O objetivo principal nessas tarefas é encontrar e consumir um item, especificamente uma maçã. Porém, pra pegar a maçã, o agente primeiro precisa desbloquear um portão usando a chave correta. O principal desafio surge da necessidade de completar várias etapas, incluindo descobrir qual chave usar e onde colocá-la.
Pra nossa análise, categorizamos as tarefas em duas mais fáceis e duas mais difíceis. As tarefas mais difíceis incluem distrações que dificultam a busca pela chave correta, exigindo mais exploração e coletando informações.
Processo de Coleta de Dados
Pra coletar dados, montamos um sistema onde dois jogadores interagem. O "Organizador" dá instruções pro "Executor" através de uma interface de chat. O Organizador pode ver o que o Executor está fazendo, mas não pode interagir diretamente com o ambiente. Assim, coletamos dados de várias tarefas direcionadas a objetivos, incluindo aquelas que estamos investigando.
Treinamento e Estrutura do Agente
Nosso agente hierárquico é formado por duas partes principais: um agente de baixo nível que fornece comandos motores e um agente de alto nível que define os sub-objetivos. Ambos os Agentes usam a mesma estrutura.
Agente de Baixo Nível
O agente de baixo nível é treinado pra seguir instruções simples em linguagem usando dados de humanos habilidosos que já completaram tarefas similares. Os dados incluem imagens do ambiente, ações realizadas e as instruções em linguagem dadas. Nós treinamos esse agente pra responder a esses comandos.
Agente de Alto Nível
O agente de alto nível gera comandos em linguagem que guiam o agente de baixo nível. Ele é treinado usando uma combinação de treinamento supervisionado e aprendizado por reforço. O agente de alto nível aprende a produzir comandos com base em instruções geradas por humanos anteriores, enquanto otimiza seu comportamento com base nos resultados das tarefas.
Combinando os Dois Agentes
Criando uma relação entre os agentes de alto e baixo nível, conseguimos enfrentar tarefas mais complexas do que se estivéssemos usando apenas um método. O agente de alto nível produz comandos que ajudam a direcionar o agente de baixo nível de maneira estruturada.
Comparando Agentes Hierárquicos e Planos
Nos nossos experimentos, comparamos o agente hierárquico com um agente plano que não usa uma hierarquia. O agente plano tenta completar as tarefas diretamente, sem dividir em partes menores. Nossas descobertas mostram que o agente hierárquico se sai melhor. Ele consegue completar tanto as tarefas mais fáceis quanto as mais difíceis de forma mais eficaz, e aprende as tarefas mais fáceis mais rápido.
Importância de Ambos os Tipos de Treinamento
Nós também examinamos se ambos os tipos de treinamento - supervisionado e aprendizado por reforço - são necessários pra ter sucesso. Nossos resultados indicam que usar apenas um tipo de treinamento não permite que o agente aprenda de forma eficaz. O melhor desempenho ocorre quando as duas formas de treinamento são combinadas, permitindo que o agente lide com várias tarefas com sucesso.
Análise do Comportamento do Agente
Analisamos de perto as instruções produzidas pelo agente hierárquico. Notamos que as tarefas mais difíceis exigiam comandos mais complexos pra serem completadas com sucesso. A variedade de instruções necessárias era maior pra essas tarefas mais difíceis, indicando que o agente precisava se adaptar a vários desafios.
Direções Futuras
Esse trabalho contribui pro crescente campo de uso de linguagem no aprendizado de robôs. Embora tenhamos focado em um ambiente de tarefas corporais, há muitas maneiras de expandir essa pesquisa. Trabalhos futuros podem envolver o uso de modelos de linguagem pré-treinados pra melhorar ainda mais a compreensão das instruções e melhorar o desempenho.
Conclusão
Aprendizado por reforço hierárquico com sub-objetivos em Linguagem Natural representa uma direção promissora pra melhorar como os computadores aprendem em ambientes complexos. Ao dividir as tarefas em partes menores e gerenciáveis e usar dados gerados por humanos, conseguimos ensinar agentes a resolver problemas em configurações mais realistas. Essa abordagem não só melhora o processo de aprendizado, mas também oferece insights sobre o comportamento humano em robôs e outras formas de inteligência artificial. À medida que continuamos a aprimorar nossos métodos e explorar novas aplicações, as possibilidades de implementação prática são vastas.
Título: Hierarchical reinforcement learning with natural language subgoals
Resumo: Hierarchical reinforcement learning has been a compelling approach for achieving goal directed behavior over long sequences of actions. However, it has been challenging to implement in realistic or open-ended environments. A main challenge has been to find the right space of sub-goals over which to instantiate a hierarchy. We present a novel approach where we use data from humans solving these tasks to softly supervise the goal space for a set of long range tasks in a 3D embodied environment. In particular, we use unconstrained natural language to parameterize this space. This has two advantages: first, it is easy to generate this data from naive human participants; second, it is flexible enough to represent a vast range of sub-goals in human-relevant tasks. Our approach outperforms agents that clone expert behavior on these tasks, as well as HRL from scratch without this supervised sub-goal space. Our work presents a novel approach to combining human expert supervision with the benefits and flexibility of reinforcement learning.
Autores: Arun Ahuja, Kavya Kopparapu, Rob Fergus, Ishita Dasgupta
Última atualização: 2023-09-20 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2309.11564
Fonte PDF: https://arxiv.org/pdf/2309.11564
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.