Uma breve introdução ao modelo BART

Índice

1. Resumo

2. Expansão em profundidade

2.1 Tarefa pré-treinamento

2.2 Ajuste fino do modelo


1. Resumo

O modelo BART (Transformadores Bidirecionais e Auto-Regressivos) usa uma estrutura sequência a sequência baseada em transformador padrão. A principal diferença é que o ReLU na estrutura original é substituído pela função de ativação GeLU (Gaussian Error Linerar Units) e os parâmetros são inicializados de acordo com a distribuição normal. O BART combina um codificador Transformer bidirecional e um decodificador Transformer autorregressivo unidirecional.É um típico codificador automático de remoção de ruído (Denoising autoencoder) pré-treinando a reconstrução de redução de ruído do texto de entrada contendo ruído . A estrutura básica do modelo BART é mostrada na figura abaixo.
O processo de pré-treinamento do BART pode ser resumido nas duas etapas a seguir. Primeiro, o ruído é introduzido no texto de entrada e o texto embaralhado é codificado usando um codificador bidirecional; então, o texto original é reconstruído usando um decodificador autorregressivo unidirecional. Deve-se notar que a representação da última camada oculta do codificador será usada como uma "memória" para participar do cálculo de cada camada do decodificador. O modelo BART leva em consideração várias formas diferentes de introdução de ruído, incluindo máscaras de palavras usadas pelo modelo BERT. Deve-se notar que o modelo BERT prediz independentemente as palavras da posição da máscara, enquanto o modelo BART é gerado sequencialmente por meios autorregressivos .   Além disso, o modelo BART também é aplicável a qualquer outra forma de ruído de texto.

2. Expansão em profundidade

2.1 Tarefa pré-treinamento

O modelo BART considera os seguintes cinco métodos de introdução de ruído:
(1) Máscara de palavras . Semelhante ao modelo BERT, amostra aleatoriamente uma parte das palavras no texto de entrada e as substitui por tags de máscara (como [MASK]);
(2) Exclusão de palavras . Faça uma amostra aleatória de algumas palavras e exclua-as. Para lidar com esse tipo de ruído, o modelo precisa não apenas prever as palavras que faltam, mas também determinar a localização das palavras que faltam;
(3) Transformação do arranjo de sentenças . Divida o texto de entrada em várias sentenças com base em pontos e embaralhe aleatoriamente a ordem das sentenças. Para restaurar a ordem das sentenças, o modelo precisa ter um certo entendimento da semântica de todo o texto de entrada;
(4) Transformação de rotação de documentos . Seleciona aleatoriamente uma palavra no texto de entrada e gira o documento para começar com essa palavra. Para reconstruir o texto original, o modelo precisa encontrar o início do texto original a partir do texto perturbado;
(5) Preenchimento de texto . Amostra aleatoriamente vários fragmentos de texto e o comprimento dos fragmentos é amostrado de acordo com a distribuição de Poisson (λ=3). Substitua cada fragmento de texto por um único token de máscara. Quando o comprimento do segmento é 0, significa inserir um marcador de máscara. Para remover esse ruído, é necessário que o modelo tenha a capacidade de prever o comprimento dos segmentos de texto ausentes.
A figura abaixo resume os cinco tipos de ruído:

Pode-se ver que as tarefas de pré-treinamento incluem não apenas tarefas em nível de palavra, mas também tarefas de redução de ruído em nível de frase e em nível de documento. Essas tarefas são executadas de forma diferente para diferentes tarefas downstream. Experimentos mostram que modelos pré-treinados baseados em tarefas de preenchimento de texto geralmente têm melhor desempenho em tarefas downstream, e adicionar permutação de frases e tarefas de redução de ruído com base nisso pode trazer uma pequena melhoria adicional. Em seguida, demonstre a capacidade de preenchimento de texto do modelo BART com código específico. Aqui usamos o modelo BART pré-treinado (bart-base) lançado pelo Facebook e a interface de chamada BartForConditionalGeneration fornecida pela biblioteca Transformers. O código específico é o seguinte:
from transformers import BartTokenizer, BartForConditionalGeneration
model = BartForConditionalGeneration.from_pretrained('facebook/bart-base')
tokenizer = BartTokenizer.from_pretrained("facebook/bart-base")
input = "UN Chief Says There Is <mask> in Syria"
batch = tokenizer(input, return_tensors = 'pt')
output_ids = model.generate(input_ids=batch['input_ids'], attention_mask = batch['attention_mask'])
output = tokenizer.batch_decode(output_ids, skip_special_tokens = True)
print(output)

# 输出:['UN Chief Says There Is No War in Syria']
Neste exemplo, a marca de máscara (<mask>) no texto de entrada é preenchida com "No War", que é razoável na estrutura e na semântica da frase.

2.2 Ajuste fino do modelo

O modelo BART pré-treinado possui recursos de representação e geração de texto, portanto, é adequado para diferentes tipos de tarefas de downstream, como compreensão de linguagem e geração de texto. Para diferentes tarefas, o modelo BART é ajustado de diferentes maneiras.
(1) Classificação e rotulagem de sequências . Para tarefas de classificação de sequência (como classificação de sentimento de texto), o codificador e o decodificador do modelo BART usam a mesma entrada e o estado da camada oculta no momento final do decodificador é representado como uma representação vetorial do texto de entrada e entrada para o classificador linear multicategoria. Em seguida, use os dados rotulados da tarefa para ajustar os parâmetros do modelo. Semelhante à tag [CLS] do modelo BERT, o modelo BART adiciona uma tag especial no último momento do decodificador e usa o estado da camada oculta da tag como representação de texto, para que o estado completo do decodificador possa ser utilizado .
Da mesma forma, para a tarefa de rotulagem de sequência, o codificador e o decodificador usam a mesma entrada. Neste momento, o estado da camada oculta do decodificador em cada momento será usado como uma representação vetorial da palavra naquele momento para previsão de categoria.
(2) Geração de texto . O modelo BART pode ser usado diretamente para tarefas de geração de texto condicional, como respostas a perguntas abstratas e resumos abstratos. Nessas tarefas, a entrada do codificador é o texto de entrada como condição e o decodificador gera o texto de destino correspondente de maneira autorregressiva.
(3) Tradução automática . Quando usado para tarefas de tradução automática, o modelo BART não pode ser ajustado diretamente devido aos diferentes conjuntos de vocabulário usados ​​nos idiomas de origem e destino. Portanto, os pesquisadores propõem substituir a camada de representação de entrada (camada de incorporação) do codificador do modelo BART por um pequeno codificador Transformer, que é usado para mapear o vocabulário no idioma de origem para o espaço de representação de entrada do idioma de destino, de modo a adaptar a previsão do modelo BART Ambiente de treinamento (ver Figura 8-25). Como os parâmetros do codificador de idioma de origem recém-introduzido são inicializados aleatoriamente e a maioria dos outros parâmetros do modelo BART foram pré-treinados, usar o mesmo otimizador para treinar ambos ao mesmo tempo causará "etapas inconsistentes" e pode não ser capaz de obter eficácia. Portanto, os pesquisadores dividiram o processo de treinamento em duas etapas. Primeiro, a maioria dos parâmetros do modelo BART são fixos e apenas o codificador de idioma de origem, o vetor de posição do modelo BART e a matriz de projeção de entrada de auto-atenção da primeira camada do codificador pré-treinado BART são treinados; então, um pequeno número de treinamento iterativo é realizado em todos os parâmetros.

Vale a pena notar que, embora o modelo BART seja projetado para gerar tarefas, ele também funciona muito bem em tarefas discriminativas, mesmo no mesmo nível do RoBERTa. Para obter mais detalhes sobre o modelo BART e seu desempenho em tarefas relacionadas, os leitores interessados ​​devem consultar a literatura por si mesmos, e este artigo não se expandirá.

 

Acho que você gosta

Origin blog.csdn.net/weixin_45684362/article/details/130161755
Recomendado
Clasificación