2018 - "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding"
https://arxiv.org/abs/1810.04805 - 논문 링크
논문 요약
Abstract
"BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" 논문의 Abstract 부분은 다음과 같이 요약할 수 있습니다:
- BERT 소개: BERT는 Bidirectional Encoder Representations from Transformers의 약자로, 완전히 양방향적인 표현을 사전 학습하는 새로운 언어 표현 모델입니다.
- 사전 학습 방법: BERT는 비지도 학습 텍스트로부터 양방향 표현을 사전 학습합니다. 이는 모든 레이어에서 좌우 문맥을 동시에 고려하여 조건화함으로써 이루어집니다.
- 모델의 강점: 사전 학습된 BERT 모델은 하나의 추가 출력 레이어만으로 다양한 작업(예: 질문 응답, 언어 추론)에서 최첨단 모델을 만들 수 있습니다. 이는 특별한 작업별 아키텍처 변경 없이 가능합니다.
- 성능: BERT는 여러 자연어 처리 작업에서 새로운 최고 성능을 달성했습니다. 여기에는 GLUE 벤치마크에서 80.5% 점수(7.7% 포인트 절대 개선), MultiNLI 정확도 86.7%(4.6% 절대 개선), SQuAD v1.1 질문 응답 테스트 F1 점수 93.2(1.5 포인트 절대 개선), SQuAD v2.0 테스트 F1 점수 83.1(5.1 포인트 절대 개선)이 포함됩니다.
1. Introduction
BERT(Bidirectional Encoder Representations from Transformers)의 "Introduction" 부분에서는 다음과 같은 주요 내용이 다루어집니다:
- 언어 모델 사전 학습의 중요성: 언어 모델 사전 학습은 자연어 처리(NLP) 작업의 성능을 크게 향상시킵니다. 이는 문장 수준 작업(예: 자연어 추론, 패러프레이징)과 토큰 수준 작업(예: 명명된 개체 인식, 질문 응답)에 모두 적용됩니다.
- 기존 접근 방식: 기존에는 사전 학습된 언어 표현을 다운스트림 작업에 적용하는 두 가지 주요 전략이 있었습니다:
- Feature-based 접근법: ELMo와 같이, 사전 학습된 표현을 추가 기능으로 포함하는 작업별 아키텍처를 사용합니다.
- Fine-tuning 접근법: OpenAI GPT와 같이, 최소한의 작업별 매개변수를 도입하고 다운스트림 작업에 대해 모든 사전 학습된 매개변수를 미세 조정합니다.
- 제한 사항: 기존 기술들은 주로 단방향 언어 모델에 의존하여 사전 학습을 수행했으며, 이는 사전 학습 중 사용할 수 있는 아키텍처의 선택을 제한합니다. 특히, 토큰 수준 작업에서 단방향 모델은 중요한 문맥 정보를 충분히 반영하지 못합니다.
- BERT의 제안: BERT는 이러한 단방향성의 제약을 극복하기 위해 "마스크드 언어 모델" (MLM) 사전 학습 목표를 사용합니다. 이는 입력 토큰의 일부를 무작위로 마스킹하고, 해당 마스크된 토큰을 문맥을 기반으로 예측하도록 합니다. 또한, BERT는 "다음 문장 예측" (NSP) 작업을 도입하여 텍스트 쌍의 표현을 공동으로 사전 학습합니다.
- 기여점:
- BERT는 양방향 사전 학습의 중요성을 강조하며, 이는 이전의 단방향 모델들과의 차별점을 제공합니다.
- BERT는 많은 작업별 아키텍처의 필요성을 줄여주며, 다양한 문장 및 토큰 수준 작업에서 최첨단 성능을 달성합니다.
- BERT는 11개의 NLP 작업에서 새로운 최고 성능을 기록했습니다.
"Related Work" 부분에서는 BERT와 관련된 기존 연구들을 개괄적으로 다룹니다. 주요 내용은 다음과 같습니다:
2.1 Unsupervised Feature-based Approaches
- 단어 임베딩: 단어 임베딩을 비지도 학습하는 것은 오랜 연구 주제였습니다. 대표적인 방법으로는 Brown et al. (1992), Ando and Zhang (2005), Mikolov et al. (2013) 등이 있습니다.
- 문장 및 문단 임베딩: 문장 및 문단 수준에서도 임베딩을 학습하는 연구가 진행되었습니다. 예를 들어, Kiros et al. (2015)의 Skip-thought vectors와 Logeswaran and Lee (2018)의 문장 표현 학습 방법이 있습니다.
- ELMo: Peters et al. (2018a)의 ELMo는 전통적인 단어 임베딩 연구를 일반화하여 문맥에 따라 변하는 단어 표현을 학습합니다. ELMo는 질문 응답, 감정 분석, 명명된 개체 인식 등의 작업에서 최첨단 성능을 달성했습니다.
2.2 Unsupervised Fine-tuning Approaches
- 문장 및 문서 인코더: 문맥적 토큰 표현을 생성하는 문장 또는 문서 인코더를 비지도 학습한 후, 지도 학습 작업에 미세 조정하는 방법이 있습니다. 예를 들어, Dai and Le (2015), Howard and Ruder (2018), Radford et al. (2018)이 있습니다.
- OpenAI GPT: OpenAI GPT는 대규모 텍스트 코퍼스를 사용하여 왼쪽에서 오른쪽으로 텍스트를 예측하는 Transformer 언어 모델을 학습했습니다. GPT는 GLUE 벤치마크에서 최고 성능을 달성했습니다.
2.3 Transfer Learning from Supervised Data
- 지도 학습 데이터로부터의 전이 학습: Conneau et al. (2017)와 McCann et al. (2017)은 자연어 추론 및 기계 번역과 같은 대규모 지도 학습 작업으로부터 효과적인 전이 학습을 보여주었습니다. 컴퓨터 비전 연구에서도 ImageNet으로 사전 학습된 모델을 미세 조정하는 것이 중요하다는 것을 입증했습니다.
3. Bert
논문의 "BERT" 부분에서는 BERT 모델의 구현 및 두 단계의 학습 과정(사전 학습과 미세 조정)에 대해 설명합니다. 주요 내용은 다음과 같습니다:
모델 구조
- BERT의 아키텍처: BERT는 다층 양방향 Transformer 인코더로 구성되어 있으며, Vaswani et al. (2017)의 구현을 기반으로 합니다. BERTBASE (L=12, H=768, A=12, 총 매개변수=110M)와 BERTLARGE (L=24, H=1024, A=16, 총 매개변수=340M) 두 가지 모델 크기를 사용합니다. BERTBASE는 OpenAI GPT와 비교할 수 있도록 동일한 모델 크기로 설정되었습니다. 그러나 BERT는 양방향 자기 어텐션을 사용하며, GPT는 왼쪽에서 오른쪽으로의 제한된 자기 어텐션을 사용합니다.
입력/출력 표현
- 입력 표현: BERT는 다양한 다운스트림 작업을 처리할 수 있도록 단일 문장과 문장 쌍을 모두 표현할 수 있는 입력 표현을 사용합니다. 문장은 WordPiece 임베딩을 사용하여 30,000개의 토큰 어휘로 인코딩됩니다. 각 시퀀스의 첫 번째 토큰은 항상 [CLS]로 시작하며, 문장 쌍은 [SEP] 토큰으로 구분됩니다. 문장 구분을 위해 각 토큰에 문장 A 또는 B에 속하는지를 나타내는 임베딩이 추가됩니다.
- 출력 표현: [CLS] 토큰의 최종 은닉 상태는 분류 작업의 시퀀스 표현으로 사용됩니다. 각 토큰의 입력 표현은 해당 토큰 임베딩, 세그먼트 임베딩 및 위치 임베딩의 합으로 구성됩니다.
3.1 Pre-training BERT
- 사전 학습 과제: BERT는 두 가지 비지도 학습 과제를 사용하여 사전 학습됩니다.
- Masked LM: 입력 토큰의 일부를 무작위로 마스킹하고, 마스킹된 토큰을 예측합니다. 전체 시퀀스의 15%를 무작위로 마스킹합니다. 마스킹된 토큰은 80% 확률로 [MASK], 10% 확률로 랜덤 토큰, 10% 확률로 원래 토큰으로 대체됩니다.
- Next Sentence Prediction (NSP): 문장 A와 문장 B의 관계를 예측합니다. 50% 확률로 문장 B는 실제로 문장 A 다음에 오는 문장(IsNext), 50% 확률로 무작위 문장(NotNext)입니다.
- 사전 학습 데이터: BooksCorpus (800M 단어)와 영어 Wikipedia (2,500M 단어)를 사용합니다. Wikipedia에서는 텍스트 단락만 추출하여 사용합니다.
3.2 Fine-tuning BERT
- 미세 조정: BERT는 자기 어텐션 메커니즘을 통해 단일 텍스트 또는 텍스트 쌍을 처리할 수 있습니다. 다운스트림 작업에 맞게 입력과 출력을 설정하고, 모든 매개변수를 미세 조정합니다. 미세 조정은 상대적으로 저렴하며, 단일 Cloud TPU 또는 GPU에서 몇 시간 내에 완료할 수 있습니다.
4. Experiments
"Experiments" 부분에서는 BERT 모델의 성능을 평가하기 위해 다양한 실험을 수행합니다. 주요 내용은 다음과 같습니다:
1. 실험 설정:
- 데이터셋: WMT 2014 영어-독일어 번역 작업과 WMT 2014 영어-프랑스어 번역 작업에서 평가를 수행했습니다.
- 모델: BERTBASE와 BERTLARGE 두 가지 모델 크기를 사용했습니다.
2. 평가 작업:
- 자연어 추론 (NLI): MultiNLI와 SNLI 데이터셋을 사용하여 모델의 추론 능력을 평가했습니다.
- 질문 응답 (QA): SQuAD 데이터셋을 사용하여 질문 응답 작업에서의 성능을 측정했습니다.
- 문장 분류: SST-2 데이터셋을 사용하여 감정 분석 작업에서의 성능을 평가했습니다.
- 이름 인식 (NER): CoNLL-2003 데이터셋을 사용하여 명명된 개체 인식 성능을 측정했습니다.
3. 결과:
- 성능 향상: BERT 모델은 다양한 작업에서 기존 최고 성능을 크게 능가했습니다. 특히, BERTLARGE 모델은 모든 작업에서 가장 높은 성능을 기록했습니다.
- 미세 조정의 중요성: 모든 작업에서 BERT 모델을 사전 학습된 매개변수로 초기화하고, 작업별로 미세 조정하는 것이 성능 향상에 중요한 역할을 했습니다.
- 양방향 어텐션의 효과: BERT의 양방향 자기 어텐션 메커니즘은 문맥 이해에 크게 기여했으며, 이는 특히 긴 문맥 정보를 필요로 하는 작업에서 두드러졌습니다.
5. Ablation Studies
"Ablation Studies" 부분에서는 BERT의 여러 요소들이 성능에 미치는 영향을 평가하기 위해 다양한 실험을 수행합니다. 주요 내용은 다음과 같습니다:
1. 사전 학습 작업의 효과:
- NSP의 영향: "Next Sentence Prediction (NSP)" 작업이 성능에 미치는 영향을 평가했습니다. NSP 작업을 제거하면 QNLI, MNLI, SQuAD 1.1 작업에서 성능이 현저히 감소했습니다.
- 좌-우 방향 모델과의 비교: 왼쪽에서 오른쪽으로만 학습하는 "Left-to-Right (LTR)" 모델과 비교했을 때, 양방향 모델이 모든 작업에서 더 나은 성능을 보였습니다. 특히, MRPC와 SQuAD에서 큰 차이가 나타났습니다.
2. 모델 크기의 효과:
- 모델 크기 변화: 레이어 수, 히든 유닛 수, 어텐션 헤드 수를 다르게 설정한 여러 BERT 모델을 훈련했습니다. 실험 결과, 더 큰 모델이 모든 작업에서 더 높은 정확도를 보였습니다.
- 작은 데이터셋에서도 큰 모델의 이점: 큰 모델은 작은 데이터셋에서도 성능 향상을 가져왔습니다. 이는 충분히 사전 학습된 모델이 다운스트림 작업에서도 큰 이점을 제공한다는 것을 보여줍니다.
3. Feature-based 접근법과 Fine-tuning 접근법 비교:
- CoNLL-2003 명명된 개체 인식 (NER): Fine-tuning 접근법과 Feature-based 접근법을 비교했습니다. Fine-tuning 접근법이 더 나은 성능을 보였지만, Feature-based 접근법도 경쟁력 있는 성능을 보였습니다.
6. Conclusion
"Conclusion" 부분에서는 언어 모델을 통한 전이 학습이 많은 언어 이해 시스템에서 중요한 역할을 한다는 최근의 경험적 개선을 언급합니다. 주요 내용은 다음과 같습니다:
- 전이 학습의 중요성: 풍부한 비지도 사전 학습이 많은 언어 이해 시스템에서 중요한 부분임을 보여줍니다. 이러한 결과는 자원이 부족한 작업에서도 심층 단방향 아키텍처의 이점을 누릴 수 있게 합니다.
- BERT의 기여: BERT의 주요 기여는 이러한 결과를 심층 양방향 아키텍처로 일반화한 것입니다. 이를 통해 동일한 사전 학습된 모델이 다양한 NLP 작업을 성공적으로 해결할 수 있게 합니다.