Connect with us

Inteligência artificial

Geração de Paráfrases Usando Aprendizado de Reforço Profundo – Líderes de Pensamento

mm

Quando escrevemos ou falamos, todos já nos perguntamos se há uma maneira melhor de comunicar uma ideia aos outros. Quais palavras devo usar? Como devo estruturar o pensamento? Como eles provavelmente responderão? Na Phrasee, passamos muito tempo pensando sobre a linguagem – o que funciona e o que não funciona.

Imagine que você está escrevendo a linha de assunto para uma campanha de e-mail que será enviada a 10 milhões de pessoas em sua lista, promovendo 20% de desconto em um novo laptop sofisticado.

Qual linha você escolheria:

  • Agora você pode tirar um desconto adicional de 20% em seu próximo pedido
  • Prepare-se – um desconto adicional de 20%

Embora transmitam a mesma informação, uma delas alcançou uma taxa de abertura quase 15% maior do que a outra (e eu apostaria que você não consegue superar nosso modelo em prever qual delas ?). Embora a linguagem possa ser frequentemente testada por meio de testes A/B ou bandidos de braços múltiplos, a geração automática de paráfrases permanece um problema de pesquisa realmente desafiador.

Dois sentenças são consideradas paráfrases uma da outra se compartilham o mesmo significado e podem ser usadas de forma intercambiável. Outra coisa importante que é frequentemente dada como certa é se uma sentença gerada por máquina é fluente.

Ao contrário do aprendizado supervisionado, os agentes de Aprendizado de Reforço (RL) aprendem interagindo com o ambiente e observando as recompensas que recebem como resultado. Essa diferença um pouco sutil tem implicações enormes para como os algoritmos funcionam e como os modelos são treinados. O Aprendizado de Reforço Profundo usa redes neurais como um aproximador de função para permitir que o agente aprenda a superar os humanos em ambientes complexos, como Go, Atari e StarCraft II.

Apesar desse sucesso, o aprendizado de reforço não foi amplamente aplicado a problemas do mundo real, incluindo o Processamento de Linguagem Natural (NLP).

Como parte da minha tese de MSc em Ciência de Dados, demonstramos como o Aprendizado de Reforço Profundo pode ser usado para superar os métodos de aprendizado supervisionado na geração automática de paráfrases de texto de entrada. O problema de gerar a melhor paráfrase pode ser visto como encontrar a série de palavras que maximiza a semelhança semântica entre as sentenças, mantendo a fluência na saída. Os agentes de RL são bem adaptados para encontrar o melhor conjunto de ações para alcançar a recompensa esperada máxima em ambientes de controle.

Em contraste com a maioria dos problemas de aprendizado de máquina, o maior problema na maioria das aplicações de Geração de Linguagem Natural (NLG) não está no modelo, mas sim na avaliação. Embora a avaliação humana seja considerada o padrão ouro na avaliação de NLG, ela sofre de desvantagens significativas, incluindo ser cara, demorada, desafiadora para ajustar e falta de reprodutibilidade em experimentos e conjuntos de dados (Han, 2016). Como resultado, os pesquisadores há muito tempo vêm procurando por métricas automáticas que sejam simples, generalizáveis e que refletam o julgamento humano (Papineni et al., 2002).

Os métodos de avaliação automáticos mais comuns na avaliação de legendas de imagens geradas por máquina são resumidos abaixo com seus prós e contras:

Pipeline de Geração de Paráfrases usando Aprendizado de Reforço

Desenvolvemos um sistema chamado ParaPhrasee que gera paráfrases de alta qualidade. O sistema consiste em várias etapas para aplicar o aprendizado de reforço de forma computacionalmente eficiente. Um resumo breve da pipeline de alto nível é mostrado abaixo com mais detalhes contidos na tese.

Conjunto de Dados

Existem vários conjuntos de dados de paráfrases disponíveis que são usados em pesquisas, incluindo: o corpus de paráfrases da Microsoft, a competição de Semelhança Semântica de Texto da ACL, Pares de Perguntas do Quora e Links Compartilhados no Twitter. Selecionamos MS-COCO devido ao seu tamanho, limpeza e uso como benchmark para dois notáveis trabalhos de geração de paráfrases. O MS-COCO contém 120k imagens de cenas comuns com 5 legendas de imagem por imagem fornecidas por 5 diferentes anotadores humanos.

Embora seja projetado principalmente para pesquisas de visão computacional, as legendas tendem a ter alta semelhança semântica e são paráfrases interessantes. Dado que as legendas de imagem são fornecidas por pessoas diferentes, elas tendem a ter variações sutis nos detalhes fornecidos na cena, portanto, as sentenças geradas tendem a hallucinar detalhes.

Modelo Supervisionado

Embora o aprendizado de reforço tenha melhorado consideravelmente em termos de eficiência de amostra, tempos de treinamento e melhores práticas gerais, treinar modelos de RL do zero ainda é comparativamente muito lento e instável (Arulkumaran et al., 2017). Portanto, em vez de treinar do zero, primeiro treinamos um modelo supervisionado e, em seguida, o ajustamos usando RL.

Usamos um modelo Encoder-Decoder e avaliamos o desempenho de vários modelos supervisionados de linha de base. Ao ajustar o modelo usando RL, ajustamos apenas a rede decodadora e tratamos a rede codificadora como estática. Como tal, consideramos dois principais frameworks:

  • Treinando o modelo supervisionado do zero usando um encoder-decoder padrão/vanilla com GRUs
  • Usando modelos de incorporação de sentenças pré-treinados para o codificador, incluindo: incorporação de palavras em pool (GloVe), InferSent e BERT

Os modelos supervisionados tendem a ter um desempenho razoável, com BERT e o encoder-decoder padrão alcançando o melhor desempenho.

Embora o desempenho tenda a ser razoável, existem três fontes comuns de erro: gagueira, geração de fragmentos de sentença e alucinações. Esses são os principais problemas que o uso de RL visa resolver.

Modelo de Aprendizado de Reforço

Implementar algoritmos de RL é muito desafiador, especialmente quando você não sabe se o problema pode ser resolvido. Pode haver problemas na implementação do ambiente, dos agentes, dos hiperparâmetros, da função de recompensa ou uma combinação de todos!

Esses problemas são exacerbados quando se faz RL profundo, pois você obtém a diversão da complexidade adicionada de depurar redes neurais.

Como em todo o debugging, é crucial começar simples. Implementamos variações de dois ambientes de RL de brinquedo bem compreendidos (CartPole e FrozenLake) para testar algoritmos de RL e encontrar uma estratégia repetível para transferir conhecimento do modelo supervisionado.

Descobrimos que usar um algoritmo Actor-Critic superou REINFORCE nesses ambientes. Em termos de transferir conhecimento para o modelo Actor-Critic, descobrimos que inicializar os pesos do ator com o modelo supervisionado treinado e pré-treinar o crítico alcançou o melhor desempenho. Encontramos difícil generalizar abordagens sofisticadas de destilação de política para novos ambientes, pois elas introduzem muitos novos hiperparâmetros que exigem ajuste para funcionar.

Apoiados por essas percepções, então nos voltamos para desenvolver uma abordagem para a tarefa de geração de paráfrases. Primeiro, precisamos criar um ambiente.

O ambiente permite que testemos facilmente o impacto de usar diferentes métricas de avaliação como funções de recompensa.

Em seguida, definimos o agente, dado seus muitos vantagens, usamos uma arquitetura Actor-Critic. O ator é usado para selecionar a próxima palavra na sequência e tem seus pesos inicializados usando o modelo supervisionado. O crítico fornece uma estimativa da recompensa esperada que um estado provavelmente receberá para ajudar o ator a aprender.

Projetando a Função de Recompensa Certa

O componente mais importante de projetar um sistema de RL é a função de recompensa, pois é isso que o agente de RL está tentando otimizar. Se a função de recompensa estiver incorreta, então os resultados sofrerão, mesmo que todas as outras partes do sistema funcionem!

Um exemplo clássico disso é CoastRunners, onde os pesquisadores da OpenAI definiram a função de recompensa como maximizar a pontuação total, em vez de vencer a corrida. O resultado disso é que o agente descobriu um loop onde podia obter a pontuação mais alta atingindo turbos sem nunca completar a corrida.

https://www.youtube.com/watch?time_continue=2&v=tlOIHko8ySg&feature=emb_title

Dado que avaliar a qualidade das paráfrases é um problema não resolvido, projetar uma função de recompensa que capture automaticamente esse objetivo é ainda mais difícil. A maioria dos aspectos da linguagem não se decompoem bem em métricas lineares e são dependentes da tarefa (Novikova et al., 2017).

O agente de RL frequentemente descobre uma estratégia interessante para maximizar as recompensas, que explora as fraquezas na métrica de avaliação, em vez de gerar texto de alta qualidade. Isso tende a resultar em um desempenho ruim nas métricas que o agente não está otimizando diretamente.

Consideramos três principais abordagens:

  1. Métricas de Sobreposição de Palavras

As métricas de NLP de avaliação comuns consideram a proporção de sobreposição de palavras entre a paráfrase gerada e a sentença de avaliação. Quanto maior a sobreposição, maior a recompensa. O desafio com as abordagens de nível de palavra é que o agente inclui muitas palavras de conexão, como “a é em”, e não há medida de fluência. Isso resulta em paráfrases de muito baixa qualidade.

  1. Métricas de Semelhança e Fluência de Nível de Sentença

As principais propriedades de uma paráfrase gerada são que ela deve ser fluente e semanticamente semelhante à sentença de entrada. Portanto, tentamos pontuar explicitamente esses aspectos individualmente e, em seguida, combiná-los. Para semelhança semântica, usamos a semelhança de cosseno entre incorporações de sentenças de modelos pré-treinados, incluindo BERT. Para fluência, usamos uma pontuação baseada na perplexidade de uma sentença do GPT-2. Quanto maior a semelhança de cosseno e as pontuações de fluência, maior a recompensa.

Tentamos muitas combinações diferentes de modelos de incorporação de sentenças e modelos de fluência, e embora o desempenho fosse razoável, o principal problema que o agente enfrentou foi não equilibrar suficientemente a semelhança semântica com a fluência. Para a maioria das configurações, o agente priorizou a fluência, resultando na remoção de detalhes e na maioria das entidades sendo colocadas “no meio” de algo ou sendo movidas “para uma mesa” ou “para o lado da estrada”.

O aprendizado de reforço multi-objetivo é uma questão de pesquisa aberta e é muito desafiador neste caso.

  1. Usando um Modelo Adversarial como Função de Recompensa

Dado que os humanos são considerados o padrão ouro na avaliação, treinamos um modelo separado chamado discriminador para prever se duas sentenças são paráfrases uma da outra (de forma semelhante à como um humano avaliaria). O objetivo do modelo de RL é então convencer esse modelo de que a sentença gerada é uma paráfrase da sentença de entrada. O discriminador gera uma pontuação de quão provável é que as duas sentenças sejam paráfrases uma da outra, que é usada como recompensa para treinar o agente.

A cada 5.000 palpites, o discriminador é informado de qual paráfrase veio do conjunto de dados e qual foi gerada, para que ele possa melhorar seus palpites futuros. O processo continua por várias rodadas, com o agente tentando enganar o discriminador e o discriminador tentando diferenciar as paráfrases geradas das paráfrases de avaliação do conjunto de dados.

Após várias rodadas de treinamento, o agente gera paráfrases que superam os modelos supervisionados e outras funções de recompensa.

Conclusão e Limitações

As abordagens adversárias (incluindo o autojogo para jogos) fornecem uma abordagem extremamente promissora para treinar algoritmos de RL para superar o desempenho humano em certas tarefas sem definir uma função de recompensa explícita.

Embora o RL tenha sido capaz de superar o aprendizado supervisionado neste caso, a quantidade de sobrecarga extra em termos de código, computação e complexidade não vale a pena o ganho de desempenho para a maioria das aplicações. O RL é melhor deixado para situações em que o aprendizado supervisionado não pode ser facilmente aplicado e uma função de recompensa é fácil de definir (como jogos Atari). As abordagens e algoritmos são muito mais maduros no aprendizado supervisionado e o sinal de erro é muito mais forte, o que resulta em um treinamento muito mais rápido e estável.

Outra consideração é que, como em outras abordagens neurais, o agente pode falhar dramaticamente em casos em que a entrada é diferente das entradas que ele viu anteriormente, exigindo uma camada adicional de verificações de sanidade para aplicações de produção.

A explosão de interesse em abordagens de RL e avanços na infraestrutura computacional nos últimos anos desbloqueará oportunidades enormes para aplicar o RL na indústria, especialmente dentro do NLP.

Andrew Gibbs-Bravo é um Cientista de Dados na Phrasee focado em melhorar a tecnologia por trás da redação de cópias impulsionada por IA líder mundial da Phrasee. Ele também é co-organizador do Meetup da Comunidade de Aprendizado por Reforço de Londres e está interessado em todas as coisas RL, NLP e aprendizado de máquina.