word2vecのパラメータ更新式の解説
書誌情報
word2vec Parameter Learning Explained
著者名:Xin Rong
掲載元:arXiv
何をしている論文か
word2vecのパラメータ更新の流れの解説と最適化アルゴリズムの必要性について解説
例:I like an apple because it is so delicious. ターゲット単語:apple
word2vecの目的
単語の分散表現を獲得すること
word2vecにおける重みとは
(入力層→中間層の)重み行列の各行、(中間層→出力層の)重み行列の各列が単語の分散表現になっている
要するに、word2vecでは、重み行列の最適化が目的であるといえる!
word2vec内で目的を達成するために別のタスクが行われている
CBOW:周辺単語からターゲット単語を予測する
one-word-context CBOW
ターゲット単語の後ろの単語を周辺単語(context)とする。
例の場合、becauseを入力としてappleを予測
multi-word-context CBOW(メイン)
ターゲットの前後n単語を周辺単語とする。nは任意
n=2の場合、like,an because,itが入力、appleを予測
skip-gram:ターゲット単語からその周辺単語をn個予測する
n=2の場合、appleを入力するとlike,an because,itを予測
タスクとしてはskip-ramのほうが難しいと直感的にわかる←これが大事
順伝搬の流れ
単語のone-hotベクトルを入力(1×V)
↓
(入力層→中間層の)重み行列をかけて単語の分散表現を得る(V×N)
↓
↓
(中間層→出力層の)重み行列をかけて単語スコアを得る(N×V)
↓
単語スコアをSoftmax関数に入力し、単語の事後確率を計算
逆誤差伝搬法
単語の事後確率と正解ラベルのonehotベクトルからロス計算を行う
損失関数として交差エントロピー誤差を適用
各パラメータで勾配(損失関数の微分)を求め、重みの更新式を導く
感想
word2vecのアーキテクチャ図の正しい解釈、そして具体的な計算の流れを知ることができた
基本構造に加え最適化アルゴリズムの必要性まで言及していたが、現段階では読み進めていない