Simple Science

Ciência de ponta explicada de forma simples

# Informática# Aprendizagem de máquinas# Computação e linguagem

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


Aprendizado HierárquicoAprendizado HierárquicoGuiado por Linguagemcomputador.eficiência no aprendizado de tarefas deUsando a linguagem pra aumentar a
Índice

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.

Fonte original

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.

Mais de autores

Artigos semelhantes