언어 모델로부터 만들어진 임베딩, ELMo

2023. 8. 28. 15:10AI/NLP

HBO시리즈 새서미 스트리트의 Elmo ⓒwikipedia

ELMo (Embeddings from Language Models)는 2018년에 Allen Institute for Artificial Intelligence의 연구자들에 의해 제안된 새로운 형태의 워드 임베딩 방법입니다. ELMo는 전통적인 워드 임베딩 방법들과는 달리, 문맥을 고려한 워드 임베딩을 생성합니다. ELMo의 주요 특징 및 세부 사항은 다음과 같습니다.

 

1. 문맥 기반 워드 임베딩

 

  • 양방향 LSTM 사용: ELMo는 양방향 LSTM (Bi-LSTM)을 사용하여 주어진 문장의 단어들을 처리합니다. 이를 통해 각 단어의 앞뒤 문맥 정보를 모두 포착할 수 있습니다.
  • 다양한 수준의 문맥 정보: ELMo는 Bi-LSTM의 여러 층에서 얻은 임베딩을 결합하여 최종 임베딩을 생성합니다. 이렇게 하면 단어의 저수준 특징부터 고수준의 문맥 정보까지 모두 포함됩니다.
  • 성능 향상: ELMo 임베딩을 사용하는 모델들은 다양한 자연어 처리(NLP) 작업에서 기존의 워드 임베딩 방법들보다 더 높은 성능을 보여주었습니다.

 

2. 양방향 LSTM을 사용한 언어 모델

 

  • 양방향 문맥 정보: Bi-LSTM은 두 개의 LSTM 레이어를 사용하여 입력 시퀀스를 양방향으로 처리합니다. 하나는 순방향 (forward direction)으로 시퀀스를 처리하고, 다른 하나는 역방향 (backward direction)으로 처리합니다. 이렇게 얻은 두 가지 정보를 결합하여 각 시점에서의 출력을 생성합니다.
  • 다층 구조: ELMo는 여러 층의 Bi-LSTM을 사용합니다. 이를 통해 다양한 수준의 문맥 정보를 포착하며, 최종 워드 임베딩은 이러한 다양한 층의 출력을 결합하여 생성됩니다.
  • 문맥 기반 워드 임베딩: ELMo의 핵심 기능은 주어진 단어의 문맥에 따라 동적으로 워드 임베딩을 생성하는 것입니다. 이는 Bi-LSTM을 사용하여 주어진 문장의 단어들의 앞뒤 문맥 정보를 포착함으로써 가능해집니다.

 

3. 임베딩의 층간 결합

 

  • 다양한 수준의 문맥 정보: ELMo의 언어 모델은 여러 층의 Bi-LSTM으로 구성되어 있습니다. 초기 층은 주로 단어 수준의 정보와 지역적인 문맥을 포착하는 반면, 깊은 층은 더 넓은 범위의 문맥과 복잡한 의미 구조를 포착합니다. ELMo는 이러한 모든 층의 임베딩을 결합하여 최종 워드 임베딩을 생성합니다.
  • 가중치 부여: ELMo는 각 층의 임베딩을 단순히 합치는 것이 아니라, 작업에 따라 최적의 가중치를 학습하여 각 층의 임베딩을 결합합니다. 이를 통해 특정 작업에 가장 적합한 문맥 정보를 포착할 수 있습니다.
  • 성능 향상: 여러 층의 임베딩을 결합하는 방식은 ELMo가 다양한 NLP 작업에서 뛰어난 성능을 보여주는 주요 요인 중 하나입니다.

 

4. 전이 학습(Tranformer)

 

  • 사전 학습된 언어 모델: ELMo는 큰 텍스트 데이터셋 (예: 1B Word Benchmark)에서 양방향 LSTM을 사용하여 언어 모델을 사전 학습합니다. 이 사전 학습 과정에서 모델은 풍부한 언어적 지식과 문맥 정보를 학습합니다.
  • 작업 특정 파인튜닝: 사전 학습된 ELMo 모델은 다양한 NLP 작업 (예: 품사 태깅, 개체명 인식, 감정 분석 등)에 적용될 때 추가적인 학습 과정을 거칩니다. 이때, ELMo 임베딩은 고정되지 않고 작업 특정 데이터를 사용하여 파인튜닝됩니다.
  • 성능 향상: ELMo 임베딩을 사용하는 모델들은 다양한 NLP 작업에서 기존의 워드 임베딩 방법들보다 더 높은 성능을 보여주었습니다.
  • 연구 결과: ELMo의 논문인 "Deep contextualized word representations"에서는 여러 층의 임베딩을 결합하는 방식이 다양한 NLP 작업에서 기존의 워드 임베딩 방법들보다 더 높은 성능을 보여주었습니다. 특히, 감정 분석, 개체명 인식, 의존성 파싱 등의 작업에서 그 장점이 두드러졌습니다.

 

5. 성능 향상

 

  • "Deep contextualized word representations":
    • 논문은 ELMo의 원래 논문으로, ELMo 임베딩이 다양한 NLP 벤치마크 작업에서 기존의 워드 임베딩 방법들보다 더 높은 성능을 보여주었다고 주장합니다.
    • 특히, 감정 분석, 개체명 인식, 의존성 파싱 등의 작업에서 ELMo의 장점이 두드러졌습니다.
  • "LANGUAGE MODEL EMBEDDINGS IMPROVE SENTIMENT ANALYSIS IN RUSSIAN":
    • 논문에서는 러시아어 감정 분석에 ELMo 임베딩을 사용하여 성능 향상을 보여줍니다.
    • ELMo 임베딩을 사용한 분류기는 fastText 임베딩을 사용한 경우보다 더 나은 성능을 보였으며, RuSentiment 데이터셋에서의 F1 점수를 72.8에서 78.5로 향상했습니다.
  • "Alternative Weighting Schemes for ELMo Embeddings":
    • 논문에서는 ELMo의 여러 층의 임베딩을 결합하는 방식을 다양하게 탐구하였습니다.
    • 특히, ELMo의 세 번째 층의 임베딩이 성능을 저하시키는 경우가 있었으며, 첫 두 층의 임베딩만을 사용하여 가중 평균을 구하면 많은 데이터셋에서 성능이 향상되는 것을 발견하였습니다.
  • "Linguistically-Informed Self-Attention for Semantic Role Labeling":
    • 논문에서는 ELMo 임베딩을 사용하여 의미론적 역할 라벨링(SRL) 작업의 성능을 향상했습니다.
    • ELMo 임베딩을 사용한 모델은 CoNLL-2005 SRL에서 기존 모델보다 2.5 F1 점수가 높았으며, 도메인 외부의 텍스트에서는 2.0 F1 점수가 더 높았습니다.