ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • #FastText #초기_Pre-trained_model #논문리뷰
    Data miner/Information Retrieval 2019. 10. 22. 12:11
    728x90

    Tomas Mikolov, Edouard Grave, Piotr Bojanowski, Christian Puhrsch, Armand Joulin. Advances in Pre-Training Distributed Word Representations, 2017

    NLP 영역에서, 사전학습된 모델로서 초창기에 등장한 모델에 대해서 리뷰해보는 시간을 갖도록 해본다. 초창기(?)라지만 2017년이라니(...) 모델 성능 개선의 속도가 참 빠르다. 

    위의 논문에서는 Word2vec 모델과의 비교를 통해서 보다 표현력이 상승된 워드 임베딩 모델을 제시하고자 한다. 이전의 잘 알려진 개선 방법 3가지를 조합하였으며, 그 개선방법 1) position dependent features 2) phrase representations 3) the use of subword information 에 해당한다. 

    단어 빈도수 분포는 Zips의 분포를 따르기 때문에 대부분의 단어들은 전체 텍스트에서 적은 부분을 차지한다. 이는 자주 등장하는 단어들에 대해서만 임베딩 벡터가 과적합되는 문제가 생기며, 나머지 적게 등장하는 단어에 대해서는 언더피팅되는 문제가 있다. 

    라서, 빈번하게 등장하는 단어들에 대해서 샘플링과정을 통해서 이를 조정하고자 한다. 샘플링할 때의 확률은 다음의 식을 따른다 (Mikolov et al. (2013a). 이 서브샘플링 과정을 통해서 빈번하게 등장하는 단어들을 학습시킬 때, 등장 횟수 만큼 학습시키는 것이 아니라, 아래의 식을 통해, 등장횟수보다는 적게 단어를 학습시키게 된다. 

    1) position dependent features 의 방법은 window안에 있는 단어들과 window의 중심단어를 학습시키는데 있어서, window의 position도 고려하여 학습하는 방식이다. 이 때, 주변 단어들의 position에 따라서 weight를 다르게 둠으로써, position 정보를 활용한다.

     

    2) phrase representations 는 unigram 모델에 기반한 cbow방식을 따른 것이 아니라, mutual information에 근거한 n-grams을 선택하여, 하나의 단어(토큰)을 학습하는 것이 아니라, 자주 등장하는 구 단위 표현을 하고자 한다.

     

    3) the use of subword information 철자 오류거나, 드문 단어들을 학습하기 위해서 word 보다 더 작은 단위의 정보들을 활용하여 학습하고자 한다. 단어를 구성하는 n-gram의 문자열정보를 n개의 벡터로 표현하여, 이들의 평균값을 통해서 단어를 표현하고자 한다. (예, 연구실 -> "<연구", "연구실", "구실>" 로 표현한 n개의 벡터값의 평균하여 '연구실'을 나타낸다. 여기서 <,>은 문자열의 시작과 끝을 알리는 표시) 

     

    논문에서 사용한 데이터셋 

     

    논문에서 사용한 구체적인 파라미터, 

    CBOW 모델에 사용한 window size =5(baseline), 15(position-dependent weights 학습을 위해 설정한 window)

    negative sampling에 사용한 k=10, subsampling frquent words set t = 10^-5, bigram으로 구 표현을 하고자 하였다. 

     

    결과적으로 Glove 모델과 비교해 보았을 때, FastText가 좋은 성능을 보였다.

Designed by Tistory.