Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

언어 전공자의 NLP 로그

Deep contextualized word representations 본문

논문 읽기

Deep contextualized word representations

JohnnyNLP 2024. 2. 23. 14:31

논문 출처 : https://arxiv.org/abs/1802.05365

 

Deep contextualized word representations

We introduce a new type of deep contextualized word representation that models both (1) complex characteristics of word use (e.g., syntax and semantics), and (2) how these uses vary across linguistic contexts (i.e., to model polysemy). Our word vectors are

arxiv.org

 

0. 짧은 요약

  • 본 논문은 BERT 이전에 SOTA 모델을 기록했던 ELMo에 관한 논문으로, 왜 LLM의 등장 이후 워드 임베딩과 관련된 연구가 주류가 아니게 되었는지를 알게 해주는 계기가 되었다.
  • ELMo (Embeddings from Language Models)라는 이름에서 유추할 수 있듯이, ELMo는 단순히 워드 임베딩 자체만을 위해서 학습하는 word2vec이나 여타 워드 임베딩 모델과는 다르게, 그 자체가 언어 모델이면서 코퍼스로부터 단어 분포를 학습하고, 그로부터 워드 임베딩을 자체적으로 가지게 되는 형태의 모델이다.
  • 생각해보면 LLM도 마찬가지로 비지도 학습의 방식으로 큰 코퍼스를 사전 학습하게 될텐데, 그 방대한 사이즈를 가늠해보자면 어떤 워드 임베딩을 별도로 학습하는 것보다도 더 큰 데이터를 학습할 수 있게 될테고, 그렇게 되면 워드 임베딩을 위한 모델을 따로 사용한다는 구분도 의미가 없을 것이다.
  • 아마도 오늘날의 LLM도 결국은 일반적인 성능을 높이기 위해 수없이 많은 데이터를 사전 학습하는 과정에서 자체적으로 워드 임베딩 값을 가지게 될 것으로 예상한다.

1. Introduction

  • 맥락 정보를 포함하는 임베딩 모델의 중요성은 계속해서 연구 주제로 제시되어 왔다. 이상적인 모델이라면 1) 구문/의미론적 특징을 잡아낼 수 있고, 2) 다의어를 구분할 수 있어야 한다.
  • 이에 연구자들은 양방향 LSTM을 대규모 코퍼스에서 언어 모델 목적 함수로 학습하여 얻어낸 벡터를 임베딩 벡터로 사용하는 방법을 제안한다.
  • 위 벡터를 입력 단어 위에 선형 결합으로 쌓았을 때 최종 성능이 향상되었음을 확인했다.
  • ELMo의 특징으로, 고층 (higherlevel) LSTM의 표현은 의미 (WSD 등 최적화)를 잘 포착해내고, 저층 (lower-level) LSTM은 구문 (POS 태깅 등 최적화)을 잘 포착해냄을 확인했다. 물론 위 두 측면을 모두 고려해 반영하면 두 마리 토끼를 모두 잡을 수 있다.

3. ELMo: Embeddings from Language Models

  • ELMo의 단어 표상은 입력 문장 전체에 대한 함수이다. 이러한 워드 벡터들은 이중 biLM의 최상단 레이어에서 문자 단위 합성곱을 통해 내부 신경망 상태에 선형 함수의 형태로 계산된다.

3-1. Bidirectional language models

  • 양방향의 LSTM은 각각 순방향과 역방향으로 k번째 토큰 $tk$에 대한 확률값을 계산하게 된다. 이때 순방향은 앞에서부터 (k-1)개의 토큰을, 역방향은 뒤에서부터 (n-k) 개의 토큰을 조건부로 살핀다.
  • 이에 최종 목적 함수는 두 로그 우도의 합을 최대로 하는 값을 목표로 한다.
  • 이때 각각의 LSTM은 별도의 파라미터를 가지게 되며, 이를 선형 결합하여 단어 표상으로 채택한다.

3-2. ELMo

  • 각각의 토큰에 대하여, L겹의 이중 LM은 2L+1 차원의 단어 표상을 가지게 된다. 즉, 토큰 자체의 인코딩된 값과, 두 레이어의 선형 결합 벡터를 모두 합친 것이다.
  • 물론, 서로 다른 파라미터를 가져오기 때문에 softmax 방식으로 정규화를 해주는 것이 중요하다. 또한 분포의 차이를 고려하여 정규화 스케일링 파라미터 $γ$를 추가해준다.

3-3. Using BiLMs for supervised NLP tasks

  • ELMo를 하위 과제에 사용하는 방식은 사전 학습 모델을 파인 튜닝하는 과정과 유사하다.
  • 즉, 1) biLM에 문장을 돌려 2) 각 단어의 표상을 기록하고 3) 이를 선형 결합하여 최종 과제 모델에 학습시킨다.
  • 이때 입력 문장을 맥락 독립적인 형태로 변환한 토큰 표상 방식인 $xk$와 맥락 의존적인 형태의 RNN/CNN 등을 활용한 은닉 벡터 $hk$를 함께 사용한다.
  • 이처럼 ELMo 벡터를 단순히 concat 해주기만 해도 대부분의 과제에서 성능이 향상됨을 확인할 수 있다.

3-4. Pre-trained bidirectional language model architecture

  • 위 방식을 차용한 최종 모델의 형태는 4096 차원의 정보를 512 차원으로 투영하는 2개의 양방향 LSTM (맥락 의존)과 2048개의 문자 n-gram 합성곱 필터에 2개의 highway layer를 덧입히고, 최종적으로 이를 512 차원으로 선형 투영하는 계층 (맥락 독립)을 합쳐 총 하나의 토큰에 대해 3겹의 임베딩이 가능하도록 (맥락 독립 + 순방향 LSTM + 역방향 LSTM) 만들었다.