1. 논문 제목 : BERT : Pre-training of Deep bidirectional Transformers for Language Understanding (BERT)
2. 발표한 학회 : NAACL 2019
3. 논문의 핵심 키워드 : Transformer, Encoder, Auto-encoding, pretraining, fine-tuning, semi-supervised
4. 논문요약 :
Transformer 모델의 Encoder 부분만을 취하여서, auto-encoding의 방법으로 pretraining을 진행한 모델.
unsupervised learning의 방법으로 pretraining을 진행하고, supervised learning의 방법으로 fine-tuning을 진행하여서 필요한 task에 adapt 시킬 수 있으며,
기존의 left-to-right으로 진행되는 language modeling이나 left-to-right과 right-to-left를 concatenate하는 방법 대신에 bidirectional language modeling을 제시한 논문.
5. 논문에서 소개하는 이전 SOTA / 기존 방법들의 한계:
1) 기존의 언어 모델들이 사용하였던 pretraining의 방법은 task-specific한 architecture에 pretrain된 representation을 추가하는 ELMo같은 방법이나, 최소한의 task-specific한 parameter들을 두고 pretrain한 모델을 추가로 downstream task에 finetuning하는 GPT 같은 방법이 존재하였다.
2) 두 방법 모두 pretraining 도중에는 unidirectional한 language modeling objective로 진행된다는 점에 있어서 representation을 학습하는데 한계가 생긴다.
3) language modeling의 방법 만으로 pretraining을 하게 된다면, question answering과 같이 token단위가 가지는 의미가 중요한 task에서 좋은 성능이 나오지 않을 수 있다.
6. 논문에서 문제점을 해결하기 위해서 사용한 방법론:
1) 기존의 language modeling 방법 대신에, 양쪽의 문맥을 모두 살펴서 [MASK]에 빈칸을 채워넣는 pretraining task인 Masked Language Modeling을 제안하였다.
2) 이는 단순히 왼쪽-오른쪽, 오른쪽-왼쪽의 representation들을 concatenate하는 ELMo representation과 달리 양쪽 문맥을 모두 살피어 생성되는 represetnation이라는 점에서
더욱 문맥을 잘 이해한 representation으로 해석할 수 있다.
3) 구체적으로, 토큰의 15%에 masking을 처리하고 이를 맞추는 방법이다. 단, 이는 fine-tuning 도중에는 [MASK] 토큰이 존재하지 않아서 mismatch를 야기할 수 있으므로,
위에서 언급한 15% 중에 80% 만을 실제로 [MASK]로 대치하고, 10%는 바꾸지 않는 방식, 10%는 다른 임의의 랜덤 토큰으로 바꾸는 방식을 사용하여 격차를 줄였다.
예측한 토큰과 비교하기 위해서는 cross entropy loss를 사용하게 된다.
4) 또한 Masked Language Modeling 뿐만 아니라, Next Sentence Prediction이라는 pretraining task를 동시에 진행하게 되는데,
이는 두 문장 A,B에 대해서 B가 A의 다음 문장인지 아닌지를 맞추는 task로써, 이를 통해서 두 문장 사이의 관계에 대해서 더욱 잘 이해할 수 있을 것을 기대하였다.
5) 최근의 언어모델들이 차용한 unlabeled data로 pretraining을 진행하고, downstream task의 labeled data로부터 모델의 파라미터들을 fine-tuning한다는 방법을 동일하게 사용한다.
6) "Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation(Wu et al., 2016)"에서 제시하였던 Word piece embedding을 사용하는데, tokenizing을 진행할 때 [CLS]와 [SEP] 토큰을 문장의 앞뒤에 추가하는 방법을 사용한다.
7) 또한, Segment Embedding과 Position Embedding을 추가적으로 더해주는 방식으로 Input Representation을 구성한다.
7. 사용한 데이터셋, 측정한 metric, 학습 진행을 위해서 사용한 hyperparameter, 기존모델대비 성능:
1) 데이터셋 : BooksCorpus dataset(Pretraining, 800M words), English Wikipedia(Pretraining, 2500M words), GLUE multi-task benchmark(Fine-tuning)
2) 수행한 task : question answering, commonsense inference, natural language inference, semantic textual similarity, classification
3) 학습을 위해서 사용한 hyperparameter :
vocabulary -> word piece vocab with size 30000
batch size -> 256(pretraining), 32(fine-tuning)
optimizer -> Adam
learning-rate -> 1e-4 with linear decay(pretraining), 5e-5(fine-tuning)
dropout -> rate=0.1
activation function -> GELU
4) 사용한 metric : accuracy(higher the better), F1(higher the better), mc(higher the better), spearman correlation(higher the better)
5) 기존 모델 대비 성능 향상:
MNLI(Natural Language Inference) : 4.5% improvement compared to GPT
QQP(Semantic Similarity) : 1.8% improvement compared to GPT
QNLI(Natural Language Inference) : 5.3% improvement compared to GPT
SST-2(Classification) : 3.6% improvment compared to GPT, 1.7% improvment compared to previous SOTA
COLA(Classification) : 15.1% improvment compared to GPT
STS-B(Semantic Textual Similarity) : 6.5% improvment compared to GPT, 5.5% improvment compared to previous SOTA
MRPC(Semantic Textual Similarity) : 7.0% improvment compared to GPT, 3.3% improvment compared to previous SOTA
RTE(Textual Entailment) : 14.1% improvment compared to GPT, 8.2% improvment compared to previous SOTA
Overall score on GLUE Benchmark : 82.1, when GPT is 75.1
8. 추후에 발전할 여지가 있는 점 :
1) Transformer에서 Encoder만을 취하는 architecture를 가지고 있기 때문에, downstream task에 활용하기 위해서는 task specific한 layer들을 어느정도는 추가해야할 필요성이 여전히 존재한다.
2) attention 연산은 sequence length에 quadratic하기 때문에, 긴 문장을 학습하기 위해서는 긴 시간이 필요하다.
3) Transformer에서 Decoder만을 취하는 GPT와 다르게, Encoder만을 취하는 첫 연구로, 이에 기반한 수많은 후속 연구가 나올 것으로 기대한다.
'Natural Language Processing' 카테고리의 다른 글
RoBERTa : A Robustly Optimized BERT Pretraining Approach (0) | 2021.07.18 |
---|---|
MASS : Masked Sequence to Sequence Pre-training for Language Generation (0) | 2021.07.13 |
Language Models are Unsupervised Multitask Learners (0) | 2021.07.08 |
Deep contextualized word representations (0) | 2021.07.05 |
Improving Language Understanding by Generative Pre-Training (0) | 2021.07.03 |