1行定義
ELMoとは、双方向のLSTMによる言語モデルを大量の文章で事前学習し、文脈に応じて変わる単語のベクトルを作る手法のことです。
くわしく
ELMo(Embeddings from Language Models)は、2018年にアレン人工知能研究所とワシントン大学の研究者らが発表した、単語の表現を作る手法です。質問応答や感情分析など6つの自然言語処理タスクで、当時の最高性能を更新しました。
背景:1語に1つのベクトルの限界
word2vecやfastTextは、1つの単語に1つのベクトルを割り当てます。しかし、英語のbankは文によって「銀行」にも「土手」にもなります。固定のベクトルでは、このような多義語を区別できません。
仕組み:双方向の言語モデル
ELMoは、大量の文章で言語モデルを事前学習します。言語モデルとは、文の続きの単語を予測するモデルです。ELMoでは2層のLSTMを使い、前から順に次の単語を予測するモデルと、後ろから順に前の単語を予測するモデルを学習します。入力では単語を文字単位の畳み込みで処理するため、未知語にも対応できます。
単語の表現は、文全体を入力したときの各層の出力から作ります。最上位の層だけでなく、すべての層の出力を、タスクごとに学習する重みで足し合わせます。論文の分析では、下の層は品詞のような文法的な情報を、上の層は語義のような意味的な情報を捉えやすいことが示されました。こうして得た表現は、同じ単語でも文脈が変われば変わります。
BERTとの違い
ELMoの表現は、既存のタスク用モデルに特徴量として追加するのが基本の使い方です。同じ2018年に登場したBERTは、Transformerを使い、前後の文脈を各層で同時に参照します。さらに、モデル全体をタスクごとにファインチューニングします。BERTの論文は、ELMoを「前向きと後ろ向きのモデルを別々に学習して連結したもの」と位置づけています。
覚え方
「ELMoは、LSTMで文脈を読む言語モデル(Language Models)」と覚えます。
G検定での出題
出題のされ方
文脈に応じて単語のベクトルが変わり多義語を区別できる点、双方向LSTMの言語モデルを使う点、固定のベクトルを使うword2vecとの違い、Transformerを使うBERTとの違いが問われます。
混同しやすい用語
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
ELMoは、Transformerのエンコーダを積み重ねたモデルで、文中の一部の単語を隠して前後の文脈から当てる課題で事前学習される。
答えを見る
答え × 誤り
これはBERTの説明です。ELMoは双方向のLSTMを使い、前から次の単語を予測する言語モデルと、後ろから前の単語を予測する言語モデルを学習します。
-
ELMoは、言語モデルの最上位の層の出力だけでなく、複数の層の出力を、タスクごとに学習する重みで組み合わせて単語の表現を作る。
答えを見る
答え ◯ 正しい
論文では、下の層は文法的な情報、上の層は意味的な情報を捉えやすいと分析されています。両方を使い分けられるのが利点です。
-
ELMoで得た単語の表現は、既存のタスク用モデルの入力に特徴量として追加して使うのが基本の使い方である。
答えを見る
答え ◯ 正しい
ELMoは特徴量として足して使う方式が基本です。モデル全体をタスクに合わせて調整するBERTのファインチューニングとは対照的です。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目27 自然言語処理)
- Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettlemoyer, Deep contextualized word representations, NAACL 2018
- Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (2018)