제목: Universal Language Model Fine-tuning for Text Classification (2018)
링크: https://arxiv.org/abs/1801.06146
0. Abstract:
- 기존의 NLP 방식은 task-specific한 설정과 training from scratch 완전 백지 상태에서 부터 시작을 한다.
- 즉, 경제 기사와 정치 기사를 분류하는 모델을 만들려면, 훈련용으로 많은 양의 경제 기사와 정치 기사를 모아야 하고, 모델은 초기 백지 상태에서 시작을 해야 한다.
- 이런 방식을 대체하기 위해, 이 논문에서 Universal Language Model Fine-tuning (ULMFiT)이라는 효과적인 Transfer Learning (전이 학습) 방법을 구현했다.
- 위의 비유에 대입을 하자면, 경제/정치 기사와 별개로 다른 기사들로 미리 학습된 (pre-trained) 언어 모델을 구성한 후에, 경제/정치의 소스를 덮어서 (Fine-tuning) 모델을 만드는 방식.
- 이 방식으로 적은 양의 학습 데이터로도 훨씬 좋은 성능을 낼 수 있었다고 한다.
1. Introduction
- Transfer Learning은 이미 Computer Vision (CV) 분야에서 이미 큰 영향을 끼쳤다. 이를 바탕으로 응용해보자
- 우선 NLP에서 딥러닝 모델들이 좋은 성능을 보여주고 있지만, 이 모델들은 백지 상태에서 시작하고 많은 양의 데이터를 요구한다.
- NLP는 주로 Transductive transfer 에 초점이 맞춰져 있었다.
- Inductive transfer 에서는 pre-trained된 word embedding은 성능이 좋아서 많이 쓰임
- Pre-trained된 모델을 이용하는 것은 많은 장점을 가져오지만, NLP에서는 몇 가지 이유로 성공적으로 쓰이지 못하고 있다.
- NLP모델은 CV 분야에 비해 모델 깊이가 얕고, 대부분은 Language Model들은 작은 데이터셋에 학습이 되어 overfit된 경향 때문에 fine-tuning을 해도 catastrophic forgetting이 자주 일어난다고 한다.
- Universal Language Model Fine-tuning (ULMFiT)로 아무 NLP 문제에 안정적인 inductive transfer learning을 제공
(* Transductive transfer vs. Inductive transfer)
3. Universal Language Model Fine-tuning
- ULMFiT는 large general-domain corpus에 pretrain 되어 있고, target task에 fine-tune되는 방법론이다.
- “Universal”한 이유는 다음과 같다:
- Works across tasks varying in document size, number and label type = Domain, Task와 환경과 상관 없음
- Uses a single architecture and training process = 한 가지의 아키텍처 및 학습 절차
- Requires no custom feature engineering or preprocessing = 부가적인 Feature Engineering X
- Does not require additional in-domain documents or labels = 추가적인 문서 및 레이블 X
- 실험에서 사용한 Language Model은 그 당시 SOTA였던 AWD-LSTM
4. Experiments & Results
- 6개의 잘 알려진 NLP 데이터셋을 사용. (Sentiment Analysis, Question Classification, Topic classification와 같은 주제)
- 어느 논문에서 주장하듯이 성능이 잘 나왔다고 함
5. Analysis
- 그래서 위에서 설명한 ULMFiT의 구성요소들이 어떻게 성능에 기여를 했는지 여러 조건으로 실험을 했다고 함
(i) Low-shot learning
- Transfer Learning의 큰 장점 중 하나는 작은 데이터셋으로도 좋은 성능을 낼 수 있다는 점이다. 아래의 Figure 3. 에서 보이듯이 scratch에서 쌩 모델을 만드는것보다 성능이 훨씬 좋다는 것을 확인
(ii) Impact of pretraining
- Pre-training을 한게 그래서 성능에 도움이 됐나? -> YES
- 작은 데이터셋, 큰 데이터셋에서도 도움이 됐음 (데이터셋 크기 무관하게)
(iii) Impact of LM quality, Impact of LM fine-tuning, Impact of classifier fine-tuning
- Language Model 자체를 성능이 좋은걸로 사용하면 성능이 좋아짐
- LM fine-tuning은 언급된 discriminative fine-tuning 이랑 slanted-triangular learning rates 다 쓰니깐 좋았다
- Classifier fine-tuning도 다양한 기법 사용해서 성능이 좋아짐
6. Discussion & Conclusion
- ULMFiT와 같은 Transfer Learning 기반 Language Model은 도움이 많이 될 것이다:
- 영어가 아닌 언어들은 데이터셋이 부족한데, 이 방법으로 도움이 많이 될 것
- state-of-the-art 아키텍처가 없는 NLP task에서 응용 가능할 예정
- 한정된 label data의 task도 처리 가능
- ULMFiT로 catastrophic forgetting도 방지하고, 다양한 도메인에서도 학습이 가능하게 했고, 이를 바탕으로 NLP에서도 transfer learning이 잘 사용될 수 있는 계기가 되길 바람