BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding(24 May 2019)

2025. 2. 20. 10:27친해지기, 논문

* 원문 논문 아카이브

https://arxiv.org/abs/1810.04805

 

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional representations from unla

arxiv.org

 

0. Abstract

  • BERT(Bidirectional Encoder Representations from Transformers)
    • 모든 층에서 왼쪽과 오른쪽 문맥을 동시에 조건화해 비지도 텍스트로부터 심층 양방향 표현을 사전 학습 하도록 설계. => 추가적인 출력층 하나만으로 Finetuned 가능.
    • 개념적으로도 간단하며 경험적으로 강력.

 

1. Introduction

  • 언어 모델의 사전 학습은 자연어 처리(NLP)에서 효과 입증.
  • 사전 학습된 언어 표현을 하위 작업에 적용하는 기존 두가지 전략.
    1. 기능 기반(feature-based) 접근법 : ELMo 같이 사전 학습된 표현을 추가 기능으로 포함하는 작업 특화 아키텍처.
    2. 미세 조정(fine-tuning) 접근법 : GPT 같이 최소한의 작업 특화 매개변수를 도입하고, 매개변수를 단순히 미세 조정하여 하위 작업에서 훈련.
  • 위 두 접근법은 사전 학습동안 동일한 목적 함수를 공유하고, 단방향 언어 모델을 사용.
  • 단방향 언어 모델은 Transformer의 Self-Attention 층에서 이전 토큰에만 Attention을 하므로 문장 수준의 작업에는 최적이 아님.
  • BERT는 "마스킹 된 언어 모델(MLM)" 을 사용해 단방향성 제약을 완화.
  • "다음 문장 예측(Next Sentence Prediction" 을 사용해 텍스트 쌍 표현을 공동으로 사전 학습함.

 

2. Related Work

2.1. Unsupervised Feature-based Approachs

  • 사전 학습된 단어 임베딩은 현대 NLP 시스템의 필수적 부분.
  • ELMo와 그 이전 모델들은 전통적인 단어 임베딩 연구를 다른 차원에서 일반화.
    • 한 방향을 가진 언어 모델에서 문맥의 민감한 특징 추출(제한적 어텐).
  • 기능 기반 접근법의 단방향 모델.

2.2. Unsupervised Fine-tuning Approachs

  • 초기 연구는 비지도 텍스트에서 단어 임베딩 매개변수만을 사전 학습.
  • 최근에는 문맥 토큰 표현을 생성하는 문장 또는 문서 인코더가 비지도 텍스트로 부터 사전 학습되고, 이를 지도된 하위 작업에 대해 미세 조장하는 방식.
  • 미세조정 접근법은 처음에 학습해야 할 매개변수가 적음.

2.3. Transfer Learning from Supervised Data

  • 대규모 사전 학습 모델로부터 전이 학습을 하는 것의 중요성을 입증.(ImageNet)

그림 1.

 

3. BERT

  • BERT 에는 '사전 학습' 과 '미세 조정' 두 가지의 단계.
  • 사전 학습 동안 모델은 다양한 사전 학습 작업에 대해 비지도 데이터에서 훈련.
  • 미세 조정 단계에서는 BERT 모델이 사전 학습된 파라미터로 초기화되고, 모든 파라미터가 하위 작업의 라벨이 있는 데이터를 사용하여 미세 조정.
  • 각 하위 작업은 별도의 Finetuned 된 모델을 가지며, 이 모델들은 동일한 사전 학습된 파라미터로 초기화.(그림 1.)
  • 본 연구에서는 number of layers = L, hidden size = H, number of self-attention head = A로 표기.
  • BERT가 다양한 하위 착업 처리할 수 있게 입력 표현은 단일 문장과 문장 쌍(예 : 질문과 답변)을 하나의 토큰 시퀀스에서 표현.
  • 30,000개의 토큰 어휘를 가진 WordPiece 임베딩을 사용.
  • 문장 쌍은 단일 시퀀스로 포장되며 모든 시퀀스의 첫 번째 토큰은 항상 '[CLS]' 토큰.
    • 이 토큰은 최종 은닉 층에서 분류 작업을 위한 집계 시쿼스 표현으로 사용.
  • 문장 쌍에서 문장을 구분하는법.
    • '[SEP]' 토큰으로 구분.
    • 각 토큰에 학습된 임베딩을 추가해 해당 토큰이 어느 문장에 속하는지 표현.
  • 각 토큰의 입력 표현은 'Token Embeddings', 'Segment Embeddings', 'Position Embeddings' 세 가지를 합산해서 구성.(그림 2.)

그림 2.

3.1. Pre-training BERT

  • 두가지 비지도 작업을 사용해 BERT를 사전 학습.(그림 1.의 왼쪽 부분)
  • Task #1: Masked LM
    • Deep Bidirectional Representation(깊은 양방향 표현)을 훈련하기 위해 입력 토큰의 일부를 무작위 마스킹한 다음 마스킹 된 토큰을 예측. -> "마스킹 된 언어모델(MLM, Cloze task)"
    • 각 시퀀스에서 WordPiece 토큰의 15%를 마스킹.
    • 전체 입력을 재구성하는 대신 마스킹된 단어만 예측.
    • 단점은 Finetuned 단계에서 [Mask] 토큰이 나타나지 않으므로 사전학습과 불일치. => 마스킹된 단어를 실제 [MASK] 토큰으로 대체하지 않음.
      • 훈련데이터 생성기가 15%의 확률로 마스킹 토큰 위치 선택. 
        1. 80%의 확률로 [MASK] 토큰으로 대체.
        2. 10%의 확률로 무작위 토큰으로 대체.
        3. 10%의 확률로 변경하지 않음.
  • Task #2: Next Sentence Prediction(NSP)
    • 다음 문장 예측 작업으로 두 문장 간의 관계를 이해하는데 기반.
    • 각 가전 훈련 예제에 대해 문장 A, B를 선택해 예측.
      • 50%의 확률로 문장 B는 A 다음에 오는 실제 문장.(IsNext 라벨)
      • 50%의 확률로 문장 B는 A 다음에 오지 않는 문장.(NotNext 라벨)
    • 그림 1.에서 C는 NSP에 사용됨.
    • 대부분 위키피디아 같은 문서 수준의 코퍼스를 사용함.

3.2 Fine-tuning BERT

  • Transformer의 Self-Attention 매커니즘 덕분에 BERT는 다양한 하위 작업 모델링 가능.

=> 적절한 입력과 출력을 교체하기만 하면 됨.

  • Self-Attention을 통해 연결된 텍스트 쌍을 인코딩하면 두 문장 간의 bidirectional cross attention이 효과적으로 포함됨.

 

감상

  • 비지도 학습에 대한 궁금증을 갖던 중 BERT 가 효과적인 비지도 학습의 시초격이길래 찾아본 논문.
  • BERT를 예전에 꽤나 유용하게 사용했지만 내가 사용한 것은 Finetuning 일 뿐 Pretraining 쪽은 신기했다.
  • 알고있는 개념들을 이렇게라도 정리하니 좋은 것 같다.
  • Attention 논문도 리뷰해야겠다.
728x90