Self-supervised Pre-training Models¶
✅ GPT-1¶
- 효과적인 전이 학습을 달성하기 위해
<S>
,<E>
,$
와 같은 특수 토큰을 도입 - 초창기 모델
- 12-layer decoder-only transformer
- 12 head / 768 dimensional states
- GELU activation unit
✅ BERT¶
Language models은 오직 왼쪽 문맥을 보고 다음을 예측하거나 오른쪽 문맥을 보고 그 전을 예측하였다. 하지만 언어의 이해는 양방향으로 이루어진다.
1️⃣ Masked Language Model(MLM)¶
- 입력 토큰의 일부 비율을 무작위로 마스킹 한 다음 마스킹 된 토큰을 예측합니다.
- 예측 단어의 15% 중
- 80 %의 경우 [MASK]로 교체
- 10 %의 경우 임의의 단어로 대체
- 10 %의 경우 문장을 동일하게 유지
🎓 방법¶
입력 단어의 k%를 마스킹 한 다음 마스킹 된 단어 예측
- 마스킹이 너무 적은 경우 : train 비용이 너무 많이 든다.
- 마스킹이 너무 많은 경우 : 문맥을 파악하기 충분하지 않다.
❗ 문제점¶
fine-tuning동안에 볼 수 없는 마스크 토큰
📖 해결책¶
단어의 15%를 예측하지만 100% [MASK]로 바꾸지 않는다.
80%의 경우 [MASK]로 교체
– went to the store → went to the [MASK]10%의 경우 임의의 단어로 대체
– went to the store → went to the running10%의 경우 동일한 문장 유지
– went to the store → wnet to the store
2️⃣ Next Sentence Prediction(NSP)¶
- 문장 간의 관계를 배우려면 문장 B가 문장 A에 이어지는 실제 문장인지 또는 무작위인지 예측.
[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
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 |