특정 자연어 Task 를 해결하기 위해서는 다양한 Label이 요구됨. 특히, format도 매우 복잡함
수많은 텍스트 데이터들이 레이블이 없이 존재함
(가정) 주어진 문장에 대한 함축적인 문맥을 이해할 수 있다면 다양한 Task에 적용 가능
Fine tunning (cv)
Transfer learning
Few shot, zero shot
- Query image : 추론할 입력 데이터
- Training set : 모델이 학습하는 데이터셋
- Support set : 추론해야 하는 셋
Gpt-1 bert gpt-2 gpt3 순으로 연구
GPT = “ Generative Pre-Training “
비지도학습 기반의 pre-training 과 지도학습 기반의 fine-tunning 을 결합한 semi-supervised learning
그래서 다양한 자연어 task에서 fine-tunning 만으로도 좋은 성능을 보이는 범용적인 자연어 representation 을 학습하는 것
2 stage 로 구성되어 있으며 transformer의 decoder 구조를 사용함
기존 RNN 대비 좋은 성능을 보였으며 일반화 성능 확인
Task-specific input transformations
- 기존: Task specific 구조에 기반한 학습, 구조에 종속되기 때문에 task 가 변할 때 마다 많은 커스터마이즈 요구
GPT-1
- Pre-training model이 적용될 수 있도록 input 구조를 convert
- Layer 가 증가함에 따라 정확도가 높아지는 것을 확인
- LSTM과 비교하여 다양한 task에서 일반화 성능 확인
BERT = “Bidirectional Encoder Representations from Transformer”
Wiki & book data 와 같은 대용량 unlabeled data로 pre-training 시킨 후, 특정 task 에 transfer learning 을 함
GPT와의 차이? -> unidirectional vs bidirectional
GPT와는 달리 새로운 네트워크를 붙이지 않고 fine-tunning 만을 진행함
GPT-1 : Unsupervised pre-training -> BERT : Masked Language Model(MLM) & Next sentence prediction
Next sentence prediction
- 문장간 관계를 알아내기 위한 task, 두 문장이 실제 corpus 에서 이어져 있는지 아닌지 확인
- 50% 는 실제 이어져 있는 문장
Pre-training 프로세스는 GPT-1과 같음
MLM
- [MASK] 비율 : 15%
- Tokenization : Wordpiece
- LM 의 left-to-right 와는 달리, [MASK] 를 추론하는 task 수행
- Fine tunning 에는 사용되지 않음
MLM
- [MASK] 생성 과정
- 80% : token 을 [MASK]로 변환
- 10% : token 을 임의의 단어로 변경
- 10% : 원래의 단어 token 으로 둠
- Pre-trained 되는 transformer encode의 입장에서는 contextual representation 학습
Fine-tunning
- Sequence-level classification
- [CLS] token 의 output 사용
- CLS output 에 W matrix 를 곱해주고 softmax를 취해 준다.
- Span-level, token-level prediction
GLUE
- 다양한 task를 모아놓아 종합적인 자연어 이해 능력 테스트가 가능한 벤치마크
- 대부분의 task에 SOTA
- 특히, 데이터 크기가 작아도 fine-tunning 후에는 좋은 성능
SQuAD
- GLUE는 sequence classification
- SQuAD 는 질문 과 지문이 주어지고, substring 인 정답 찾기
- 질문 A, 지문 B 지문에서 substring 찾기 문제
- Start vector와 end vector의 dot product를 하여 찾기
SWAG
- Grounded common-sense inference
- 문장이 주어지고, 가장 잘 이어지는 문장 찾기
- 주어진 문장 A, 가능한 문장들 B
CoNLL-2003
- 각각의 단어가 어떤 형식인지
- Person, Organization, Location …
- 토큰마다 classifier 붙이기
Ablation studies
- Pre-train 을 하나라도 제거하면 성능 감소가 일어남
- No NSP -> 자연어 추론 계열(NLI)에서 성능 감소 폭 큼
- MLM 대신 LTR -> 성능이 매우 감소함
- 모델 사이즈가 커질수록 성능 향상
- MLM이 많은 training이 필요하지만 성능향상 확인
Zero shot?
- 문장의 긍/부정 -> what do you think about this sentence ? 같은 질문 추가
- 문장 요약 -> What is the summary of … ? 추가
- 번역 -> what is translated sentence in Korean? 추가
Byte pair Encoding
- Word Piece model (BERT)
- 모든 단어 시작에는 _
1. 모두 캐릭터 단위로 분리
2. 각각의 캐릭터에서 빈도수 측정
1. 빈도수가 가장 높은 유니그램의 쌍을 통합함
너무너무너무너무너무 어렵다 ㅠㅠ...
💻 출처 : 제로베이스 데이터 취업 스쿨