AI/논문 리뷰

[논문 리뷰] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (1)

sangwonYoon 2023. 10. 1. 23:03

기존 연구 한계

ELMo의 한계

ELMo는 사전 학습된 language representation을 downstream task에 옮길 때 feature-based 방식을 사용한다. 이 방식은 task에 특화된 모델 구조가 필요하다는 특징이 있다.

또한, 토큰의 contextual representation을 단순히 left-to-right과 right-to-left representation을 concat하는 방식으로 구하는 shallow bidirectional 구조를 갖는다. 2개의 unidirectional 모델을 합쳐 하나의 shallow bidirectional 구조를 만듦으로써 (1) 비용이 2배로 증가하고, (2) Question Answering task에서 right-to-left 모델은 질문을 확인하지 못한 채 passage의 토큰의 representation을 생성해야 한다.

 

GPT의 한계

GPT는 사전 학습된 language representation을 downstream task에 옮길 때 fine-tuning 방식을 사용하는데, left-to-right(unidirectional) 구조를 사용하기 때문에 각각의 모든 토큰들이 자신보다 이전에 등장한 토큰과의 attention만 계산할 수 있다는 한계가 존재한다. 이러한 한계는 양방향의 문맥을 고려해야 하는 token-level task에서 치명적이다.

 

 

제안 방법론

Model Architecture

BERT는 양방향 Transformer의 encoder를 여러 층 쌓은 구조를 갖는다.

서로 다른 여러 task들에서 BERT는 동일한 pre-train된 모델 구조에 task에 맞는 classification layer만을 추가하여 사용할 수 있다.

 

Input/Output Representations

이 논문에서 말하는 “문장”은 실제 언어학적인 의미의 문장보다는, 연속적인 텍스트의 임의의 범위를 뜻한다.또한 “sequence”는 BERT의 입력으로 주어지는 토큰의 sequence로, 단일 문장 또는 두 문장이 합쳐진 형태를 의미한다.

[CLS] 토큰

모든 입력 sequence는 [CLS] 토큰으로 시작한다. 이 토큰과 대응하는 최종 hidden state는 sequence representation을 종합하는 역할로, 주로 분류 task에서 활용된다.

 

[SEP] 토큰

서로 다른 문장을 하나의 sequence에 합칠 때, 두 문장을 서로 구분하기 위해 [SEP] 토큰을 사용한다.

 

[CLS] 토큰과 [SEP] 토큰 모두 GPT에서도 사용되었지만, GPT에서는 두 토큰이 fine-tuning 시점에서만 등장한 반면, BERT는 사전 학습 시점부터 두 토큰을 활용한다.

 

input representation

input representation은 token embedding, segment embedding, position embedding의 합으로 나타낼 수 있다.

token embedding은 WordPiece embedding 기법을 사용한다.

segment embedding은 해당 토큰이 A 문장인지, B 문장인지 구분하는 역할을 한다. 위 그림에서 “my dog is cute” 문장은 A 문장에 해당하므로, A 문장의 토큰에 대응하는 segment embedding은 모두 동일하다.

position embedding은 Transformer에서 사용한 방식과 동일하다.

 

Masked LM

BERT는 deep bidirectional 구조의 모델이기 때문에 양방향의 문맥을 활용하는 사전 학습 방법이 필요했다. 이를 위해 등장한 것이 Masked LM이다. masked LM은 입력 토큰의 일부를 [MASK] 토큰으로 치환하고, 이 [MASK] 토큰이 원래 어떤 토큰이었는지 예측하는 학습 방법이다.

그러나 이러한 방식은 [MASK] 토큰이 fine-tuning 시점에 등장하지 않기 때문에 사전 학습과 fine-tuning 사이의 간극이 발생한다는 문제점이 존재했다. 이 문제를 해결하기 위해 선택된 토큰들을 모두 [MASK] 토큰으로 치환하는 대신, (1) 80%의 확률로 [MASK] 토큰으로 치환하거나 (2) 10% 확률로 임의의 토큰으로 치환하거나 (3) 10%의 확률로 토큰을 바꾸지 않았다.

 

Next Sentence Prediction

Question Answering, Natural Language Inference와 같은 NLP의 주요 downstream task들은 두 문장간의 관계를 이해하는 것이 중요하다. 이를 학습하기 위해 BERT는 사전 학습 단계에서 이진화된 next sentence prediction 학습을 진행한다. 이 학습 방법은 입력 sequence로 주어진 두 문장이 서로 연속적인 문장인지 아닌지를 맞춰가며 학습한다.

 

 

Contribution

  • 이전의 unidirectional 구조 또는 shallow bidirectional 구조의 언어 모델에서 사용된 학습법과 달리 양방향의 문맥을 고려한 사전 학습을 진행하여 모델의 성능을 크게 높였다.
  • task에 특화된 구조를 엔지니어링하는 수고로움을 덜면서도, fine-tuning 기반의 representation 모델을 통해 많은 task에 특화된 구조의 모델들을 압도하는 성능을 보여주었다.
  • 11개의 NLP task에서 SOTA를 달성하며 넓은 확장성과 뛰어난 성능을 입증하였다.

 

이어지는 내용부터는 다음 포스팅에서 이어서 작성하겠습니다.

 

*본 템플릿은 DSBA 연구실 이유경 박사과정의 템플릿을 토대로 하고 있습니다.

 

출처