BERT 메모

0. Architecture

  • BERT Base: 12 transformer block(Encoder part with 12 self attention head)
  • BERT Large: 24 transformer block(Encoder part with 16 self attention head)
  • 참고
    • Transformer는 6 stacked encoder(each of encoder have 8 head attention layer) & decoder
    • GPT: 12 transformer block(Decoder part with 12 multi-head attention )

1. Pretrain

  • feature based vs fine tunning
    • feature based approach: eg.ELMo
    • fine tunning approach: pretrained parameter eg. BERT, GPT

1.1. Embedding

  • embedding input data
    • token embedding
    • segment embedding: 문장A or B
    • position embedding: 문장 내 위치를 반영한 embedding(learnable)
    • 논문 그림 참조

1.2. Masked Language Model

  • 문장 전체를 input(not LTR). 중간중간 masking.
  • 문장의 15% masking, 실제 정답 맞추기
  • masking 80%는 blank([MASK]) -> 기대효과: 문맥파악
  • masking 10%는 random 단어([wrong_token]) -> 기대효과: 비문판별
  • masking 10%는 원래 단어 그대로([answer_token]) -> 기대효과: 비문판별

1.3. NSP

  • 문장 순서 맞추는 훈련. (A 다음 문장은? B)
  • 일련의 두 문장을 뽑음
  • 10%는 실제 문장을 truncate하여 짧게 구성

2. fine tuning on different task

< !-- add by yurixu 替换Google的jquery并且添加判断逻辑 -->