ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인공지능 & 자연어 처리 타임라인
    NLP/KLUE 2021. 9. 27. 12:02

    자연어 단어 임베딩

    • 가장 단순한 표현 방법은 One-hot encoding 방식 → n개의 벡터를 n차원으로 표현
    • one-hot encoding 방식은 sparse 해서 단어가 가지는 의미를 벡터 공간에 표현하기 어렵다
    • 이러한 단점을 극복하기 위한 것이 Word2Vec 이다. → 한 단어의 주변 단어들을 통해, 그 단어의 의미를 파악 (skip-gram) 

     

    Word2Vec

    장점 - 단어간의 유사도 측정에 용이
    - 단어간의 관계 파악
    - 벡터 연산을 통한 추론 가능 (한국 - 서울 + 파리 = 프랑스)
    단점 - 단어의 subword information 무시 (e.g. 서울 vs 서울시 vs 고양시)
    - out of vocabulary(OOV)에서 적용 불가능

     

    FastText

    • 기존의 word2vec과 유사하나 단어를 n-gram으로 분리
    • n-gram의 범위가 2-5일때, 다음과 같이 분리하여 학습
      • "assumption" = {as, ss, su, ···, ssu, sum, ump, mpt, ···, ption, assumption}
    • n-gram으로 나뉜 단어는 사전에 들어가지 않고, 별도의 N-gram vector 형성
    • 입력 단어가 vocab에 있을 경우 word2vec과 마찬가지로 해당 단어의 word vector 반환
    • OOV일 경우, 입력 단어의 N-gram vector의 합을 반환
    • 오탈자, OOV, 등장 횟수가 적은 학습 단어에 대해 강세
    • 동형어, 다의어 등에 대해 성능이 좋지 않다

     

    언어모델

    • Markov 기반 언어모델: 다음 단어나 문장이 나올 확률을 통계와 n-gram 기반으로 계산
    • RNN 기반 언어모델
    • Seq2Seq
      • 고정된 길이로 데이터를 표현하여 정보가 유실
      • 마지막 state만 이용하기 때문에 앞의 정보 희석
      • 중요도가 낮은 데이터도 영향을 미침
    • Attention: 중요한 것에 더 가중치를 두기 위해 인코더의 중간 단계 활용
      • 연산속도가 느리다는 한계
    • self attention을 이용하는 transformer!

    Further Questions

    • Embedding이 잘 되었는지, 안되었는지를 평가할 수 있는 방법은 무엇이 있을까요?
      • WordSim353: A database of human similarity ratings for 351 English noun pairs, collected by Finkelstein et al. (2002) and annotated with semantic relations (similarity vs. relatedness) by Agirre et al. (2009).
      • Spearman's correlation: Spearman rank correlation: Spearman rank correlation is a non-parametric test that is used to measure the degree of association between two variables
      • Analogy test: a reasoning test requiring a person examined to supply a final term in a proportion (as to supply darkness in the proportion day: light:: night: …)
    •  Vanila Transformer는 어떤 문제가 있고, 이걸 어떻게 극복할 수 있을까요?  
      • Longformer: input sequence 길이의 제곱에 비례하여 계산량이 늘어나는 vanila transformer의 계산량을 1) sliding window, 2) dilated sliding window, 3) Global attention을 이용하여 계산량을 선형적으로 줄였다. 
      • Linformer:  sequence 길이의 제곱에 비례하는 시간복잡도를, low rank의 행렬로 근사하여 선형적으로 비례하게 줄였다.
      • Reformer: locality-sensitive hasing 이라는 방법을 이용해 $ O(n^2) $ 의 시간복잡도를 $ O(nlogn) $ 으로 줄였다. 또한 reversible residual layer를 사용해 메모리 사용량을 줄였다. 

    'NLP > KLUE' 카테고리의 다른 글

    GPT 모델 사용해보기  (0) 2021.10.12
    Notes  (0) 2021.09.28
    자연어 전처리  (0) 2021.09.28

    댓글

Designed by Tistory.