[논문리뷰] BERT : Pre-training of Deep Bidirectional Transformers for Language Understading

두꺼비·2022년 2월 12일
7

논문 리뷰

목록 보기
1/3
post-thumbnail

1. Introduction

pre-trained language 적용 방법은 두가지가 있다.

feature-based

대표적인 예시로 ELMo가 있으며, pre-trained representation을 부가적인 feature로 포함하여 사용한다.
모델이 학습한 features를 그대로 사용하는 방법이라고 할 수 있다.

fine-tuning

대표적인 예시로 GPT가 있으며, 특정 task에 특화된 파라미터들을 최소화 하고, 사전 학습된 모든 파라미터들을 fine-tuning함으로 학습이 된다.


위 두 모델 모두 unidirectional 언어 모델이다.

unidirectional 모델에는 단점이 있는데, OpenAI GPT의 경우 왼쪽에서 오른쪽으로 이동하는 구조이기 때문에 이전의 토큰에 대해서만 attend할 수 있다는 것이다. 이러한 구조는 오른쪽, 왼쪽 양 쪽의 문맥을 이해해야하는 QA에서는 위험할 수 있다.

따라서 이 논문에서는 fine-tuning을 향상시키기 위한 BERT를 제안한다.

BERT

BERT는 Bidirectional 모델이다.
BERT는 MLM(masked language model)을 사용하여 성능을 향상시켰다.
MLM은 임의의 input 토큰들을 마스크 처리하고, 마스크된 토큰들의 원래 vocabulary id를 문맥으로 추론하는 것이 목적이다. 이러한 방식을 통해 MLM은 왼쪽과 오른쪽 문맥 모두를 학습 할 수 있게된다. 그리고 추가적으로, MLM은 next sentence predicton도 함께 수행한다.

pre-training general language representation의 가장 널리 쓰이고 있는 접근방법 몇가지를 알아보자.

2-1. Unsupervised Feature-based Approaches

단어의 representation 방식

  • neural
  • non-nenral

ELMo는 단어 임베딩을 위해 left-to-right, right-to-left에서 각각 context-sensitive features를 추출하고, concatenate(연결)한다.

2-2. Unsupervised Fine-tuning Approaches


최근의 endcoder는 레이블링이 되지 않은 text로 pre-train을 하고 fine-tuning을 한다. 이러한 방식은 적은 개수의 파라미터들로 학습을 할 수 있다는 장점을 갖고있다.

2-3. Transfer learning from Supervised Data

natural language inference나 machine translation 같은 큰 datasets에서 transfer learning이 효과적으로 쓰인다. 또한 컴퓨터 비전에서도 large pre-trained 모델에서 transfer learning이 중요하다는 것이 입증되었다.

3. BERT

BERT는 크게 두가지로 나눌 수 있다.

  • pre-training
  • fine-tuning

pre-training

레이블링이 되지 않은 데이터를 통해 학습이 진행된다.

fine-tuning

맨 처음엔 pre-trained된 파라미터로 초기화가 되고, 모든 파라미터들은 레이블링이 된 데이터를 통해 fine-tuning이 된다.


각 downstreams들은 처음에 같은 pre-trained모델로 초기화 되었어도 다른 fine-tuned모델을 가지게 된다.

Model Architecture

BERT는 bidirectional Transformer encoder로 이루어진 다중 레이어 구조이다.

  • BASE모델
    • layers : 12
    • hidden size = 768
    • self-attention heads = 12
    • Total Parameters : 110M
  • LARGE모델
    • layers : 12
    • hidden size = 1024
    • self-attention heads = 16
    • Total Parameters = 340M

Input/Output Representations

다양한 down-stream tasks를 다루기 위해선, input representation 또한 중요하다. token sequence에서 한 문장이나 짝이 되는 문장의 표현은 모호하지 않아야한다.

여기서 문장은 실제의 문장을 뜻하는 것이 아닌 일련의 연속적인 text의 span을 말한다.
또한 sequence는 BERT의 input 토큰들로, 한 문장이거나 함께 묶인 두개의 문장을 말한다.

모든 시퀀스의 첫번째 토큰은 [CLS](special calssification token)로 이루어져 있다. 시퀀스는 두개의 문장으로 이루어져있을 수도 있는데 이를 구별해주기 위한 방법이 두 가지가 있다.

  • 두 문장 사이에 [SEP]토큰을 넣어 구별해준다.
  • 모든 토큰마다 어떤 문장에 속해있는지 나타내주는 학습된 임베딩을 추가해준다.

주어진 토큰에서 일치하는 토큰과 segment와 position embeddings를 더함으로써 input representation을 얻을 수 있다.

3-1. Pre-training BERT

전통적인 방식(left-to-right, right-to-left)과 다르게 BERT는 두개의 비지도학습 tasks를 이용하여 pre-train시킨다.

Task #1 : Masked LM

BERT는 전체 토큰들 중 15%의 토큰들을 mask한다.
15%의 토큰들 중 80%는 [MASK]로 치환하고, 10%는 랜덤한 토큰으로 치환하고, 나머지 10%는 기존 토큰을 그대로 사용한다.

그리고 나서 cross entropy loss를 이용하여 원래의 토큰을 예측하며 학습을 진행한다.

Task #2 : Next Sentence Prediction (NSP)

두 문장 사이의 관계를 이해하는 task이다. 두 문장 A, B가 입력으로 주어졌을 때, 50%는 실제로 B가 A의 다음 문장일 경우고, 나머지 50%는 A와 관계가 없는 랜덤한 문장이다. 전자의 경우에는 IsNext 레이블링이 되고, 후자의 경우 NotNext 레이블링이 된다. 이 task는 QA와 NLI(문장추론)에 있어서 매우 효과적이다.

Pre-training data

  • BooksCorpus (800M words)
  • Wikipedia (2,500M words)

3-2. Fine-tuning BERT

BERT는 두 문장이 입력으로 주어졌을 때 따로따로 encode하는 것이 아니라 self-attention을 통해 concatenate된 text pair(하나의 시퀀스)를 encoding한다. 또한 fine-tuning을 할 때 모든 마라미터들을 end-to-end로 업데이트한다.
또한 fine-tuning은 pre-training보다 훨씬 경제적이다.

4. Experiments

BERT의 fine-tuning 결과이다.
실험 task들은 다음과 같다.

4-1. GLUE

사람이 쉽게 풀 수 있는 자연어 문제를 종류 별로 나눠 8개를 모아둔 밴치마크이다.

4-2. SQuAD v1.1

Wikipedia에서 추출하여 만든 질의응답 벤치마크이다.

4-3. SWAG

어떤 문장 뒤에 올 자연스러운 문장을 고르는 task이다.

5. Ablation Studies

5-1. Effect of Pre-training Tasks

5-2. Effect of Model Size

5-3. Peature-based Approach with BERT

6. Conclusion

언어 모델과의 전이 학습으로 인한 최근의 경험적 개선은 풍부하고 감독되지 않은 사전 훈련이 많은 언어 이해 시스템의 필수적인 부분임을 입증했다. 특히, 이러한 결과는 저자원 작업도 심층 단방향 아카이빙의 이점을 누릴 수 있게 한다. 우리의 주요 기여는 이러한 발견을 심층 양방향 보관으로 일반화하여 동일한 사전 훈련된 모델이 광범위한 NLP 작업을 성공적으로 처리할 수 있도록 하는 것이다.

profile
두꺼비는 두껍다

1개의 댓글

comment-user-thumbnail
2022년 2월 18일

논문 정리를 정말 잘하시는 것 같아요!

답글 달기