BERT 기초 개념
BERT:
Transformer에서 Encoder만 사용하는데 에떄 Bidirectional 정보만 사용한다.
Pretrain: 언어 모델링 과정
- Masked Language Model(MLM): 특정 위치의 부분을 Masking하고 예측하도록 만든다. 즉, 양방(forward, backward)으로 Masked 단어 주변을 모두 사용해 예측한다.
- Next sentence prediction(NSP): 특정한 두 쌍의 sentence가 들어왔을 때 해당하는 다음 sentence가 들어왔을 때 corpus에서 실직적으로 원래 다음에 등장한 것인지 판별한다.
Fine-Tuning: Pre-train된 모델을 가져와 BERT의 제일 윗단에 하나의 단순한 레이어만을 추가해서 Fine-Tuning 진행한다.
BERT의 모델 구조:
- L: Encoder block의 수
- H: hidden size
- A: Multi-head attention의 수
BERT Input/Output representations
BERT는 다양한 종류의 Task를 다루기 위해 Input representations이 유연하게 구성된다. 즉, Input representation이 하나의 Single sentence 또는 Pair of sentence 모두 받을 수 있다.
- Sentence: 언어학적으로 의미가 있는 문장이 아닌, 단지 연속적인 단어의 나열로 볼 수 있다.
- Sequence: Single Sentence 또는 2개 이상의 Sentence
- CLS: 모든 Sequence의 시작 토큰
- SEP: 두개의 Sentence를 구분하는 토큰
- Final Hidden Vector of special [CLS] token: 감성분류나 다음 문장 예측과 같은 binary Classification 수행
- Final hidden Vector of Nth token: 각각의 위치에 대응하는 토큰이 Encoder를 타고 올라가 최종적으로 BERT가 표현하는 N번째 final hidden vector가 된다.
BERT는 NSP와 Masking된 Token을 동시에 예측하도록 학습하는 것이 목적이다.
BERT Input representations 구성
- Token Embeddings: 각 단어 Token에 대한 Embeddings
- Segment Embeddings: SEP Token을 기준으로 진행. CLS + SEP까지 하나로 Embedding
- Position Embeddings: 상대적인 위치를 사용하는 것으로 Transformer와 같다.
Pretrain Method
Masked Language Model(MLM)
- 전체 Token의 15%가 Random하게 [MASK] Token으로 변경된다.
- BERT 모델을 통과한 최종 Output이 Classification Layer 통과 시 Masked되기 전 실제 토큰이 되도록 학습시키는 것
- 문제점: Masking은 Pretrain 단계에서만 일어나므로 이에 [MAKS]토큰으로 Fine-Tuning 단계에는 존재하지 않는다.
- 해결법: Fine-Tuning에서 i번째 Token이 [Mask]토큰이 될 것이라고 선택이 된다면, 80%는 Masking 하고, 10%는 변환하지 않고, 10%는 Random Token으로 변경한다.
- (80%) my dog is hairy >> my dog is [MASK]
- (10%) my dog is hairy >> my dog is apple
- (10%) my dog is hairy >> my dog is hairy
Nexp Sentence Prediction(NSP)
- Question/Answering 등과 같은 2개 이상의 sentences의 관계에 대한 이해가 바탕되어야 하는데 문장 단위의 Language는 이 관계를 잘 이해할 수 없다.
- BERT는 이를 위해 Binarized next sentence prediction model을 정의한다.
- 50%는 A,B가 붙어 있어 연관된 문장을 가져오고.
- 50%는 A,B가 연관되지 않은 문장을 가져온다.
- [CLS] Token을 통해 Yes/No로 판별 및 예측을 수행한다.
해당 게시글은 유튜브 고려대학교 산업경영학부 DSBA 연구실의 BERT 영상을 바탕으로 작성된 글입니다.