ELMo

Summary:

ELMo[Embeddings from Language Models]とは,深層双方向言語モデルに基づいて構築された,文脈依存型単語表現の生成手法である.従来の単語埋め込み手法[Word2VecやGloVeなど]では,語彙ごとに唯一の固定ベクトルが割り当てられていたため,同一語形で異なる意味を持つ語[多義語]に対して柔軟な表現が困難であった.

これに対して,ELMoは,各単語の埋め込みを,その語が置かれた文脈全体に応じて動的に決定するため,語の意味的曖昧性や構文的な役割の変化に対応可能な分散表現を提供するものである.

このモデルは,入力文に含まれる各単語を文字レベルで表現し,これをCNNに通して単語ベクトルに変換する.その後,得られたベクトル列を双方向LSTM[BiLSTM]によってエンコードすることで,文の前後関係を同時に考慮した隠れ状態が得られる.最終的な単語表現は,入力層と複数のLSTM層の出力の加重平均として定義される.この重みは学習可能であり,下流タスクごとに調整される.

与えられた文を単語列\[S = (w_1, w_2, \dots, w_n)\]とする.各単語 $ w_k $ は,まず文字レベルのCNNを通じて固定次元のベクトル\[x_k = \phi_{\text{char}}(w_k), \quad x_k \in \mathbb{R}^{d_0}\]に変換される.ここで,写像 $ \phi_{\text{char}} : \Sigma^* \to \mathbb{R}^{d_0} $ は語を構成する文字列から語彙ベクトルへの変換関数である.

この入力ベクトル列 $ (x_1, \dots, x_n) $ に対して,$ L $ 層の双方向LSTMが適用される.各層 $ l = 1, \dots, L $ における単語 $ w_k $ の前向きおよび後向きの隠れ状態を\[\overrightarrow{h^{(l)}_k}, \quad \overleftarrow{h^{(l)}_k} \in \mathbb{R}^{d_l}\]とし,それらを連結して\[h^{(l)}_k = \left[\overrightarrow{h}^{(l)}_k; \overleftarrow{h}^{(l)}_k\right] \in \mathbb{R}^{2d_l}\]と定義する.さらに,入力層に相当する $ h^{(0)}_k := x_k $ を含め,層の総数を $ L+1 $ 層とする.

最終的なELMo表現は,これらの各層出力に対してタスク固有の重み $ s = (s_0, s_1, \dots, s_L) \in \mathbb{R}^{L+1} $ を用いた加重平均として定義される:\[\mathrm{ELMo}_k = \gamma \sum_{l=0}^{L} s_l \cdot h^{(l)}_k\]ここで,各重み $ s_l $ は以下で与えられる:\[s_l = \frac{\exp(\alpha_l)}{\sum_{j=0}^{L} \exp(\alpha_j)}, \quad \alpha_l \in \mathbb{R}\]また,全体のスケールを調整するための係数 $ \gamma \in \mathbb{R} $ も学習対象として導入される.この構成により,同一の語 $ w_k $ であっても,その出現位置 $ k $ における文脈 $ S $ に応じて異なるベクトル $ \mathrm{ELMo}_k $ が生成される.

ELMoの双方向言語モデルは,前向き言語モデリングと後向き言語モデリングの同時最適化によって学習される.前向き言語モデルの目的関数は\[\mathcal{L}_{\text{forward}} = \sum_{k=1}^{n} \log P(w_k | w_1, \dots, w_{k-1}; \Theta_x, \overrightarrow{\Theta}_{\text{LSTM}}, \Theta_s)\]後向き言語モデルの目的関数は\[\mathcal{L}_{\text{backward}} = \sum_{k=1}^{n} \log P(w_k | w_{k+1}, \dots, w_n; \Theta_x, \overleftarrow{\Theta}_{\text{LSTM}}, \Theta_s)\]となる.全体の目的関数は両者の和\[\mathcal{L} = \mathcal{L}_{\text{forward}} + \mathcal{L}_{\text{backward}}\]として定義される.ここで,$ \Theta_x $ は文字レベルCNNのパラメータ,$ \overrightarrow{\Theta}_{\text{LSTM}} $ と $ \overleftarrow{\Theta}_{\text{LSTM}} $ はそれぞれ前向きと後向きLSTMのパラメータ,$ \Theta_s $ は最終的な語彙予測層のパラメータを表す.

ELMoの技術的特性は以下の点に集約される.第一に,語の文脈依存表現を双方向に取得する点において,従来の文脈非依存的埋め込みに比して格段に高い意味分解能を備えている.特に構文的役割の変化や語彙的曖昧性に対して柔軟に適応できる.第二に,文字ベースのCNNを通じた入力表現により,未知語や派生語,品詞変化を含む語彙に対しても堅牢である.第三に,ELMo表現は事前学習された言語モデルの各層出力の線形結合であり,下流タスクに対して容易にfine-tuningが可能である.第四に,異なる層が異なる種類の言語情報を捉えることが実証されており,下位層は構文的情報を,上位層は意味的情報をより多く含む傾向がある.

一方で,ELMoはLSTMベースであるためTransformer系モデルに比して並列化に不利であり,長い系列に対する学習・推論に時間を要する欠点を持つ.また,BERTのようにself-attentionを用いた直接的な関係構造の学習には対応していない.さらに,双方向性は独立した前向きと後向きのモデルの出力を結合することで実現されており,真の双方向文脈の統合という点では限界がある.

ELMoは,2018年にAllen Institute for AIのPeters et al.によって発表され,自然言語処理における文脈埋め込みの概念に大きな転換をもたらした.それ以前の分散表現技術は,静的ベクトルに基づいた意味近傍の分析や類似性計算に主眼を置いていたが,ELMoは表現が文ごとに変化するという柔軟性を導入した最初の広範に用いられたモデルである.

加えて,ELMoは転移学習の枠組みを自然言語処理において初めて大規模に実証した例でもある.すなわち,事前に学習された言語モデルを固定または微調整しつつ,名前付き実体認識,コア参照解析,感情分類,質問応答など,多様な下流タスクに適用可能であることを示した.こうした「事前学習+微調整」というパラダイムは,BERTやGPTといった後続モデルによってさらに洗練され,現在の大規模事前学習モデルの設計指針の礎となっている.

技術的系譜において,ELMoはWord2VecやGloVeといった静的埋め込みから,BERTに代表される深層文脈埋め込みへの橋渡し的役割を果たした.特に,言語モデルの隠れ状態を複数層にわたって活用するという発想は,後のTransformerベースモデルにも継承されている.

ゆえに,ELMoは技術的・概念的両面において,文脈意味論的情報を利用した表現学習の出発点であり,Transformer以前の最も重要な里程標の一つとして位置付けられる.

参考文献

  1. Matthew Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, and Luke Zettlemoyer, Deep contextualized word representations. Proceedings of NAACL-HLT, 2018, https://arxiv.org/abs/1802.05365

Mathematics is the language with which God has written the universe.





















自然対数の底 コンテキストベクトル RDBMSのレイヤー構造 Datalog CODASYLデータベース IMS