ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [논문 리뷰] ELMo : Deep contextualized word representations
    [+] 인공지능 [+] 2021. 5. 11. 14:34

    소개

     

    높은 퀄리티의 representation을 만들어 내는것은 어려운 일이다. 언어의 문법적 의미론적인 특성을 고려해야하고, 다의어의 경우 문맥상 쓰임에 따라 상이기때문이다. 본 논문은 뉴럴 네트워크를 이용하여 문맥을 반영한 임베딩 기법을 제안한다. 

    전체 문장을 입력으로 제공받아 각 토큰 단위의 임베딩 벡터를 출력한다.

    두개의 양방향 순환신경망을 사용하여 해당 토큰의 이전 맥락과 이후 맥락을 동시에 고려한다.

    본 모델은 현존하는 down stream task에 쉽게 적용가능하며, 6가지 언어이해 문제에서 SOTA를 갱신한다.

    문맥을 반영한 임베딩 모델이다.

    언어 모델을 활용한 입베딩 기법이다.

     

    본론

     

     https://brunch.co.kr/@learning/12

    문장단위의 텍스트를 입력으로 받는다. 해당 텍스트는 문맥이 고려되지않은 token Embedding이나 Char-Level CNN을 이용하여 입력된다. N개의 토큰이 입력으로 주어졌다면 

     

    $N \ toekns, \ (t_1,t_2 ..., t_N)$

     

     

    정방향 순환신경망(forward LSTM)을 이용하여 각 토큰별 확률을 모델링함으로써 문장의 확률을 구한다.

     

    $p(t_1,t_2,...,t_N) = \prod_{k=1}^{N}p(t_k|t_1,t_2,...,t_{k-1})$

     

    각 LSTM 층은 문장 맥락을 고려하는 토큰 $\overset{\rightarrow}{h}_{k,j}^{LM}$을 생성한다. 해당 토큰은 다음 층의 LSTM 으로 전달되고, 또한 Softmax 를 거쳐 다음 타임스텝의 입력으로 제공된다. 본 모델은 정방향 LSTM과 동시에 역방향 LSTM도 사용한다. 정방향 LSTM에서 진행했던 방식과 마찬가지로 역방향 LSTM은 문장 내의 토큰 순서가 거꾸로 되어있어, 현재의 토큰을 기반으로 이전에 token 들을 예측하는 방식이다. 정방향 LM과 역방향 LM을 합하여 biLM이라 부른다. biLM에 최대우도를 적용한다.

     

    $R_k = \{x_k^{LM}, \ \overset{\rightarrow}{h}_{k,j}^{LM}, \  \overset{\leftarrow}h_{k,j}^{LM}|j=1,...,L\}$

     

    $R_k = \{h_{k,j}^{LM}|j=0,...,L\}$

     

    L 개의 레이어가 있는 biLM모델에서 각각의 토큰은 2L+1번의 연산이 일어난다. 각 층 마다 사용된 hidden state를 모두 취합하여 출력한다. 예를 들어 두개의 층을 갖고있는 (L = 2) biLM의 경우 최초로 입력이 되는 토큰 k를 가려오고 첫번째 정방향 순환신경망의 hidden state 와 역방향 순환신경망의 hidden state를 가져온다. 두번째 순환신경망층에서도 동일하게 정방향 LSTM의 hidden state와 역방향 hidden state를 가져온다.

     

    위 수식에서 $h_{k,0}^{LM}$은 입력이 되는 토큰 $x_k^{LM}$과 동일하다. h_{k,j}^{LM}은 해당 타임스탭의 정방향 hidden stae, 역방향 hidden state를 결합(concatenate)한다. 두개의 층을 갖고있는 경우 하나의 토큰 k을 만들어 낼때 입력 토큰과 첫번째 hidden state와 두번째 hidden state에 소프트맥스 정규화 가중치 $s$를 곱한 후 더한다. 즉 세개의 백터와 선형결합(가중합)을 진행한다.

     

    $ELMo_k^{task} = E(R_k;\Theta^{task})=\gamma^{task}$ $\Sigma_{j=0}^{L}s_{j}^{task}h_{h,j}^{LM}$

     

    선형결합을 마친 후에 하나의 백터가 출력되는데 여기에 스칼라 파라미터 $γ^{task}$ 를 곱한다. 스칼라 파라미터는 모델이 빠르게 수렴하도록 돕는데, 이는 필수가 아니지만 SNLI와 SQuAD을 수행할때 필요로 한다.

     

    임베딩 모델은 다른 NLP task에 적용하기 위한 도구적 성격을 갖는다. 대부분의 지도학습 기반 모델들의 하부계층이 일관된 구조 갖기에 ELMo를 적용하기에 무리가 없다. downstream task에 적용할 시 ELMo를 프리징하고 진행한다. 

     

    결과

     

     

    QA(Question Answering) : ELMo를 더해주면서 81.1%에서 85.5%로 증가

    textual entailment : 7%의 성능 향상

    semenatic role labeling : 3.2%의 성능 향상

    Coreference Resolution : 67.2%에서 70.4%로 3.2% 성능 향상

    NEE / NER : 약 2% 성능 향상

    SST-5 (Sentiment Analysis) : 약 1%의 성능 향상

    댓글

Designed by Tistory.