分散表現の名前の由来と仕組みを初心者向けに解説

こんにちは。ゆうせいです。

自然言語処理の分野では、コンピュータに人間の言葉を理解させる技術が日々研究されています。コンピュータは文字をそのままの意味として解読できないため、数式で扱える数値へ変換する必要があります。その変換手法の中で広く用いられている技術が分散表現です。今回は、分散表現という名称の由来や、その仕組み、利点と課題について解説します。

分散表現という名称の由来

分散表現という言葉は、英語の distributed representation を日本語へ翻訳した用語です。この概念は認知科学やニューラルネットワークの基礎研究から生まれました。

名前の由来を理解するためには、対立する概念である局所表現との対比を確認すると分かりやすくなります。

局所表現との違い

局所表現は、ひとつの概念を専用のひとつの場所へ割り当てる手法です。

辞書を引いたときに、単語ごとに独立した見出しがひとつずつ割り振られている状態を想像してください。例えば「猫」には専用の引き出しを1つ用意し、「犬」にも別の専用の引き出しを1つ用意します。この方式では、単語が増えるたびに新しい引き出しを用意しなければなりません。

これに対し、分散表現は、ひとつの単語の意味を複数の特徴量の組み合わせへ分散させて表現する手法です。

絵の具の調色に例えることができます。赤、青、黄色といった基本の絵の具をいくつかの割合で混ぜ合わせることで、無数の色を作り出すことができます。特定の色を作るために専用の絵の具を無限に買い足すのではなく、決まった数の基本色の濃淡の組み合わせによって色を表現します。

単語の意味をひとつの独立した箱に押し込めるのではなく、複数の数値の並び全体へ分散させて持たせることから、分散表現という名称が付けられました。

分散表現の仕組みと数学的表現

分散表現では、単語を多次元の数値の並びであるベクトルとして表します。

従来の局所表現では、辞書に登録された語彙数と同じ長さのベクトルを用意し、該当する単語の位置だけを 1、それ以外を 0 とする手法が取られていました。これをワンホットベクトルと呼びます。語彙数が1万語あれば、ベクトルの長さは1万になり、大半の値が 0 で埋まります。

分散表現では、通常100次元から300次元程度の固定長の密なベクトルを用います。各次元には実数値が格納されます。

例えば、語彙数を V とし、単語を d 次元の空間に埋め込む場合、各単語ベクトルは次のような行列の積やパラメータ行列 E の特定の行として取得されます。

単語埋め込み行列 E を用いて単語を表す数式

E \in \mathbb{R}^{V \times d}

単語のワンホットベクトル x に対する分散表現ベクトル e の算出

e = x E

このように、すべての単語が同じ d 個の数値の組み合わせによって表されます。

分散表現のメリット

分散表現を採用することによって得られる具体的な利点には、以下の項目が挙げられます。

  • 計算資源の効率化:語彙数が増加してもベクトルの次元数を固定できるため、極端に大きなメモリ領域を占有せずに処理が行えます。
  • 単語間の類似度の計算:ベクトル同士のなす角度や距離を計算することで、意味が近い単語同士を数値的に把握できます。例えば「猫」と「犬」のベクトルは空間上で近い位置に配置されます。
  • 意味の演算:ベクトル同士の足し算や引き算が可能です。有名な例として、「王」のベクトルから「男」のベクトルを引き、「女」のベクトルを足すと、「女王」に近いベクトルが得られるという現象が確認されています。

分散表現のデメリット

一方で、分散表現には運用上の注意点や制約も存在します。

  • 各次元の意味の解釈が困難:各次元に割り当てられた数値が、人間の言語におけるどの特徴に対応しているのかを直接特定することはできません。
  • 大規模な学習データの必要性:単語の文脈を高精度に数値へ反映させるためには、大量のテキストデータをあらかじめ読み込ませて学習させる必要があります。
  • 計算コストの発生:ワンホットベクトルと比較して、適切な重みを学習するためのモデル構築に一定の計算処理時間がかかります。

まとめと次の学習ステップ

分散表現は、単語の意味を複数の数値の組み合わせへと分散させて保持する手法であり、その命名は複数の特徴量へ情報を分散配置する仕組みに由来しています。

分散表現の理解を深めるための次のステップは以下の通りです。

  1. 自然言語処理における基本手法である Word2Vec のアルゴリズム(Skip-gram と CBOW)の学習へ進む。
  2. コサイン類似度の計算式を確認し、ベクトル同士の距離を求める方法を学ぶ。
  3. 文脈に応じて単語の分散表現が変化する Transformer や BERT などの発展的なモデルの仕組みへと段階的に学習を進める。

基礎となる概念を順番に押さえていくことで、現代の大規模言語モデルの動作原理についてもスムーズに理解できるようになります。

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。