BERT: Deep Bidirectional Transformers의 사전 훈련을 통한
언어 이해
초록
우리는 다음이라 불리는 새로운 언어 표현 모델을 소개한다BERT, 이는 다음을 의미한다B양방향E인코더R표현 fromTTransformers. 최근의 언어 표현 모델들과 달리Peters et al. (2018a); Radford et al. (2018), BERT는 모든 층에서 왼쪽과 오른쪽 문맥 양쪽을 공동으로 조건화함으로써 레이블이 없는 텍스트로부터 깊은 양방향 표현을 사전 훈련하도록 설계되었다. 그 결과, 사전 훈련된 BERT 모델은 단 하나의 추가 출력 층만으로 fine-tuning되어, 상당한 task-specific 아키텍처 수정 없이도 질문 응답과 언어 추론 같은 광범위한 태스크를 위한 state-of-the-art 모델을 만들 수 있다.
BERT는 개념적으로 단순하고 경험적으로 강력하다. 이는 GLUE 점수를 80.5%로 끌어올리는 것(7.7% 포인트 절대 향상), MultiNLI 정확도를 86.7%로 끌어올리는 것(4.6% 절대 향상), SQuAD v1.1 질문 응답 Test F1을 93.2로 끌어올리는 것(1.5 포인트 절대 향상), 그리고 SQuAD v2.0 Test F1을 83.1로 끌어올리는 것(5.1 포인트 절대 향상)을 포함하여, 열한 개의 자연어 처리 태스크에서 새로운 state-of-the-art 결과를 얻는다.
1 서론
언어 모델 사전 훈련은 많은 자연어 처리 태스크를 개선하는 데 효과적인 것으로 나타났다Dai and Le (2015); Peters et al. (2018a); Radford et al. (2018); Howard and Ruder (2018). 여기에는 자연어 추론과 같은 문장 수준 태스크가 포함된다Bowman et al. (2015); Williams et al. (2018)그리고 paraphrasingDolan and Brockett (2005), 이들은 문장들을 전체적으로 분석하여 문장 간 관계를 예측하는 것을 목표로 하며, 또한 모델이 토큰 수준에서 세밀한 출력을 생성해야 하는 named entity recognition과 question answering 같은 토큰 수준 태스크도 포함한다Tjong Kim Sang and De Meulder (2003); Rajpurkar et al. (2016).
사전 훈련된 언어 표현을 downstream task에 적용하기 위한 기존 전략은 두 가지가 있다:feature-based그리고fine-tuning. ELMo와 같은 feature-based 접근법은Peters et al. (2018a), 사전 훈련된 표현을 추가 feature로 포함하는 task-specific 아키텍처를 사용한다. Generative Pre-trained Transformer (OpenAI GPT)와 같은 fine-tuning 접근법은Radford et al. (2018), 최소한의 task-specific 파라미터를 도입하며, 단순히 fine-tuning함으로써 downstream task에서 훈련된다모든사전 훈련된 파라미터. 두 접근법은 사전 훈련 동안 동일한 목적 함수를 공유하며, 여기서 일반적인 언어 표현을 학습하기 위해 단방향 언어 모델을 사용한다.
우리는 현재 기술들이 사전 훈련된 표현의 능력을 제한한다고 주장하며, 특히 fine-tuning 접근법에서 그렇다. 주요 한계는 표준 언어 모델이 단방향이라는 점이며, 이는 사전 훈련 중 사용할 수 있는 아키텍처의 선택을 제한한다. 예를 들어 OpenAI GPT에서 저자들은 왼쪽에서 오른쪽으로 진행하는 아키텍처를 사용하며, 여기서 모든 토큰은 Transformer의 self-attention 층에서 이전 토큰들에만 attend할 수 있다Vaswani et al. (2017). 이러한 제약은 문장 수준 태스크에는 차선책이며, 양방향의 문맥을 통합하는 것이 중요한 question answering 같은 토큰 수준 태스크에 fine-tuning 기반 접근법을 적용할 때 매우 해로울 수 있다.
이 논문에서 우리는 BERT를 제안함으로써 fine-tuning 기반 접근법을 개선한다:B양방향E인코더R표현 fromTTransformers. BERT는 Cloze task에서 영감을 받은 “masked language model” (MLM) 사전 훈련 목적을 사용함으로써 앞서 언급한 단방향성 제약을 완화한다Taylor (1953). masked language model은 입력의 일부 토큰을 무작위로 마스킹하며, 목적은 오직 그 문맥에 기반하여 마스킹된 단어의 원래 vocabulary id를 예측하는 것이다. 왼쪽에서 오른쪽으로 진행하는 언어 모델 사전 훈련과 달리, MLM 목적은 표현이 왼쪽과 오른쪽 문맥을 융합할 수 있게 하며, 이는 우리가 깊은 양방향 Transformer를 사전 훈련할 수 있게 한다. masked language model에 더하여, 우리는 text-pair 표현을 공동으로 사전 훈련하는 “next sentence prediction” 태스크도 사용한다. 우리 논문의 기여는 다음과 같다:
- •
-
•
우리는 사전 훈련된 표현이 많은 고도로 공학화된 task-specific 아키텍처의 필요성을 줄인다는 것을 보인다. BERT는 문장 수준의 대규모 모음에서 state-of-the-art 성능을 달성한 최초의 fine-tuning 기반 표현 모델이다그리고토큰 수준 태스크에서 많은 task-specific 아키텍처를 능가한다.
-
•
BERT는 열한 개 NLP 태스크에서 state of the art를 진전시킨다. 코드와 사전 훈련된 모델은 다음에서 이용 가능하다https://github.com/google-research/bert.
2 관련 연구
일반 언어 표현을 사전 훈련하는 데는 오랜 역사가 있으며, 이 절에서는 가장 널리 사용되는 접근법들을 간략히 검토한다.
2.1 비지도 Feature-based 접근법
단어의 널리 적용 가능한 표현을 학습하는 것은 수십 년 동안 활발한 연구 영역이었으며, 여기에는 비신경망 방법이 포함된다Brown et al. (1992); Ando and Zhang (2005); Blitzer et al. (2006)그리고 신경망 방법Mikolov et al. (2013); Pennington et al. (2014)방법들. 사전 훈련된 word embedding은 현대 NLP 시스템의 필수적인 부분이며, 처음부터 학습된 embedding에 비해 상당한 개선을 제공한다Turian et al. (2010). word embedding 벡터를 사전 훈련하기 위해, left-to-right 언어 모델링 목적이 사용되어 왔다Mnih and Hinton (2009), 또한 왼쪽과 오른쪽 문맥에서 올바른 단어와 올바르지 않은 단어를 구별하는 목적도 사용되어 왔다Mikolov et al. (2013).
이러한 접근법들은 sentence embedding과 같은 더 거친 granularity로 일반화되어 왔다Kiros et al. (2015); Logeswaran and Lee (2018)또는 paragraph embeddingLe and Mikolov (2014). 문장 표현을 훈련하기 위해, 선행 연구는 후보 다음 문장들의 순위를 매기는 목적을 사용했다Jernite et al. (2017); Logeswaran and Lee (2018), 이전 문장의 표현이 주어졌을 때 다음 문장 단어들의 left-to-right 생성을 사용하거나Kiros et al. (2015), 또는 denoising auto-encoder에서 파생된 목적을 사용했다Hill et al. (2016).
ELMo와 그 전신은Peters et al. (2017, 2018a)전통적인 word embedding 연구를 다른 차원으로 일반화한다. 이들은 추출한다문맥 민감한feature를 left-to-right 및 right-to-left 언어 모델로부터. 각 토큰의 문맥 표현은 left-to-right 및 right-to-left 표현의 연결이다. 문맥적 word embedding을 기존 task-specific 아키텍처와 통합할 때, ELMo는 여러 주요 NLP benchmark에서 state of the art를 진전시킨다Peters et al. (2018a)question answering을 포함하여Rajpurkar et al. (2016), sentiment analysisSocher et al. (2013), 그리고 named entity recognitionTjong Kim Sang and De Meulder (2003). Melamud et al. (2016)는 LSTM을 사용하여 왼쪽과 오른쪽 문맥 양쪽으로부터 단일 단어를 예측하는 태스크를 통해 문맥 표현을 학습하는 것을 제안했다. ELMo와 유사하게, 그들의 모델은 feature-based이며 깊은 양방향은 아니다.Fedus et al. (2018)는 cloze task가 텍스트 생성 모델의 견고성을 개선하는 데 사용될 수 있음을 보인다.
2.2 비지도 Fine-tuning 접근법
feature-based 접근법과 마찬가지로, 이 방향의 첫 연구들은 레이블이 없는 텍스트로부터 word embedding 파라미터만 사전 훈련했다Collobert and Weston (2008).
더 최근에는, 문맥적 토큰 표현을 생성하는 sentence 또는 document encoder가 레이블이 없는 텍스트로부터 사전 훈련되고 supervised downstream task를 위해 fine-tuning되었다Dai and Le (2015); Howard and Ruder (2018); Radford et al. (2018). 이러한 접근법의 장점은 처음부터 학습해야 하는 파라미터가 거의 없다는 것이다. 적어도 부분적으로 이 장점 때문에, OpenAI GPT는Radford et al. (2018)GLUE benchmark의 많은 문장 수준 태스크에서 이전 state-of-the-art 결과를 달성했다Wang et al. (2018a). 이러한 모델들을 사전 훈련하기 위해 left-to-right 언어 모델링 및 auto-encoder 목적이 사용되어 왔다Howard and Ruder (2018); Radford et al. (2018); Dai and Le (2015).
2.3 지도 데이터로부터의 Transfer Learning
3 BERT
이 절에서 우리는 BERT와 그 상세한 구현을 소개한다. 우리의 framework에는 두 단계가 있다:사전 훈련그리고fine-tuning. 사전 훈련 동안 모델은 서로 다른 사전 훈련 태스크에 대해 레이블이 없는 데이터로 훈련된다. fine-tuning의 경우, BERT 모델은 먼저 사전 훈련된 파라미터로 초기화되고, 모든 파라미터는 downstream task의 labeled data를 사용하여 fine-tuning된다. 각 downstream task는 동일한 사전 훈련된 파라미터로 초기화되더라도 별도의 fine-tuned 모델을 가진다. Figure의 question-answering 예시는1이 절 전체에서 계속 사용되는 예시로 쓰일 것이다.
BERT의 두드러진 특징은 서로 다른 태스크 전반에 걸친 통합된 아키텍처이다. 사전 훈련된 아키텍처와 최종 downstream 아키텍처 사이에는 최소한의 차이만 있다.
모델 아키텍처
BERT의 모델 아키텍처는 다음에 설명된 원래 구현을 기반으로 한 multi-layer bidirectional Transformer encoder이다Vaswani et al. (2017)그리고 다음에서 공개되었다tensor2tensorlibrary.111https://github.com/tensorflow/tensor2tensorTransformers의 사용이 보편화되었고 우리의 구현은 원본과 거의 동일하기 때문에, 우리는 모델 아키텍처에 대한 exhaustive한 배경 설명을 생략하고 독자들에게 다음을 참조하게 한다Vaswani et al. (2017)뿐만 아니라 “The Annotated Transformer.”와 같은 훌륭한 guide도 참조하게 한다.222http://nlp.seas.harvard.edu/2018/04/03/attention.html
이 연구에서 우리는 층의 수(즉, Transformer block)를 다음으로 표시한다, hidden size를 다음으로 표시하며, self-attention head의 수를 다음으로 표시한다.333모든 경우에 우리는 feed-forward/filter size를 다음으로 설정한다, 즉, 다음의 경우 3072그리고 다음의 경우 4096.우리는 주로 두 가지 모델 크기에 대한 결과를 보고한다:BERT(L=12, H=768, A=12, Total Parameters=110M) 그리고BERT(L=24, H=1024, A=16, Total Parameters=340M).
BERT는 비교 목적으로 OpenAI GPT와 동일한 모델 크기를 갖도록 선택되었다. 그러나 결정적으로, BERT Transformer는 bidirectional self-attention을 사용하는 반면, GPT Transformer는 모든 토큰이 자신의 왼쪽 문맥에만 attend할 수 있는 constrained self-attention을 사용한다.444문헌에서 bidirectional Transformer는 종종 “Transformer encoder”라고 불리는 반면, left-context-only 버전은 텍스트 생성에 사용될 수 있으므로 “Transformer decoder”라고 불린다는 점에 주목한다.
입력/출력 표현
BERT가 다양한 down-stream task를 처리하게 하기 위해, 우리의 입력 표현은 단일 문장과 문장 쌍(예:Question, Answer)을 하나의 토큰 시퀀스 안에서 모호하지 않게 표현할 수 있다. 이 연구 전반에서 “sentence”는 실제 언어학적 문장이 아니라, 연속된 텍스트의 임의 span일 수 있다. “sequence”는 BERT에 대한 입력 토큰 시퀀스를 가리키며, 이는 단일 문장이거나 함께 packed된 두 문장일 수 있다.
우리는 WordPiece embedding을 사용한다Wu et al. (2016)30,000 token vocabulary와 함께. 모든 sequence의 첫 번째 토큰은 항상 특수 classification token이다([CLS]). 이 토큰에 해당하는 최종 hidden state는 classification task를 위한 aggregate sequence representation으로 사용된다. 문장 쌍은 하나의 sequence로 함께 packed된다. 우리는 두 가지 방식으로 문장을 구별한다. 첫째, 특수 토큰으로 그들을 분리한다([SEP]). 둘째, 각 토큰이 문장에 속하는지 여부를 나타내는 학습된 embedding을 모든 토큰에 추가한다A또는 문장B. Figure에 보인 것처럼1, 우리는 input embedding을 다음으로 표시한다, 특수[CLS]토큰의 최종 hidden vector를 다음으로 표시한다, 그리고 다음에 대한 최종 hidden vector를input token은 다음으로 표시한다.
주어진 토큰에 대해, 그 입력 표현은 해당 token, segment, position embedding을 합산하여 구성된다. 이 구성의 시각화는 Figure에서 볼 수 있다2.
3.1 BERT 사전 훈련
다음과 달리Peters et al. (2018a)그리고Radford et al. (2018), 우리는 BERT를 사전 훈련하기 위해 전통적인 left-to-right 또는 right-to-left 언어 모델을 사용하지 않는다. 대신, 우리는 이 절에서 설명하는 두 가지 비지도 태스크를 사용하여 BERT를 사전 훈련한다. 이 단계는 Figure의 왼쪽 부분에 제시되어 있다1.
Task #1: Masked LM
직관적으로, 깊은 양방향 모델이 left-to-right 모델이나 left-to-right 및 right-to-left 모델의 얕은 연결보다 엄격히 더 강력하다고 믿는 것은 합리적이다. 불행히도, 표준 conditional language model은 left-to-right로만 훈련될 수 있다또는오른쪽에서 왼쪽으로, 양방향 조건화는 각 단어가 간접적으로 “자기 자신을 보게” 하며, 모델이 다층 맥락에서 목표 단어를 사소하게 예측할 수 있게 하기 때문이다.
깊은 양방향 표현을 학습하기 위해, 우리는 입력 토큰의 일부 비율을 무작위로 단순히 마스크한 다음, 그 마스크된 토큰들을 예측한다. 우리는 이 절차를 “masked LM” (MLM)이라고 부르지만, 문헌에서는 종종Cloze과제라고 불린다Taylor (1953). 이 경우, 마스크 토큰에 해당하는 최종 hidden vector들이 표준 LM에서처럼 vocabulary 전체에 대한 출력 softmax에 입력된다. 우리의 모든 실험에서, 우리는 각 sequence의 모든 WordPiece token 중 15%를 무작위로 마스크한다. denoising auto-encoder와는 대조적으로Vincent et al. (2008), 우리는 전체 입력을 재구성하기보다 마스크된 단어들만 예측한다.
이것이 양방향 pre-trained model을 얻을 수 있게 해 주지만, 단점은[MASK]token이 fine-tuning 중에는 나타나지 않기 때문에 pre-training과 fine-tuning 사이에 불일치를 만든다는 것이다. 이를 완화하기 위해, 우리는 “masked” 단어들을 항상 실제[MASK]token으로 대체하지는 않는다. training data generator는 예측을 위해 token position의 15%를 무작위로 선택한다. 만약-번째 token이 선택되면, 우리는-번째 token을 (1)[MASK]token으로 80%의 경우 대체하고 (2) random token으로 10%의 경우 대체하며 (3) 변경되지 않은-번째 token으로 10%의 경우 둔다. 그런 다음,은 cross entropy loss로 원래 token을 예측하는 데 사용된다. 우리는 이 절차의 변형들을 Appendix에서 비교한다C.2.
Task #2: Next Sentence Prediction (NSP)
Question Answering (QA)와 Natural Language Inference (NLI) 같은 많은 중요한 downstream task들은 두 문장 사이의관계를 이해하는 것에 기반하는데, 이는 language modeling에 의해 직접적으로 포착되지 않는다. 문장 관계를 이해하는 모델을 학습하기 위해, 우리는 임의의 monolingual corpus에서 사소하게 생성될 수 있는 이진화된next sentence prediction과제에 대해 pre-train한다. 구체적으로, 각 pre-training example에 대해 문장A및B을 선택할 때, 50%의 경우B는 뒤따르는 실제 다음 문장이다A(IsNext로 labeled), 그리고 50%의 경우 그것은 corpus에서 온 random sentence이다 (NotNext로 labeled). Figure에서 보이듯이1, 은 next sentence prediction (NSP)에 사용된다.555최종 모델은 NSP에서 97%-98% accuracy를 달성한다.그 단순함에도 불구하고, 우리는 Section에서5.1이 과제를 향한 pre-training이 QA와 NLI 모두에 매우 유익함을 입증한다.666vector는 NSP로 학습되었기 때문에 fine-tuning 없이는 의미 있는 sentence representation이 아니다.NSP task는 다음에서 사용된 representation-learning objective들과 밀접하게 관련되어 있다Jernite et al. (2017)및Logeswaran and Lee (2018). 그러나 prior work에서는 sentence embedding만 down-stream task로 전이되는 반면, BERT는 end-task model parameter를 초기화하기 위해 모든 parameter를 전이한다.
Pre-training datapre-training 절차는 대체로 language model pre-training에 관한 기존 문헌을 따른다. pre-training corpus로 우리는 BooksCorpus (800M words)를 사용한다Zhu et al. (2015)그리고 English Wikipedia (2,500M words)를 사용한다. Wikipedia의 경우 우리는 text passage만 추출하고 list, table, header는 무시한다. 긴 연속 sequence를 추출하기 위해서는 Billion Word Benchmark와 같은 shuffled sentence-level corpus가 아니라 document-level corpus를 사용하는 것이 중요하다Chelba et al. (2013)긴 contiguous sequence를 추출하기 위해서이다.
3.2 Fine-tuning BERT
Transformer의 self-attention mechanism이 BERT가 단일 text 또는 text pair를 포함하는지와 상관없이 적절한 input과 output을 교체함으로써 많은 downstream task를 모델링할 수 있게 하므로, fine-tuning은 간단하다. text pair를 포함하는 application의 경우, 일반적인 패턴은 bidirectional cross attention을 적용하기 전에 text pair를 독립적으로 encode하는 것이다. 예를 들면Parikh et al. (2016); Seo et al. (2017). 반면 BERT는 self-attention mechanism을 사용해 이 두 단계를 통합하는데, self-attention으로 concatenated text pair를 encode하면 사실상 두 문장 사이의양방향cross attention을 포함하기 때문이다.
각 task에 대해, 우리는 task-specific input과 output을 BERT에 단순히 연결하고 모든 parameter를 end-to-end로 fine-tune한다. input에서, pre-training의 sentenceA와 sentenceB는 (1) paraphrasing의 sentence pair, (2) entailment의 hypothesis-premise pair, (3) question answering의 question-passage pair, 그리고 (4) text classification 또는 sequence tagging의 degenerate text-pair와 유사하다. output에서, token representation들은 sequence tagging 또는 question answering 같은 token-level task를 위해 output layer에 입력되고,[CLS]representation은 entailment 또는 sentiment analysis 같은 classification을 위해 output layer에 입력된다.
pre-training과 비교하면, fine-tuning은 상대적으로 비용이 적다. 논문의 모든 결과는 정확히 동일한 pre-trained model에서 시작하여 단일 Cloud TPU에서 최대 1시간, 또는 GPU에서 몇 시간 안에 재현될 수 있다.777예를 들어, BERT SQuAD model은 단일 Cloud TPU에서 약 30분 동안 학습되어 Dev F1 score 91.0%를 달성할 수 있다.우리는 Section의 해당 subsection들에서 task-specific detail을 설명한다4. 더 많은 detail은 Appendix에서 찾을 수 있다A.5.
| System | MNLI-(m/mm) | QQP | QNLI | SST-2 | CoLA | STS-B | MRPC | RTE | Average |
|---|---|---|---|---|---|---|---|---|---|
| 392k | 363k | 108k | 67k | 8.5k | 5.7k | 3.5k | 2.5k | - | |
| Pre-OpenAI SOTA | 80.6/80.1 | 66.1 | 82.3 | 93.2 | 35.0 | 81.0 | 86.0 | 61.7 | 74.0 |
| BiLSTM+ELMo+Attn | 76.4/76.1 | 64.8 | 79.8 | 90.4 | 36.0 | 73.3 | 84.9 | 56.8 | 71.0 |
| OpenAI GPT | 82.1/81.4 | 70.3 | 87.4 | 91.3 | 45.4 | 80.0 | 82.3 | 56.0 | 75.1 |
| BERT | 84.6/83.4 | 71.2 | 90.5 | 93.5 | 52.1 | 85.8 | 88.9 | 66.4 | 79.6 |
| BERT | 86.7/85.9 | 72.1 | 92.7 | 94.9 | 60.5 | 86.5 | 89.3 | 70.1 | 82.1 |
4 Experiments
이 section에서, 우리는 11개의 NLP task에 대한 BERT fine-tuning result를 제시한다.
4.1 GLUE
General Language Understanding Evaluation (GLUE) benchmarkWang et al. (2018a)는 다양한 natural language understanding task들의 모음이다. GLUE dataset에 대한 자세한 설명은 Appendix에 포함되어 있다B.1.
GLUE에서 fine-tune하기 위해, 우리는 Section에서 설명한 대로 input sequence(single sentence 또는 sentence pair의 경우)를 표현한다3, 그리고 final hidden vector를 사용한다첫 번째 input token ([CLS])에 해당하는 것을 aggregate representation으로 사용한다. fine-tuning 중에 도입되는 유일한 새로운 parameter는 classification layer weight, 여기서는 label의 수이다. 우리는 표준 classification loss를 계산한다와, i.e., .
우리는 batch size 32를 사용하고 모든 GLUE task에 대해 data 위에서 3 epoch 동안 fine-tune한다. 각 task에 대해, 우리는 Dev set에서 최상의 fine-tuning learning rate(5e-5, 4e-5, 3e-5, 2e-5 중)를 선택했다. 추가로, BERT의 경우작은 dataset에서는 fine-tuning이 때때로 불안정하다는 것을 발견했으므로, 여러 random restart를 실행하고 Dev set에서 최상의 model을 선택했다. random restart에서는 동일한 pre-trained checkpoint를 사용하지만, 서로 다른 fine-tuning data shuffling과 classifier layer initialization을 수행한다.101010GLUE data set distribution은 Test label을 포함하지 않으며, 우리는 BERT 각각에 대해 GLUE evaluation server submission을 한 번만 했다그리고 BERT.
결과는 Table에 제시되어 있다9. BERT 둘 다그리고 BERT는 모든 task에서 모든 system을 상당한 margin으로 능가하며, prior state of the art 대비 각각 4.5%와 7.0%의 average accuracy improvement를 얻는다. BERT에 주목하라와 OpenAI GPT는 attention masking을 제외하면 model architecture 측면에서 거의 동일하다. 가장 크고 가장 널리 보고되는 GLUE task인 MNLI에서, BERT는 4.6% absolute accuracy improvement를 얻는다. 공식 GLUE leaderboard에서111111https://gluebenchmark.com/leaderboard, BERT는 작성 시점 기준 72.8을 얻은 OpenAI GPT와 비교하여 80.5의 score를 얻는다.
우리는 BERT가모든 task에서, 특히 training data가 매우 적은 task에서 BERT를 상당히 능가한다는 것을 발견했다model size의 효과는 Section에서 더 철저히 탐구된다5.2.
4.2 SQuAD v1.1
Stanford Question Answering Dataset (SQuAD v1.1)은 100k개의 crowdsourced question/answer pair의 모음이다Rajpurkar et al. (2016). answer를 포함하는 Wikipedia의 question과 passage가 주어지면, task는 passage 안의 answer text span을 예측하는 것이다.
Figure에 보인 것처럼1, question answering task에서, 우리는 input question과 passage를 단일 packed sequence로 표현하며, question은Aembedding을 사용하고 passage는Bembedding을 사용한다. 우리는 fine-tuning 중에 start vector와 end vector만 도입한다. word가 answer span의 시작일 확률은와사이의 dot product로 계산되며그 뒤 paragraph의 모든 word에 대한 softmax가 따른다:. answer span의 끝에 대해서도 유사한 formula가 사용된다. position에서 position까지의 candidate span의 score는로 정의된다, 그리고 다음을 만족하는 maximum scoring span이 prediction으로 사용된다. training objective는 올바른 start와 end position의 log-likelihood의 합이다. 우리는 learning rate 5e-5와 batch size 32로 3 epoch 동안 fine-tune한다.
| System | Dev | Test | ||
|---|---|---|---|---|
| EM | F1 | EM | F1 | |
| Top Leaderboard Systems (Dec 10th, 2018) | ||||
| Human | - | - | 82.3 | 91.2 |
| #1 Ensemble - nlnet | - | - | 86.0 | 91.7 |
| #2 Ensemble - QANet | - | - | 84.5 | 90.5 |
| Published | ||||
| BiDAF+ELMo (Single) | - | 85.6 | - | 85.8 |
| R.M. Reader (Ensemble) | 81.2 | 87.9 | 82.3 | 88.5 |
| Ours | ||||
| BERT(Single) | 80.8 | 88.5 | - | - |
| BERT(Single) | 84.1 | 90.9 | - | - |
| BERT(Ensemble) | 85.8 | 91.8 | - | - |
| BERT(Sgl.+TriviaQA) | 84.2 | 91.1 | 85.1 | 91.8 |
| BERT(Ens.+TriviaQA) | 86.2 | 92.2 | 87.4 | 93.2 |
| System | Dev | Test | ||
|---|---|---|---|---|
| EM | F1 | EM | F1 | |
| Top Leaderboard Systems (Dec 10th, 2018) | ||||
| Human | 86.3 | 89.0 | 86.9 | 89.5 |
| #1 Single - MIR-MRC (F-Net) | - | - | 74.8 | 78.0 |
| #2 Single - nlnet | - | - | 74.2 | 77.1 |
| Published | ||||
| unet (Ensemble) | - | - | 71.4 | 74.9 |
| SLQA+ (Single) | - | 71.4 | 74.4 | |
| Ours | ||||
| BERT(Single) | 78.7 | 81.9 | 80.0 | 83.1 |
Table2은 top leaderboard entry뿐 아니라 top published system들의 result를 보여준다Seo et al. (2017); Clark and Gardner (2018); Peters et al. (2018a); Hu et al. (2018). SQuAD leaderboard의 top result들은 이용 가능한 최신 public system description이 없으며,121212QANet은 다음에 설명되어 있다Yu et al. (2018), 그러나 system은 publication 이후 상당히 개선되었다.그리고 system을 학습할 때 어떤 public data든 사용할 수 있도록 허용된다. 따라서 우리는 먼저 TriviaQA에서 fine-tuning함으로써 system에서 modest data augmentation을 사용한다Joshi et al. (2017)SQuAD에서 fine-tuning하기 전에.
우리의 best performing system은 ensembling에서 +1.5 F1, single system으로서 +1.3 F1만큼 top leaderboard system을 능가한다. 사실, 우리의 single BERT model은 F1 score 측면에서 top ensemble system을 능가한다. TriviaQA fine-tuning data가 없어도, 우리는 0.1-0.4 F1만 잃으며, 여전히 모든 기존 system을 큰 margin으로 능가한다.131313우리가 사용한 TriviaQA data는 제공된 가능한 answer 중 적어도 하나를 포함하는 document의 첫 400 token으로 구성된 TriviaQA-Wiki의 paragraph들로 이루어져 있다.
4.3 SQuAD v2.0
SQuAD 2.0 task는 제공된 paragraph에 짧은 answer가 존재하지 않을 가능성을 허용함으로써 SQuAD 1.1 problem definition을 확장하여, problem을 더 현실적으로 만든다.
우리는 이 task를 위해 SQuAD v1.1 BERT model을 확장하는 간단한 접근법을 사용한다. 우리는 answer가 없는 question을 start와 end가[CLS]토큰. 시작 및 끝 정답 span 위치에 대한 확률 공간은 해당 위치를 포함하도록 확장된다[CLS]토큰. 예측을 위해, 우리는 무응답 span의 점수를 비교한다:최상의 non-null span의 점수와 = . 우리는 다음일 때 non-null 답변을 예측한다, 여기서 임계값은 dev set에서 F1을 최대화하도록 선택된다. 우리는 이 모델에 TriviaQA 데이터를 사용하지 않았다. 우리는 learning rate 5e-5와 batch size 48로 2 epochs 동안 fine-tuning했다.
4.4 SWAG
Situations With Adversarial Generations (SWAG) dataset은 grounded commonsense inference를 평가하는 113k개의 sentence-pair completion 예제를 포함한다Zellers et al. (2018). 문장이 주어지면, 과제는 네 가지 선택지 중 가장 그럴듯한 continuation을 선택하는 것이다.
SWAG dataset에서 fine-tuning할 때, 우리는 네 개의 input sequences를 구성하며, 각각은 주어진 문장(sentenceA)과 가능한 continuation(sentenceB)의 연결을 포함한다. 도입되는 유일한 task-specific parameters는[CLS]토큰 표현과의 dot product가 각 선택지의 점수를 나타내며, 이는 softmax layer로 정규화되는 벡터이다.
우리는 learning rate 2e-5와 batch size 16으로 3 epochs 동안 모델을 fine-tuning한다. 결과는 Table에 제시되어 있다4. BERT는 저자들의 baseline ESIM+ELMo system보다 +27.1%, OpenAI GPT보다 8.3% 우수하다.
| 시스템 | Dev | Test |
|---|---|---|
| ESIM+GloVe | 51.9 | 52.7 |
| ESIM+ELMo | 59.1 | 59.2 |
| OpenAI GPT | - | 78.0 |
| BERT | 81.6 | - |
| BERT | 86.6 | 86.3 |
| Human (expert)† | - | 85.0 |
| Human (5 annotations)† | - | 88.0 |
5 Ablation Studies
이 절에서는 BERT의 여러 측면에 대해 ablation experiments를 수행하여 이들의 상대적 중요성을 더 잘 이해한다. 추가 ablation studies는 Appendix에서 찾을 수 있다C.
5.1 Pre-training Tasks의 효과
우리는 BERT와 정확히 동일한 pre-training data, fine-tuning scheme, hyperparameters를 사용하여 두 가지 pre-training objectives를 평가함으로써 BERT의 deep bidirectionality의 중요성을 입증한다:
No NSP: “masked LM” (MLM)을 사용하지만 “next sentence prediction” (NSP) task 없이 학습된 bidirectional model.
LTR&No NSP: MLM이 아니라 표준 Left-to-Right (LTR) LM을 사용하여 학습된 left-context-only model. left-only constraint는 fine-tuning 시에도 적용되었는데, 이를 제거하면 downstream performance를 저하시키는 pre-train/fine-tune mismatch가 도입되었기 때문이다. 또한 이 모델은 NSP task 없이 pre-trained되었다. 이는 OpenAI GPT와 직접 비교 가능하지만, 우리의 더 큰 training dataset, 우리의 input representation, 그리고 우리의 fine-tuning scheme을 사용한다.
| Dev Set | |||||
|---|---|---|---|---|---|
| Tasks | MNLI-m | QNLI | MRPC | SST-2 | SQuAD |
| (Acc) | (Acc) | (Acc) | (Acc) | (F1) | |
| BERT | 84.4 | 88.4 | 86.7 | 92.7 | 88.5 |
| No NSP | 83.9 | 84.9 | 86.5 | 92.6 | 87.9 |
| LTR&No NSP | 82.1 | 84.3 | 77.5 | 92.1 | 77.8 |
| + BiLSTM | 82.1 | 84.1 | 75.7 | 91.6 | 84.9 |
우리는 먼저 NSP task가 가져온 영향을 조사한다. Table에서5, 우리는 NSP를 제거하면 QNLI, MNLI, SQuAD 1.1에서 성능이 크게 손상됨을 보인다. 다음으로, “No NSP”를 “LTR&No NSP”와 비교하여 bidirectional representations 학습의 영향을 평가한다. LTR model은 모든 tasks에서 MLM model보다 성능이 낮으며, MRPC와 SQuAD에서 큰 하락이 있다.
SQuAD의 경우 LTR model이 token predictions에서 잘 수행하지 못할 것이라는 점은 직관적으로 명확한데, token-level hidden states가 오른쪽 context를 갖지 않기 때문이다. LTR system을 강화하려는 성실한 시도로, 우리는 위에 무작위로 초기화된 BiLSTM을 추가했다. 이는 SQuAD에서 결과를 상당히 개선하지만, 결과는 여전히 pre-trained bidirectional models의 결과보다 훨씬 나쁘다. BiLSTM은 GLUE tasks에서 성능을 해친다.
우리는 ELMo가 하듯이 별도의 LTR 및 RTL models를 학습하고 각 토큰을 두 모델의 concatenation으로 표현하는 것도 가능하다는 점을 인정한다. 그러나: (a) 이것은 단일 bidirectional model보다 두 배 비용이 든다; (b) QA와 같은 tasks에는 직관적이지 않은데, RTL model은 질문에 답을 condition할 수 없기 때문이다; (c) 이것은 deep bidirectional model보다 엄격히 덜 강력한데, 그것은 모든 layer에서 left와 right context 모두를 사용할 수 있기 때문이다.
5.2 Model Size의 효과
이 절에서는 fine-tuning task accuracy에 대한 model size의 효과를 탐구한다. 우리는 이전에 설명한 것과 동일한 hyperparameters와 training procedure를 그 외에는 사용하면서, layers, hidden units, attention heads의 수가 다른 여러 BERT models를 학습했다.
선택된 GLUE tasks에 대한 결과는 Table에 제시되어 있다6. 이 표에서, 우리는 fine-tuning의 5개 random restarts에서 얻은 평균 Dev Set accuracy를 보고한다. 우리는 더 큰 models가 네 datasets 모두에서 엄격한 accuracy improvement로 이어짐을 볼 수 있으며, 이는 labeled training examples가 3,600개뿐이고 pre-training tasks와 상당히 다른 MRPC에서도 그렇다. 또한 기존 문헌에 비해 이미 꽤 큰 models 위에서 이러한 상당한 개선을 달성할 수 있다는 점은 아마도 놀랍다. 예를 들어,Vaswani et al. (2017)에서 탐구한 가장 큰 Transformer는 encoder에 대해 100M parameters를 가진 (L=6, H=1024, A=16)이고, 우리가 문헌에서 찾은 가장 큰 Transformer는 235M parameters를 가진 (L=64, H=512, A=2)이다Al-Rfou et al. (2018). 대조적으로, BERT는 110M parameters를 포함하고 BERT는 340M parameters를 포함한다.
| Hyperparams | Dev Set Accuracy | |||||
|---|---|---|---|---|---|---|
| #L | #H | #A | LM (ppl) | MNLI-m | MRPC | SST-2 |
| 3 | 768 | 12 | 5.84 | 77.9 | 79.8 | 88.4 |
| 6 | 768 | 3 | 5.24 | 80.6 | 82.2 | 90.7 |
| 6 | 768 | 12 | 4.68 | 81.9 | 84.8 | 91.3 |
| 12 | 768 | 12 | 3.99 | 84.4 | 86.7 | 92.9 |
| 12 | 1024 | 16 | 3.54 | 85.7 | 86.9 | 93.3 |
| 24 | 1024 | 16 | 3.23 | 86.6 | 87.8 | 93.7 |
model size를 증가시키면 machine translation 및 language modeling과 같은 large-scale tasks에서 지속적인 개선으로 이어진다는 것은 오래전부터 알려져 왔으며, 이는 Table에 제시된 held-out training data의 LM perplexity로 입증된다6. 그러나 우리는 모델이 충분히 pre-trained되었다면 극단적인 model sizes로 scaling하는 것이 매우 small scale tasks에서도 큰 개선으로 이어진다는 것을 설득력 있게 입증한 첫 연구라고 믿는다.Peters et al. (2018b)는 pre-trained bi-LM size를 두 layers에서 네 layers로 증가시키는 것이 downstream task에 미치는 영향에 대해 혼합된 결과를 제시했고Melamud et al. (2016)는 hidden dimension size를 200에서 600으로 증가시키는 것은 도움이 되었지만, 더 나아가 1,000으로 증가시키는 것은 추가 개선을 가져오지 않았다고 지나가며 언급했다. 이 두 prior works는 모두 feature-based approach를 사용했다 — 우리는 모델이 downstream tasks에서 직접 fine-tuned되고 무작위로 초기화된 매우 적은 수의 additional parameters만 사용할 때, downstream task data가 매우 작더라도 task-specific models가 더 크고 더 표현력 있는 pre-trained representations로부터 이익을 얻을 수 있다고 가정한다.
5.3 BERT를 사용한 Feature-based Approach
지금까지 제시된 모든 BERT 결과는 fine-tuning approach를 사용했으며, 여기서는 간단한 classification layer가 pre-trained model에 추가되고 모든 parameters가 downstream task에서 jointly fine-tuned된다. 그러나 pre-trained model에서 fixed features를 추출하는 feature-based approach에는 특정 장점이 있다. 첫째, 모든 tasks가 Transformer encoder architecture로 쉽게 표현될 수 있는 것은 아니며, 따라서 task-specific model architecture가 추가되어야 한다. 둘째, training data의 비싼 representation을 한 번 pre-compute한 다음 이 representation 위에서 더 저렴한 models로 많은 experiments를 실행하는 데 큰 computational benefits가 있다.
이 절에서는 BERT를 CoNLL-2003 Named Entity Recognition (NER) task에 적용하여 두 접근법을 비교한다Tjong Kim Sang and De Meulder (2003). BERT의 input에서, 우리는 case-preserving WordPiece model을 사용하고, 데이터가 제공하는 최대 document context를 포함한다. 표준 관행에 따라, 우리는 이를 tagging task로 공식화하지만 output에 CRF layer를 사용하지 않는다. 우리는 NER label set에 대한 token-level classifier의 input으로 첫 번째 sub-token의 representation을 사용한다.
fine-tuning approach를 ablate하기 위해, 우리는 하나 이상의 layers에서 activations를 추출하여 feature-based approach를 적용한다없이BERT의 어떤 parameters도 fine-tuning하지 않는다. 이러한 contextual embeddings는 classification layer 전에 무작위로 초기화된 2-layer 768-dimensional BiLSTM의 input으로 사용된다.
결과는 Table에 제시되어 있다7. BERT는 state-of-the-art methods와 경쟁력 있게 수행한다. 가장 성능이 좋은 방법은 pre-trained Transformer의 top four hidden layers에서 token representations를 concatenate하며, 이는 전체 모델을 fine-tuning하는 것보다 단지 0.3 F1 뒤처진다. 이는 BERT가 fine-tuning 및 feature-based approaches 모두에 효과적임을 보여준다.
| 시스템 | Dev F1 | Test F1 |
| ELMoPeters et al. (2018a) | 95.7 | 92.2 |
| CVTClark et al. (2018) | - | 92.6 |
| CSEAkbik et al. (2018) | - | 93.1 |
| Fine-tuning approach | ||
| BERT | 96.6 | 92.8 |
| BERT | 96.4 | 92.4 |
| Feature-based approach (BERT) | ||
| Embeddings | 91.0 | - |
| Second-to-Last Hidden | 95.6 | - |
| Last Hidden | 94.9 | - |
| Weighted Sum Last Four Hidden | 95.9 | - |
| Concat Last Four Hidden | 96.1 | - |
| Weighted Sum All 12 Layers | 95.5 | - |
6 결론
language models를 사용한 transfer learning으로 인한 최근의 empirical improvements는 풍부한 unsupervised pre-training이 많은 language understanding systems의 필수적인 부분임을 입증했다. 특히, 이러한 결과는 low-resource tasks조차도 deep unidirectional architectures로부터 이익을 얻을 수 있게 한다. 우리의 주요 기여는 이러한 발견을 deepbidirectionalarchitectures로 더 일반화하여, 동일한 pre-trained model이 광범위한 NLP tasks를 성공적으로 다룰 수 있게 하는 것이다.
References
- Akbik et al. (2018) Alan Akbik, Duncan Blythe, and Roland Vollgraf. 2018. sequence labeling을 위한 contextual string embeddings. InProceedings of the 27th International Conference on Computational Linguistics, pages 1638–1649.
- Al-Rfou et al. (2018) Rami Al-Rfou, Dokook Choe, Noah Constant, Mandy Guo, and Llion Jones. 2018. 더 깊은 self-attention을 사용한 character-level language modeling. arXiv preprint arXiv:1808.04444.
- Ando and Zhang (2005) Rie Kubota Ando and Tong Zhang. 2005. multiple tasks와 unlabeled data로부터 predictive structures를 학습하기 위한 framework. Journal of Machine Learning Research, 6(Nov):1817–1853.
- Bentivogli et al. (2009) Luisa Bentivogli, Bernardo Magnini, Ido Dagan, Hoa Trang Dang, and Danilo Giampiccolo. 2009. 다섯 번째 PASCAL recognizing textual entailment challenge. InTAC. NIST.
- Blitzer et al. (2006) John Blitzer, Ryan McDonald, and Fernando Pereira. 2006. structural correspondence learning을 사용한 domain adaptation. InProceedings of the 2006 conference on empirical methods in natural language processing, pages 120–128. Association for Computational Linguistics.
- Bowman et al. (2015) Samuel R. Bowman, Gabor Angeli, Christopher Potts, and Christopher D. Manning. 2015. natural language inference 학습을 위한 대규모 annotated corpus. InEMNLP. Association for Computational Linguistics.
- Brown et al. (1992) Peter F Brown, Peter V Desouza, Robert L Mercer, Vincent J Della Pietra, and Jenifer C Lai. 1992. natural language의 class-based n-gram models. Computational linguistics, 18(4):467–479.
- Cer et al. (2017) Daniel Cer, Mona Diab, Eneko Agirre, Inigo Lopez-Gazpio, and Lucia Specia. 2017. Semeval-2017 task 1: Semantic textual similarity multilingual and crosslingual focused evaluation. InProceedings of the 11th International Workshop on Semantic Evaluation (SemEval-2017), pages 1–14, Vancouver, Canada. Association for Computational Linguistics.
- Chelba et al. (2013) Ciprian Chelba, Tomas Mikolov, Mike Schuster, Qi Ge, Thorsten Brants, Phillipp Koehn, and Tony Robinson. 2013. statistical language modeling에서 진전을 측정하기 위한 one billion word benchmark. arXiv preprint arXiv:1312.3005.
- Chen et al. (2018) Z. Chen, H. Zhang, X. Zhang, and L. Zhao. 2018. Quora question pairs.
- Clark and Gardner (2018) Christopher Clark and Matt Gardner. 2018. 간단하고 효과적인 multi-paragraph reading comprehension. InACL.
- Clark et al. (2018) Kevin Clark, Minh-Thang Luong, Christopher D Manning, and Quoc Le. 2018. cross-view training을 사용한 semi-supervised sequence modeling. InProceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 1914–1925.
- Collobert and Weston (2008) Ronan Collobert and Jason Weston. 2008. natural language processing을 위한 통합 architecture: multitask learning을 사용한 deep neural networks. InProceedings of the 25th international conference on Machine learning, pages 160–167. ACM.
- Conneau et al. (2017) Alexis Conneau, Douwe Kiela, Holger Schwenk, Loïc Barrault, and Antoine Bordes. 2017. 자연어 추론 데이터로부터 보편적 문장 표현의 지도 학습. InProceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, 670–680쪽, Copenhagen, Denmark. Association for Computational Linguistics.
- Dai and Le (2015) Andrew M Dai and Quoc V Le. 2015. 준지도 sequence 학습. InAdvances in neural information processing systems, 3079–3087쪽.
- Deng et al. (2009) J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. 2009. ImageNet: 대규모 계층적 이미지 데이터베이스. InCVPR09.
- Dolan and Brockett (2005) William B Dolan and Chris Brockett. 2005. 문장 패러프레이즈 말뭉치를 자동으로 구축하기. InProceedings of the Third International Workshop on Paraphrasing (IWP2005).
- Fedus et al. (2018) William Fedus, Ian Goodfellow, and Andrew M Dai. 2018. Maskgan: 빈칸 채우기를 통한 더 나은 텍스트 생성. arXiv preprint arXiv:1801.07736.
- Hendrycks and Gimpel (2016) Dan Hendrycks and Kevin Gimpel. 2016. gaussian error linear units로 비선형성과 확률적 regularizer 연결하기. CoRR, abs/1606.08415.
- Hill et al. (2016) Felix Hill, Kyunghyun Cho, and Anna Korhonen. 2016. 레이블 없는 데이터로부터 문장의 분산 표현 학습. InProceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Association for Computational Linguistics.
- Howard and Ruder (2018) Jeremy Howard and Sebastian Ruder. 2018. 텍스트 분류를 위한 보편적 language model fine-tuning. InACL. Association for Computational Linguistics.
- Hu et al. (2018) Minghao Hu, Yuxing Peng, Zhen Huang, Xipeng Qiu, Furu Wei, and Ming Zhou. 2018. 기계 독해를 위한 강화된 mnemonic reader. InIJCAI.
- Jernite et al. (2017) Yacine Jernite, Samuel R. Bowman, and David Sontag. 2017. 빠른 비지도 문장 표현 학습을 위한 담화 기반 목적함수. CoRR, abs/1705.00557.
- Joshi et al. (2017) Mandar Joshi, Eunsol Choi, Daniel S Weld, and Luke Zettlemoyer. 2017. Triviaqa: 독해를 위한 대규모 원격 지도 challenge dataset. InACL.
- Kiros et al. (2015) Ryan Kiros, Yukun Zhu, Ruslan R Salakhutdinov, Richard Zemel, Raquel Urtasun, Antonio Torralba, and Sanja Fidler. 2015. Skip-thought vectors. InAdvances in neural information processing systems, 3294–3302쪽.
- Le and Mikolov (2014) Quoc Le and Tomas Mikolov. 2014. 문장과 문서의 분산 표현. InInternational Conference on Machine Learning, 1188–1196쪽.
- Levesque et al. (2011) Hector J Levesque, Ernest Davis, and Leora Morgenstern. 2011. Winograd schema challenge. InAaai spring symposium: Logical formalizations of commonsense reasoning, 46권, 47쪽.
- Logeswaran and Lee (2018) Lajanugen Logeswaran and Honglak Lee. 2018. 문장 표현 학습을 위한 효율적인 framework. InInternational Conference on Learning Representations.
- McCann et al. (2017) Bryan McCann, James Bradbury, Caiming Xiong, and Richard Socher. 2017. 번역에서 학습됨: 문맥화된 word vectors. InNIPS.
- Melamud et al. (2016) Oren Melamud, Jacob Goldberger, and Ido Dagan. 2016. context2vec: bidirectional LSTM으로 일반적 context embedding 학습. InCoNLL.
- Mikolov et al. (2013) Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. 2013. 단어와 구의 분산 표현 및 그 구성성. InAdvances in Neural Information Processing Systems 26, 3111–3119쪽. Curran Associates, Inc.
- Mnih and Hinton (2009) Andriy Mnih and Geoffrey E Hinton. 2009. 확장 가능한 계층적 분산 language model. D. Koller, D. Schuurmans, Y. Bengio, and L. Bottou, 편집자, InAdvances in Neural Information Processing Systems 21, 1081–1088쪽. Curran Associates, Inc.
- Parikh et al. (2016) Ankur P Parikh, Oscar Täckström, Dipanjan Das, and Jakob Uszkoreit. 2016. 자연어 추론을 위한 decomposable attention model. InEMNLP.
- Pennington et al. (2014) Jeffrey Pennington, Richard Socher, and Christopher D. Manning. 2014. Glove: 단어 표현을 위한 global vectors. InEmpirical Methods in Natural Language Processing (EMNLP), 1532–1543쪽.
- Peters et al. (2017) Matthew Peters, Waleed Ammar, Chandra Bhagavatula, and Russell Power. 2017. bidirectional language models를 사용한 준지도 sequence tagging. InACL.
- Peters et al. (2018a) Matthew Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, and Luke Zettlemoyer. 2018a. 깊은 문맥화된 단어 표현. InNAACL.
- Peters et al. (2018b) Matthew Peters, Mark Neumann, Luke Zettlemoyer, and Wen-tau Yih. 2018b. 문맥적 word embeddings 해부하기: 아키텍처와 표현. InProceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, 1499–1509쪽.
- Radford et al. (2018) Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. 2018. 비지도 학습으로 언어 이해 향상. 기술 보고서, OpenAI.
- Rajpurkar et al. (2016) Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. 2016. Squad: 텍스트의 기계 이해를 위한 100,000+개 질문. InProceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, 2383–2392쪽.
- Seo et al. (2017) Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, and Hannaneh Hajishirzi. 2017. 기계 이해를 위한 bidirectional attention flow. InICLR.
- Socher et al. (2013) Richard Socher, Alex Perelygin, Jean Wu, Jason Chuang, Christopher D Manning, Andrew Ng, and Christopher Potts. 2013. sentiment treebank 위의 의미 구성성을 위한 recursive deep models. InProceedings of the 2013 conference on empirical methods in natural language processing, 1631–1642쪽.
- Sun et al. (2018) Fu Sun, Linyang Li, Xipeng Qiu, and Yang Liu. 2018. U-net: 답할 수 없는 질문이 있는 기계 독해. arXiv preprint arXiv:1810.06638.
- Taylor (1953) Wilson L Taylor. 1953. “Cloze procedure”: 가독성 측정을 위한 새로운 도구. Journalism Bulletin, 30(4):415–433.
- Tjong Kim Sang and De Meulder (2003) Erik F Tjong Kim Sang and Fien De Meulder. 2003. conll-2003 shared task 소개: 언어 독립적 named entity recognition. InCoNLL.
- Turian et al. (2010) Joseph Turian, Lev Ratinov, and Yoshua Bengio. 2010. 단어 표현: 준지도 학습을 위한 단순하고 일반적인 방법. InProceedings of the 48th Annual Meeting of the Association for Computational Linguistics, ACL ’10, 384–394쪽.
- Vaswani et al. (2017) Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. InAdvances in Neural Information Processing Systems, 6000–6010쪽.
- Vincent et al. (2008) Pascal Vincent, Hugo Larochelle, Yoshua Bengio, and Pierre-Antoine Manzagol. 2008. denoising autoencoders로 견고한 feature들을 추출하고 구성하기. InProceedings of the 25th international conference on Machine learning, 1096–1103쪽. ACM.
- Wang et al. (2018a) Alex Wang, Amanpreet Singh, Julian Michael, Felix Hill, Omer Levy, and Samuel Bowman. 2018a. Glue: 자연어 이해를 위한 multi-task benchmark 및 분석 platform. InProceedings of the 2018 EMNLP Workshop BlackboxNLP: Analyzing and Interpreting Neural Networks for NLP, 353–355쪽.
- Wang et al. (2018b) Wei Wang, Ming Yan, and Chen Wu. 2018b. 독해와 질의응답을 위한 multi-granularity hierarchical attention fusion networks. InProceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Association for Computational Linguistics.
- Warstadt et al. (2018) Alex Warstadt, Amanpreet Singh, and Samuel R Bowman. 2018. 신경망 acceptability judgments. arXiv preprint arXiv:1805.12471.
- Williams et al. (2018) Adina Williams, Nikita Nangia, and Samuel R Bowman. 2018. 추론을 통한 문장 이해를 위한 광범위 범위의 챌린지 코퍼스. 에서NAACL.
- Wu et al. (2016) Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, et al. 2016. Google의 neural machine translation system: 인간 번역과 기계 번역 사이의 격차를 메우기. arXiv preprint arXiv:1609.08144.
- Yosinski et al. (2014) Jason Yosinski, Jeff Clune, Yoshua Bengio, and Hod Lipson. 2014. deep neural networks에서 feature들은 얼마나 전이 가능한가? 에서Advances in neural information processing systems, pages 3320–3328.
- Yu et al. (2018) Adams Wei Yu, David Dohan, Minh-Thang Luong, Rui Zhao, Kai Chen, Mohammad Norouzi, and Quoc V Le. 2018. QANet: reading comprehension을 위해 local convolution과 global self-attention을 결합하기. 에서ICLR.
- Zellers et al. (2018) Rowan Zellers, Yonatan Bisk, Roy Schwartz, and Yejin Choi. 2018. Swag: grounded commonsense inference를 위한 대규모 adversarial dataset. 에서Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing (EMNLP).
- Zhu et al. (2015) Yukun Zhu, Ryan Kiros, Rich Zemel, Ruslan Salakhutdinov, Raquel Urtasun, Antonio Torralba, and Sanja Fidler. 2015. 책과 영화를 정렬하기: 영화를 보고 책을 읽음으로써 이야기 같은 시각적 설명을 향하여. 에서Proceedings of the IEEE international conference on computer vision, pages 19–27.
“BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”의 부록
우리는 부록을 세 개의 섹션으로 구성한다:
Appendix ABERT에 대한 추가 세부사항
A.1 Pre-training Task들의 예시
우리는 다음에서 pre-training task들의 예를 제공한다.
Masked LM과 Masking Procedure
라벨이 없는 문장이 다음이라고 가정하면my dog is hairy, 그리고 random masking procedure 동안 우리가 4번째 token(hairy에 해당함)을 선택했다면, 우리의 masking procedure는 다음으로 더 설명될 수 있다
-
•
80%의 경우: 단어를 다음으로 대체한다[MASK]token, 예:my dog is hairymy dog is [MASK]
-
•
10%의 경우: 단어를 무작위 단어로 대체한다, 예:my dog is hairymy dog is apple
-
•
10%의 경우: 단어를 변경하지 않고 유지한다, 예:my dog is hairymy dog is hairy. 이것의 목적은 representation을 실제 관찰된 단어 쪽으로 bias하는 것이다.
이 procedure의 장점은 Transformer encoder가 어떤 단어들을 예측하도록 요청받을지 또는 어떤 단어들이 무작위 단어로 대체되었는지 알지 못하므로, 다음의 distributional contextual representation을 유지하도록 강제된다는 것이다모든input token. 추가로, 무작위 대체는 모든 token의 1.5%에서만 발생하기 때문에(즉, 15%의 10%), 이것은 모델의 language understanding capability를 해치는 것 같지 않다. SectionC.2, 에서 우리는 이 procedure의 영향을 평가한다.
표준 language model training과 비교하여, masked LM은 각 batch에서 token의 15%에 대해서만 예측을 수행하며, 이는 모델이 수렴하기 위해 더 많은 pre-training step이 필요할 수 있음을 시사한다. SectionC.1에서 우리는 MLM이 left-to-right model(모든 token을 예측함)보다 약간 더 느리게 수렴함을 보이지만, MLM model의 empirical improvement는 증가한 training cost를 훨씬 능가한다.
Next Sentence Prediction
next sentence prediction task는 다음 예들로 설명될 수 있다.
| 입력 | |||
| he bought a gallon [MASK] milk [SEP] | |||
| 레이블 | |||
| 입력 | |||
| penguin [MASK] are flight ##less birds [SEP] | |||
| 레이블 |
A.2 Pre-training Procedure
각 training input sequence를 생성하기 위해, 우리는 corpus에서 두 text span을 sampling하며, 그것들이 일반적으로 단일 문장보다 훨씬 길지만(또한 더 짧을 수도 있음) “sentences”라고 부른다. 첫 번째 sentence는 다음을 받는다Aembedding을 받고 두 번째는 다음을 받는다Bembedding. 50%의 경우B는 다음을 뒤따르는 실제 next sentence이다A그리고 50%의 경우 그것은 무작위 sentence인데, 이는 “next sentence prediction” task를 위해 수행된다. 이들은 결합된 길이가 다음이 되도록 sampling된다512 tokens. LM masking은 WordPiece tokenization 이후 15%의 균일한 masking rate로 적용되며, partial word piece에 대한 특별한 고려는 없다.
우리는 batch size 256 sequences(256 sequences * 512 tokens = 128,000 tokens/batch)로 1,000,000 steps 동안 학습하며, 이는 3.3 billion word corpus에 대해 대략 40 epochs이다. 우리는 learning rate 1e-4의 Adam을 사용하고,, , L2 weight decay는, learning rate warmup은 첫 10,000 steps 동안, 그리고 learning rate의 linear decay를 사용한다. 우리는 모든 layer에서 dropout probability 0.1을 사용한다. 우리는 다음을 사용한다geluactivationHendrycks and Gimpel (2016)표준 대신relu, OpenAI GPT를 따라. training loss는 mean masked LM likelihood와 mean next sentence prediction likelihood의 합이다.
BERT의 training은 Pod configuration의 4 Cloud TPUs(총 16 TPU chips)에서 수행되었다.141414https://cloudplatform.googleblog.com/2018/06/Cloud-TPU-now-offers-preemptible-pricing-and-global-availability.htmlBERT의 training은 16 Cloud TPUs(총 64 TPU chips)에서 수행되었다. 각 pre-training은 완료하는 데 4일이 걸렸다.
더 긴 sequence는 attention이 sequence length에 대해 quadratic이기 때문에 불균형적으로 비용이 많이 든다. 우리 실험에서 pretraing 속도를 높이기 위해, 우리는 steps의 90% 동안 sequence length 128로 model을 pre-train한다. 그런 다음, positional embeddings를 학습하기 위해 나머지 10%의 steps를 sequence of 512로 학습한다.
A.3 Fine-tuning Procedure
fine-tuning의 경우, 대부분의 model hyperparameter는 batch size, learning rate, training epoch 수를 제외하고 pre-training에서와 동일하다. dropout probability는 항상 0.1로 유지되었다. 최적의 hyperparameter 값은 task-specific이지만, 우리는 다음 가능한 값의 범위가 모든 task에서 잘 작동함을 발견했다:
-
•
Batch size: 16, 32
-
•
Learning rate (Adam): 5e-5, 3e-5, 2e-5
-
•
Epoch 수: 2, 3, 4
우리는 또한 큰 data set(예: 100k+ labeled training examples)이 작은 data set보다 hyperparameter 선택에 훨씬 덜 민감하다는 것을 관찰했다. Fine-tuning은 일반적으로 매우 빠르므로, 위 parameter들에 대해 exhaustive search를 단순히 실행하고 development set에서 가장 잘 수행되는 model을 선택하는 것이 합리적이다.
A.4 BERT, ELMo, 및 OpenAI GPT의 비교
여기서 우리는 ELMo, OpenAI GPT 및 BERT를 포함한 최근 인기 있는 representation learning model들의 차이를 연구한다. model architecture들 사이의 비교는 Figure에 시각적으로 표시된다3. architecture 차이 외에도, BERT와 OpenAI GPT는 fine-tuning 접근법인 반면, ELMo는 feature-based 접근법이라는 점에 유의하라.
BERT와 가장 비교 가능한 기존 pre-training method는 OpenAI GPT이며, 이는 큰 text corpus에서 left-to-right Transformer LM을 학습한다. 사실, BERT의 많은 design decision은 두 방법을 최소한으로 비교할 수 있도록 GPT에 가능한 한 가깝게 만들기 위해 의도적으로 이루어졌다. 이 작업의 핵심 주장은 Section에 제시된 bi-directionality와 두 pre-training task가3.1empirical improvement의 대부분을 설명하지만, 우리는 BERT와 GPT가 학습된 방식 사이에 몇 가지 다른 차이도 있음을 언급한다:
-
•
GPT는 BooksCorpus(800M words)에서 학습된다; BERT는 BooksCorpus(800M words)와 Wikipedia(2,500M words)에서 학습된다.
-
•
GPT는 sentence separator ([SEP])와 classifier token ([CLS])을 사용하며, 이들은 fine-tuning 시점에만 도입된다; BERT는 학습한다[SEP], [CLS]그리고 sentenceA/Bembeddings를 pre-training 동안.
-
•
GPT는 batch size 32,000 words로 1M steps 동안 학습되었다; BERT는 batch size 128,000 words로 1M steps 동안 학습되었다.
-
•
GPT는 모든 fine-tuning experiment에 대해 동일한 learning rate 5e-5를 사용했다; BERT는 development set에서 가장 잘 수행되는 task-specific fine-tuning learning rate를 선택한다.
이러한 차이의 효과를 분리하기 위해, 우리는 Section에서 ablation experiment를 수행한다5.1이는 improvement의 대부분이 실제로 두 pre-training task와 그것들이 가능하게 하는 bidirectionality에서 온다는 것을 보여준다.
A.5 서로 다른 Task에서 Fine-tuning의 예시
서로 다른 task에서 BERT를 fine-tuning하는 예시는 Figure에서 볼 수 있다4. 우리의 task-specific model들은 BERT에 하나의 추가 output layer를 결합하여 형성되므로, 처음부터 학습해야 하는 parameter 수는 최소이다. task들 중에서, (a)와 (b)는 sequence-level task이고 (c)와 (d)는 token-level task이다. 그림에서,는 input embedding을 나타내고,는 token의 contextual representation을 나타낸다, [CLS]는 classification output을 위한 special symbol이고,[SEP]는 non-consecutive token sequence들을 분리하기 위한 special symbol이다.
Appendix B상세 Experimental Setup
B.1 GLUE Benchmark Experiments에 대한 상세 설명.
Table의 우리 GLUE 결과는9다음에서 얻어진다https://gluebenchmark.com/leaderboard그리고https://blog.openai.com/language-unsupervised. GLUE benchmark는 다음 dataset들을 포함하며, 그 설명은 원래 다음에서 요약되었다Wang et al. (2018a):
MNLI
Multi-Genre Natural Language Inference는 대규모 crowdsourced entailment classification task이다Williams et al. (2018). 한 쌍의 sentence가 주어졌을 때, 목표는 두 번째 sentence가 첫 번째 sentence에 대해 다음인지 예측하는 것이다entailment, contradiction, 또는neutral인지.
QQP
Quora Question Pairs는 Quora에서 질문된 두 질문이 의미적으로 동등한지 결정하는 것이 목표인 binary classification task이다Chen et al. (2018).
QNLI
SST-2
Stanford Sentiment Treebank는 movie review에서 추출된 sentence들로 구성되고 그 sentiment에 대한 human annotation이 있는 binary single-sentence classification task이다Socher et al. (2013).
CoLA
Corpus of Linguistic Acceptability는 binary single-sentence classification task로, 목표는 English sentence가 언어적으로 “acceptable”인지 아닌지를 예측하는 것이다Warstadt et al. (2018).
STS-B
Semantic Textual Similarity Benchmark는 news headline과 기타 source에서 가져온 sentence pair들의 collection이다Cer et al. (2017). 이들은 두 sentence가 semantic meaning 측면에서 얼마나 유사한지를 나타내는 1에서 5까지의 score로 annotation되었다.
MRPC
Microsoft Research Paraphrase Corpus는 online news source에서 자동으로 추출된 sentence pair들로 구성되며, pair의 sentence들이 의미적으로 동등한지에 대한 human annotation이 있다Dolan and Brockett (2005).
RTE
Recognizing Textual Entailment는 MNLI와 유사한 binary entailment task이지만, training data가 훨씬 적다Bentivogli et al. (2009).151515이 논문에서 우리는 single-task fine-tuning 결과만 보고한다는 점에 유의하라. multitask fine-tuning approach는 잠재적으로 성능을 더 밀어올릴 수 있다. 예를 들어, 우리는 MNLI를 사용한 multi-task training으로 RTE에서 상당한 improvement를 관찰했다.
WNLI
Winograd NLI는 작은 natural language inference dataset이다Levesque et al. (2011). GLUE webpage는 이 dataset의 구성에 문제가 있다고 언급한다,161616https://gluebenchmark.com/faq그리고 GLUE에 제출된 모든 trained system은 majority class를 예측하는 65.1 baseline accuracy보다 나쁘게 수행했다. 그러므로 우리는 OpenAI GPT에 공정하기 위해 이 set을 제외한다. 우리의 GLUE submission에서는 항상 majority class를 예측했다.
Appendix C추가 Ablation Studies
C.1 Training Steps 수의 효과
Figure5는 다음 동안 pre-trained된 checkpoint에서 fine-tuning한 후의 MNLI Dev accuracy를 제시한다steps. 이것은 우리가 다음 질문들에 답할 수 있게 한다:
-
1.
질문: BERT는 높은 fine-tuning accuracy를 달성하기 위해 정말로 이렇게 많은 양의 pre-training(128,000 words/batch * 1,000,000 steps)이 필요한가?
답변: 그렇다, BERT는 500k steps와 비교하여 1M steps로 학습될 때 MNLI에서 거의 1.0%의 추가 accuracy를 달성한다. -
2.
질문: 각 batch에서 모든 단어가 아니라 단어의 15%만 예측되므로, MLM pre-training은 LTR pre-training보다 더 느리게 수렴하는가?
답변: MLM model은 LTR model보다 약간 더 느리게 수렴한다. 그러나 absolute accuracy 측면에서 MLM model은 거의 즉시 LTR model을 능가하기 시작한다.
C.2 서로 다른 Masking Procedure에 대한 Ablation
Section에서3.1, 우리는 BERT가 masked language model (MLM) 목표로 사전 학습할 때 대상 토큰을 마스킹하기 위해 혼합 전략을 사용한다고 언급한다. 다음은 서로 다른 마스킹 전략의 효과를 평가하기 위한 ablation study이다.
마스킹 전략의 목적은 사전 학습과 fine-tuning 사이의 불일치를 줄이는 것임에 유의하라. 왜냐하면[MASK]기호는 fine-tuning 단계 동안 결코 나타나지 않기 때문이다. 우리는 MNLI와 NER 모두에 대한 Dev 결과를 보고한다. NER의 경우, 우리는 fine-tuning 접근법과 feature-based 접근법을 모두 보고하는데, 모델이 표현을 조정할 기회를 갖지 못하므로 feature-based 접근법에서 불일치가 증폭될 것으로 예상하기 때문이다.
| 마스킹 비율 | Dev Set 결과 | ||||
|---|---|---|---|---|---|
| Mask | Same | Rnd | MNLI | NER | |
| Fine-tune | Fine-tune | Feature-based | |||
| 80% | 10% | 10% | 84.2 | 95.4 | 94.9 |
| 100% | 0% | 0% | 84.3 | 94.9 | 94.0 |
| 80% | 0% | 20% | 84.1 | 95.2 | 94.6 |
| 80% | 20% | 0% | 84.4 | 95.2 | 94.7 |
| 0% | 20% | 80% | 83.7 | 94.8 | 94.6 |
| 0% | 0% | 100% | 83.6 | 94.9 | 94.6 |
결과는 Table에 제시되어 있다8. 표에서,Mask는 우리가 MLM을 위해 대상 토큰을[MASK]기호로 대체한다는 것을 의미한다;Same은 우리가 대상 토큰을 그대로 유지한다는 것을 의미한다;Rnd는 우리가 대상 토큰을 다른 무작위 토큰으로 대체한다는 것을 의미한다.
표의 왼쪽 부분의 숫자들은 MLM 사전 학습 동안 사용된 특정 전략들의 확률을 나타낸다(BERT는 80%, 10%, 10%를 사용한다). 논문의 오른쪽 부분은 Dev set 결과를 나타낸다. Feature-based 접근법의 경우, 우리는 BERT의 마지막 4개 층을 feature로 연결하는데, 이는 Section에서 최선의 접근법으로 나타났다5.3.
표에서 fine-tuning이 서로 다른 마스킹 전략에 놀랄 만큼 robust하다는 것을 볼 수 있다. 그러나 예상대로, 오직Mask전략만 사용하는 것은 feature-based 접근법을 NER에 적용할 때 문제가 있었다. 흥미롭게도, 오직Rnd전략만 사용하는 것 역시 우리의 전략보다 훨씬 더 나쁘게 수행된다.