Abstract

논문에서는 새로운 Language represent Model BERT(Bidirectional Encoder Representations from Transformers)를 제안합니다. BERT는 많은 수의 unlabeled 텍스트를 pre-training 한 후, 각 세부 task에 맞는 fine-tuning을 합니다. 11개의 NLP task에서 state-of-the-art를 거두었습니다.

출처 - https://arxiv.org/pdf/1810.04805.pdf

출처 - https://arxiv.org/pdf/1810.04805.pdf

BERT

Model Architecture

BERT의 구조는 Transformer의 인코더 부분과 동일합니다. 다만 조금 커졌을 뿐입니다.

출처 - http://jalammar.github.io/illustrated-transformer/

출처 - http://jalammar.github.io/illustrated-transformer/

위 그림은 Transformer Encoder의 한 층을 나타냅니다. BERT는 Transformer의 Encoder 구조에서 Encoder 층의 개수(L), multi-head attention vector 길이(H), multi-head attention 개수(A)만 바꾸었습니다. 이 때 H = 64(self-attention 벡터 길이)*A 입니다.

Transformer의 경우 Decoder의 loss가 Encoder 까지 이어져 학습이 진행되었습니다. 하지만 BERT는 하단에 서술할 pre-training의 두가지 방법의 loss를 사용하여 학습합니다.

Input/Output Representations

자연어 처리의 task에는 한 문장만 사용하는 single sentence classification task(e.g. SST-2, CoLA) 뿐 아니라 Question Answering(e.g. SQuAD) 과 같은 여러 문장을 사용하는 task도 존재합니다. BERT는 다양한 task에 모두 사용할 수 있는 pre-trained 모델을 만들기 위해 하나의 문장 뿐만 아니라 문장 쌍을 함께 학습합니다.