Deep Learning/CS224N

[CS224N] ELMo, ULMfit

언킴 2021. 9. 26. 12:26
반응형

기존에 우리는 모델에 사전학습을 하지 않고 모델을 바로 Small labeled data 에 적용을 시켰다. 모델의 성능을 더 좋게하기 위해서 semi-supervised approach를 이용하자는 내용으로 Pre-ELMo(Train NLM on large unlabeled corpus for NER)이 등장했다. Pre-ELMo는 총 3가지 과정을 거친다. 

 

step1. Pretrain language model 

step2. Word embedding and Char-CNN 

step3. Use both word embedding and LM for NER 

 

 

 

ELMo : Embeddings from Language Models

ELMo는 모든 문장을 이용해 Contextualized word vector를 학습한다. 기존의 word embedding이 window를 이용해 주변 context만 이용한 것과 대조되는 방법이며, 단어 임베딩은 Char CNN만을 이용했다. ( Word2Vec X ) 학습한 LM들의 레이어들을 concat한 후(Forward, Backward) task에 맞게 linear combination해서 이용한다. 기존에 비슷한 방법론들이 LSTM의 top layer만 이용했던 것과 대조된다. 

ELMo

 

 

ULMFit and Onward : Unversal Language Model Fine-tuning for Text Classfication

ELMo를 기점으로 여러 모델들이 등장하기 시작했다. NLP에서 본격적으로 transfer learning을 도입했다. 기존에는 이미지에서 많이 사용되는 기법을 ULMFit이 가지고 온 것이다. transfer learning은 큰 데이터를 학습시키고, 그 후 작은 데이터에 fine-tuning을 하는 기법을 말한다. ULMFit은 1개의 GPU로 학습을 할 수 있는 정도의 사이즈를 가지고 pre-training을 했다는 것이 특징이다. 

 

step1. 3-layer Bi-LSTM Language Model pre-training

step2. target task에 맞춰 LM fine-tuning

step3. target task의 classfier를 fine-tuning 

 

'Deep Learning > CS224N' 카테고리의 다른 글

[CS224N] Subword Model - BPE, Wordpiece  (0) 2021.09.14
[CS224N] ConvNets for NLP  (0) 2021.09.06
[CS224N] Machine Translation (MT), Attention  (0) 2021.09.03
[CS224N] Language Model (n-gram, NNLM, RNN)  (0) 2021.09.01
[CS224N] Parsing  (0) 2021.08.31