Machine Learning, Deep Learning

BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension

n.han 2022. 3. 8. 22:06

Lewis, Mike, et al. "Bart: Denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension." arXiv preprint arXiv:1910.13461 (2019).

BART는 Sequence-to-sequence 모델의 사전 학습을 위한 denoising autoencoder 입니다. 표준적인 Transformer 기반의 아키텍쳐로, 1) BERT나 GPT와 같은 다른 사전 학습 스킴의 일반화로 볼 수 있는 것과 2) 다양한 노이징 방법으로 텍스트를 변경했다는 점들이 큰 특징입니다. BART는 텍스트를 임의로 변경하고 이를 원복하는 방식으로 모델을 학습시킵니다. 이때 텍스트를 임의로 변경하는 다양한 noising 방법들을 평가하였고, 원 문장의 순서를 임의로 셔플링하고 고유의 in-filling 스킴을 사용하였을 때 가장 좋은 성능을 보였습니다. BART는 텍스트 생성을 위해 fine tune할 때 특히 효과적이고, Abstractive dialogue, QA 그리고 요약 태스크에서 SOTA를 달성하였습니다.

본 게시글에서는 위 특징들 중 1)에 관한 내용만 정리하였습니다.

Self-supervised 방법은 NLP 태스크에 놀랄만한 성과를 얻었습니다. Masked language model은 임의로 masking 된 단어들을 원복 하도록 학습하는 가장 성공적인 Self-supervised method입니다. Masking하는 방법을 개선하는 여러 시도가 있었지만, 한정적인 end-task에 맞춰져 있는 한계점들이 있었습니다. 본 논문에서 제안하는 BART는 Transformer 기반의 아키텍처로, BERT와 GPT를 일반화한 것으로 이해할 수 있습니다. BERT는 입력 텍스트 중 임의로 선택된 토큰을 Masking하고 이를 예측하는 형태로 이뤄집니다. 사람이 문장을 말할 때 이전까지 말했던 단어들에 영향을 받습니다. 따라서 빠진 단어를 맞추는 형태로 학습하는 BERT는 Text generation task에 활용하기가 쉽지 않습니다. GPT는 이전까지 생성했던 단어들을 다시 모델의 입력으로 넣으며 (Auto-regressively 하게) 학습되지만, 양방향의 영향(bidirectional interaction)을 학습하기 어렵습니다.
이를 개선하기 위해, BART는 Bidirectional encoder와 Autoregressive decoder를 한 번에 학습하여, BERT와 GPT의 장점들을 취합니다. BART는 Text generation task를 위해 fine-tuning할 때 특히 효과적이었지만 다른 보편적인 task들에도 잘 동작합니다. GLUE와 SQuAD에서 RoBERTa와 유사한 성능을 보였고 abstractive dialogue, question answering 그리고 summarization task에서 SOTA를 달성하였습니다.

 

한 줄 요약: BART는 Bidirectional encoder와 Autoregressive decoder를 한 번에 학습하여, BERT와 GPT의 장점들을 취하고, Text generation task를 위해 fine-tuning할 때 특히 효과적입니다.