LoginSignup
0
1

More than 5 years have passed since last update.

ゼロから作るDeep Learning② 3章 自分用まとめ

Posted at

word2vec
本来はプログラムやツール類をさす言葉だが、文脈によってはニューラルネットワークモデル(CBOWモデルとskip-gramモデル)を指す場合もある。

カウントベース

学習するデータ
コーパスの全体の統計データから1回の学習で単語の分散表現を得る
学習速度
現実的には、コーパスで扱う語彙数が巨大になり(例えば、英語だと100万以上)、SVDは$O(n^3)$の計算コストがかかるので、スーパーコンピュータでも太刀打ちない。
更新作業(新しい単語を追加する)
ゼロから計算を行う
性質
単語の類似性がエンコードされる
単語の類似性に関する定量評価
推論ベースと優劣つけがたい

推論ベース

学習するデータ
コーパスの一部を何度も見ながら学習する
学習速度
カウントベースより早い
更新作業(新しい単語を追加する)
これまで学習した重みを初期値として、新しい単語のみ再学習できる
性質
単語の類似性 + 単語間のパターン(king-man + woman = queen)がエンコードされる
単語の類似性に関する定量評価
カウントベースと優劣つけがたい

推論ベースの手法

CBOW - Continuous bag-of-words
周囲の複数ある単語(コンテキスト)から中央の単語(ターゲット)を推測する)。精度は劣っているが、求める損失は常に1つなのでskip-gramより高速。

skip-gram
中央の単語(コンテキスト)から周囲の複数ある単語(ターゲット)を推測する。精度は優れているが、コンテキストの数だけ損失を求める必要があるため、計算コストが高くなる。

比較

手法 速度 分散表現の精度
CBOW better worse
skip-gram worse better

おまけ

logの性質

\log{xy} = \log{x} + \log{y}

証明

\log_2{xy} = \log_2{x} + \log_2{y} \\
\log_2{x} = a \\
\log_2{y} = b \\
x = 2^a \\
y = 2^b \\
xy = 2^{(a+b)} \\
\log_2{xy} = a + b = \log_2{x} + \log_2{y}
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1