ML&DL

BERT

ritz 2021. 9. 27. 16:47

 BERT 

Bidirectional Encoder Representations from Transformers


BERT란?

  • Encoder: 입력값을 양방향으로 처리함.
  • Decoder: 입력값을 왼쪽에서 오른쪽으로 단방향 처리함.
    • 단어를 하나씩 읽어가면서 다음 단어를 예측하는 방식(왼→오)
  • 잘 만들어진 BERT 언어모델 위에 1개의 classification layer만 부착하여 다양한 NLP task를 수행

 

Bidrectional Encoder Representations from Transformers

: Transformer의 양방향 인코더를 사용한 사전학습 모델

기존의 RNN, CNN 계열의 신경망 구조를 탈피하여 Self-Attention 기법을 사용한 기계번역 신경망

→ 양방향으로 문맥을 이해할 수 있음.

  • 기존 LM(Language Model)은 현재까지 읽은 단어를 통해서 다음 단어를 예측하도록 학습됨.
  • 반면에 BERT는 동일한 문장을 그대로 학습하되, 가려진 단어(masked token)를 예측하도록 학습됨.

 

Overall Procedures

 

 

  • BERT는 Pre-training과 Fine-tuning 단계로 나뉘어짐.
  • Pre-training
    •  
    • Masked Language Model(MLM)
      • [Mask] 토큰을 예측하는 사전학습을 진행함.
      • 해당 토큰을 맞추어 내는 task를 통해 문맥을 파악하는 능력을 기르게 됨. (Bidirectional)
    • Next Sentence Prediction(NSP)
      • 두 문장 사이의 관계를 이해하기 위해 학습함.
  • Fine-tuning
    1. Sentence Pair Classification
    2. Single Sentence Classification
    3. Question Answering
    4. Single Sentence Tagging
  • 다양한 사전학습 모델(PLM, Pre-trained Language Model) 존재

→ 사전학습을 통해 언어를 이해한 후, fine-tuning을 통해 특정 자연어 처리 문제에 적용하는 것

 

 

BERT 활용 분야

1. Single Sentence Classification(문장 한 개 분류)

  • 문장 라벨 예측
  • 스팸 찾기, 문서 카테고리 분류, 감성 분류 등

 

2. Sentence Pair Classification (문장 두 개 관계 분류)

  • 문장 두 개간 관계 분석
  • 의역, 같은 종류 문장끼리 분류 등

 

3. Single Sentence Tagging (문장 내 단어 라벨링)

  • 한 문장 내 단어 레이블 예측
  • 개체명 인식, 품사 태깅 등

 

4. Question Answering (묻고 답하기)

  • 입력값으로 [질문, 정답 포함된 단락]을 [SEP] 토큰(문장 구분 토큰)으로 구분하여 줌.
  • 출력값의 마지막 토큰들이 단락 속에 포함된 정답의 시작 인덱스와 마지막 인덱스를 출력하도록 학습시킴.