📏

自然言語処理のモデルを metric learning の観点からとらえる

4 min read

こちらは metric learning Advent Calendar 2020 の記事です。

この記事の目的は?

自然言語処理または metric learning に興味がある人に、 metric learning と自然言語処理には関係がある ということを伝えることです。

次のセクションから、いくつかの自然言語処理の手法を metric learning の観点からとらえてみます。

Word2Vec

Word2Vec は単語の連続的ベクトル表現を獲得する手法です。様々な手法が提案されてますが、この記事では CBoW (Continuous Bag of Words) と Skip-Gram について考えていきます。

CBoW

CBoW は下図のように文中のターゲットとなる単語 w_t をその周辺語 w_{t-k}, w_{t-k+1}, \dots , w_{t+k} から予測します。

CBoW の学習では以下の最適化問題を解きます。

\min_{U, V}{- \sum_{t=1}^T{\log{\frac{\exp{(\bm{v}_{w_t}^T\bm{c}_t})}{\sum_{w \in W}\exp(\bm{v}_w^T\bm{c}_t)}}}}
\bm{c}_t = \sum_{-k \leq j \leq k, j \neq 0}{\bm{u}_{w_{t+j}}}
  • (w_1, w_2, \dots, w_t, \dots, w_T): 文(単語の列)
  • \bm{u}_w, \bm{v}_w \in \mathbb{R}^d: 単語 wd 次元特徴量ベクトル
  • W: 学習に使う単語すべての集合
  • U, V \in \mathbb{R}^{d \times |W|}: それぞれ単語ベクトル \bm{u}_w, \bm{v}_w を並べた重み行列
  • \bm{c}_t: 文脈ベクトル。単語 w_t の周辺語 w_{t+j} の特徴量を和によって reduce したもの。 周辺語をいくつ使うかは、 ウィンドウサイズ k によって決める。

上の式では Softmax Cross Entropy (SCE) を使っているので、 CBoW は単語×文脈の metric learning ととらえられます[1]。 特徴量空間において、 周辺語による文脈ベクトルとターゲットの単語ベクトルを近づけ、ターゲット以外の単語ベクトルは離す よう学習します。 下図は metric learning の観点から描きなおしたアーキテクチャです。

Skip-Gram

Skip-Gram は下図のとおり、CBoWとは逆に、ターゲットとなる単語 w_t から周辺語 w_{t-k}, w_{t-k+1}, \dots, w_{t+k} を予測します。

Skip-Gram の学習では以下の最適化問題を解きます。

\min_{U, V}{- \sum_{t=1}^T{\sum_{-k \leq j \leq k, j \neq 0}{\log{\frac{\exp{(\bm{u}_{w_{t+j}}^T\bm{v}_{w_t}})}{\sum_{w \in W}\exp(\bm{u}_w^T\bm{v}_{w_t})}}}}}

上の式より、 Skip-Gram は単語×単語の metric learing ととらえられます。特徴量空間において、 ターゲットの単語ベクトルと周辺語ベクトルを近づけ、周辺語でない単語ベクトルは離す ように学習します。下図は metric learning の観点から描きなおしたアーキテクチャ図です。

以上より、 CBoW と Skip-Gram 、 どちらの Word2Vec も metric learning としてとらえられそうです。

参考

RNN による言語モデル

RNN による言語モデル(RNNLM)は、 下図のように直前の単語列 w_1, w_2, \dots, w_t から、次の単語 w_{t+1} を予測する手法です。

RNNLM の学習では、以下の最適化問題を解きます。

\min_{U, \Theta, V}{ - \sum_{t=1}^{T-1}{ \log{ \frac{ \exp{( \bm{v}_{w_{t+1}} ^T \bm{c}_t )} }{ \sum_{w \in W}{ \exp{( \bm{v}_w ^T \bm{c}_t )} } } } } }
\bm{c}_t = {\rm RNN}(\bm{u}_{w_t}, \dots, \bm{u}_{w_2}, \bm{u}_{w_1}; \Theta)
  • \bm{c}_t: 文脈ベクトル。RNN の隠れ層の状態。t 番目までの単語ベクトルたちを RNN で reduce したもの。
  • \Theta: RNN のパラメータ

上の式より、CBoWと同様に RNNLM は単語×文脈の metric learning ととらえられます。 CBoW との違いは、文脈を構成する単語と、それらを reduce する関数です。その違いを以下の表にまとめました。

CBoW RNNLM
文脈を構成する単語 予測対象の両側の単語いくつか 予測対象よりも前の単語すべて
reduce する関数 sum(学習不可能) RNN(学習可能)

また、下図は RNNLM を metric learning の観点から描きなおしたものになります。

参考

まとめ

既存の自然言語処理のモデルを metric learning の観点からとらえてみることで、 自然言語処理処理と metric learning に繋がりがあることを説明しました。

次回は?

推薦や自然言語処理に以外にも metric learning と関係のある分野をまとめます。

脚注
  1. SCE による学習は metric learning とみなせます。 同アドベントカレンダーの metric learningとsoftmax cross entropyを比べること自体間違っている で説明しています。 ↩︎

Discussion

ログインするとコメントできます