Transferência de Aprendizagem Multisequencial

A abordagem de transferência de aprendizado ganhou força no campo de visão computacional e mais recentemente no campo de processamento de linguagem natural, consiste em usar dados de um domínio mais geral (com baixo custo), e.g., imagens do imagenet, e depois apenas especializar esse modelo de uso geral para um domínio específico, e.g., classificar espécies de plantas. Assim, o modelo de aprendizado profundo pode aprender bons filtros no dataset de domínio geral e realizar apenas pequenas modificações nesses filtros para o domínio específico, necessitando de uma quantidade muito menor de dados nesse domínio especializado.

O conceito de aprendizado de currículo, do inglês Curriculum Learning, consiste em organizar os diferentes tipos de dados em maior ou menor grau de complexidade, de tal forma que além da redução sequencial na quantidade de dados por tarefa, o modelo consiga aprender com melhor convergência as tarefas de maior complexidade.

Em um primeiro momento observamos que há uma diferença significativa no teor e na forma entre textos do contexto estudado, mensagens de chat, em relação aos dados com os quais modelos de linguagem são pré-treinados. Em mensagens de chat há uma forte presença de abreviações e marcas de oralidade, enquanto no segundo caso, os conjuntos de dados geralmente são extraídos de fontes formais, como enciclopédias, sites de notícias, entre outros, onde não observamos o mesmo comportamento para o texto, esse fenômeno é chamado de mudança de conceito, em que a distribuição estatística do modelo difere da distribuição dos dados no qual esse modelo é aplicado.

Com isso em mente, formulamos o seguinte currículo de aprendizado para o modelo de linguagem, inicialmente treinamos em um dataset formal no português onde há uma vasta quantidade de dados, em seguida treinamos apenas o embedding desse modelo para aprender a representar palavras abreviadas e orais, em seguida modelamos os diálogos em perguntas e respostas para induzir o modelo a uma compreensão de linguagem mais profunda, após essa etapa, treinamos o modelo para aprender diálogos orientados a tarefas de domínio geral, por fim, especializamos esse modelo ao domínio específico obtido pela anotação de dados.

Dado que nosso problema foi formulado por um modelo autoregressivo, já que queremos uma conversação fim-a-fim, o estado-da-arte para essa abordagem é o uso do UBAR. Nesse framework, o modelo GPT-2 é treinado para predizer sequências de uso na conversa; belief states que guardam intenções e entidades do dialog, system act, que define a politica a ser adotada na conversa, e por fim, response, que sintetiza a resposta que irá transmitir as intenções do system act.

No modelo de decisões sequenciais para sistemas de diálogo orientado a tarefas, em que um fluxo de diálogo é definido a priori, há um limite na quantidade de estados que podem ser virtualmente definidos. Assim, é necessário especificar as N possíveis variações em um diálogo com tamanho máximo de H, sendo então necessário especificar milhares de diálogos possíveis em um determinado contexto (H elevado a N). Já no modelo de estado de crenças as intenções do usuário são propagadas e calculadas por um modelo de atenção, tornando possível gerenciar diversas combinações de estado-intenção o que garante melhor generalização e liberdade para o diálogo.

Inicialmente, observamos uma diferença significativa no teor e na forma entre textos de mensagens de chat e contexto estudado, em relação com os dados que modelos de linguagem são pré-treinados. Em mensagens de chat, há uma forte presença de abreviações, marcas de oralidade, interjeições e uma forte estrutura de conversação. Enquanto, no segundo caso, os conjuntos de dados geralmente são extraídos de fontes formais, como enciclopédias, sites de notícias, entre outros, onde não observamos o mesmo comportamento para o texto. Esse fenômeno é chamado de mudança de conceito, em que a distribuição estatística do modelo difere da distribuição dos dados no qual esse modelo será aplicado.

O Processo de Treinamento do Modelo de Linguagem

Formulamos o seguinte currículo de aprendizado para o modelo de linguagem:

  1. A primeira fase de treinamento consiste em modelar a língua portuguesa, treinamos o modelo um conjunto de dados em português, onde há uma vasta quantidade de dados, seguindo abordagens tradicionais em modelagem de linguagem;
  2. Na segunda etapa, treinamos então o modelo resultante em um conjunto de dados que apresenta a distribuição de conversação e reforçamos uma gramática de terminação para codificar a estrutura do diálogo, tokens que delimitam fala de usuário, crença da conversa, e resposta do sistema foram usados para demarcar as conversas de fórum de maneira análoga. Ilustramos na figura os tokens especiais como <su>, <st>,<sr>, etc;
  3. Nesta etapa, usamos o modelo obtido do processo anterior para que ele aprenda a desempenhar a tarefa de um chatbot no contexto mais geral, onde temos um conjunto de dados significativos;
  4. Por fim, realizamos o ajuste fino do modelo aos dados de menor volume, que é o domínio específico ao qual o chatbot será aplicado, este obtido pelo processo de anotação de dados, como exemplificado na figura acima.

O processo de treinamento, acima descrito, é feito usando modelagem de linguagem causal, onde cada token é usado para prever o próximo token com "teacher enforcing".