Self-Supervised Pre-training Models

Self-supervised Pre-training Models


✅ GPT-1

  • 효과적인 전이 학습을 달성하기 위해 <S>, <E>, $와 같은 특수 토큰을 도입
  • 초창기 모델

image.png

  • 12-layer decoder-only transformer
  • 12 head / 768 dimensional states
  • GELU activation unit

image.png



✅ BERT

Language models은 오직 왼쪽 문맥을 보고 다음을 예측하거나 오른쪽 문맥을 보고 그 전을 예측하였다. 하지만 언어의 이해는 양방향으로 이루어진다.


1️⃣ Masked Language Model(MLM)

  • 입력 토큰의 일부 비율을 무작위로 마스킹 한 다음 마스킹 된 토큰을 예측합니다.
  • 예측 단어의 15%
    • 80 %의 경우 [MASK]로 교체
    • 10 %의 경우 임의의 단어로 대체
    • 10 %의 경우 문장을 동일하게 유지

🎓 방법

입력 단어의 k%를 마스킹 한 다음 마스킹 된 단어 예측

image.png

  • 마스킹이 너무 적은 경우 : train 비용이 너무 많이 든다.
  • 마스킹이 너무 많은 경우 : 문맥을 파악하기 충분하지 않다.


❗ 문제점

fine-tuning동안에 볼 수 없는 마스크 토큰


📖 해결책

단어의 15%를 예측하지만 100% [MASK]로 바꾸지 않는다.

  • 80%의 경우 [MASK]로 교체
    – went to the store → went to the [MASK]

  • 10%의 경우 임의의 단어로 대체
    – went to the store → went to the running

  • 10%의 경우 동일한 문장 유지
    – went to the store → wnet to the store


2️⃣ Next Sentence Prediction(NSP)

  • 문장 간의 관계를 배우려면 문장 B가 문장 A에 이어지는 실제 문장인지 또는 무작위인지 예측.

image.png

[CLS] 토큰의 embedding vector를 가지고 output layer하나를 두어 이진 분류를 하게 된다. 이 두 문장이 실제 이어지는 문장인지 아닌지 분류하는 작업을 한다.


📌 요약

1. Model Architecture

L: layer, H: Hidden state Dimention A: Attention Head

  • BERT BASE: L=12, H=768, A=12
  • BERT LARGE: L=24, H=1024, A=16

image.png

2. Input Representation

  • WordPiece(SubWord) embeddings(30,000WordPiece)
  • Learned positional embedding (학습된 sequence의 위치 정보)
  • [CLS] - Classification embedding
  • Packed sentence embedding [SEP] (문장 끝에 들어오는 토큰)
  • Segment Embedding (문장이 A인지 B인지를 반영하는 Vector)

3. Pre-training Tasks

  • Masked LM
  • Next Sentence Prediction

'AI > 이론' 카테고리의 다른 글

검색 엔진에서는 그래프를 어떻게 활용할까?  (0) 2021.02.23
실제 그래프는 어떻게 생겼을까?  (0) 2021.02.22
그래프란 무엇이고 왜 중요할까?  (0) 2021.02.22
Advanced Self-Supervised Pre-training Models  (0) 2021.02.19
Transformer 이론  (0) 2021.02.18
Beam search and BLEU  (0) 2021.02.17
Seq2Seq  (0) 2021.02.17
LSTM and GRU  (0) 2021.02.16

+ Recent posts