Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Efficient Estimation
of
Word Representations
in
Vector Space
2017/10/2
石垣哲郎
NN論文を肴に酒を飲む会 #4
本プレゼンは、Tomas Mikolov、Kai
Chen、Greg Corrado、Jeffrey Dean著の
論文「Efficient Estimation of Word
Representations in
Vector Space」...
発表者自己紹介
氏名:石垣 哲郎
1986年4月 日本電気株式会社入社
2015年11月 日本インサイトテクノロジー株
式会社入社
TensorflowやKERASは仕事ではなく、もっぱらオフ
タイムに触っています。
論文の主旨
自然言語処理において、単語のベクトル表現を連
続値ベクトルにすることによって、少ないコンピュー
タ資源で高い精度を実現することができる。
更に、単語の文法的( syntactic)、意味的
( semantic)な類似性に関する評価...
ニューラルネットワークモデル
0.埋め込み
one-hotベクトル表現された語彙集合Vの各要素∈{0,1}|V|
を、行列𝑬 ∈ ℝⅮ× V によって、ℝⅮに射影します。
ここで、Dは連続ベクトル表現の次元です。
また、行列𝑬’ ∈ ℝ𝑙𝑜𝑔 ...
ニューラルネットワークモデル
1. Continuous Bag-of-Words Model(CBOW)
ターゲットの単語の前後の単語ベクトルから得られた結果に、ターゲットの単語ベクトルを使っ
て学習させます。𝒘(𝑡) ∈{0,1}|V|はo...
ニューラルネットワークモデル
2. Continuous Skip-gram Model
ターゲットの単語から算出された結果に、ターゲットの前後の単語ベクトルを使って
学習させます。
下の図では前後2単語ずつですが、論文では計算量削減のため、最...
ニューラルネットワークモデル
3. 評価関数
Huffman木ベースの階層化softmax
※階層化softmax:分類対象を2分木表現することで、各ノードの活性
化確率をsoftmaxの代わりにsigmoidの積で求める、計算量削減手
法
※...
解説:階層化softmax
𝑤0 ・・・・・・・・・・・・・・・・・・
|V|次元ベクトルの各要素を2分探索木
に対応させると、階層数は(だいたい)
log(|V|)になります。
各要素は各層の「オンオフ」の組み合わ
せで一意に表現できるので、...
評価結果
CBOW、skip-gramを含む、以下の複数の単語ベクト
ル化手法について、単語類似性の表現能力を評価
します。
① CBOW
② skip-gram
③ Feedforward Neural Net Language Model ...
評価結果
semanticsyntactic
以下のようなカテゴリでテストセットを準備し、評価します。評価尺度
は、左側3列の単語が与えられたときに、一番右の列の単語が当てら
れるかどうか、です。
評価結果
単語の推定は、ベクトル演算で行います。
X=vector(”biggest”)−vector(”big”)+vector(”small”)
推定が正解かどうかは、コサイン距離で評価します。
(Xがコサイン距離的にvector(“sma...
小ネタ:コサイン距離(またはコサイン類似
度)について
ベクトルaおよびbが挟む角度を𝜑と置くとき、コサイ
ン距離はずばり、cos 𝜑です。
𝜑
a
b
b-a
余弦定理より、
‖b-a‖2
2= ‖a‖2
2 +‖b‖2
2-2‖a‖2 ‖b...
評価結果
訓練データ:グーグルニュース6Bトークン、埋め込み
ベクトル次元640の時の結果です。
評価結果
前ページで引用されている論文[20]の評価パターン
は以下の通りです。
評価結果
公開されている結果との比較です。
評価結果
エポック数を増やした時の結果です。同じデータで
繰り返し訓練するより、訓練データ量を増やしたほう
が同等またはやや良い結果が得られます。また、訓
練時間も短くて済みます。
評価結果
分散フレームワーク「DistBelief」を使用した、大規模
並列学習の結果です。
評価結果
Microsoft Sentence Completion Challenge の結果。
1040文の穴埋め問題です。
Skip-gramの結果は、答えの単語から周りの単語を
当てた正解率です。
評価結果
単語間の関連性の推定結果です(学習単語数783
M、次元数300)。
まとめ
• 本論文で紹介した単語のベクトル表現は、NNLM
など他の手法よりも高い精度で、単語の類似性
を幾何学的に表現することができる。また、必要
なコンピュータ資源も他の手法より少ない。
• CBOWよりもskip-gramのほうが、やや性...
ご清聴
ありがとうございまし
た
Upcoming SlideShare
Loading in …5
×

Efficient estimation of word representations in vector space

1,655 views

Published on

NN論文を肴に酒を飲む会#4の発表資料

Published in: Data & Analytics
  • Be the first to comment

Efficient estimation of word representations in vector space

  1. 1. Efficient Estimation of Word Representations in Vector Space 2017/10/2 石垣哲郎 NN論文を肴に酒を飲む会 #4
  2. 2. 本プレゼンは、Tomas Mikolov、Kai Chen、Greg Corrado、Jeffrey Dean著の 論文「Efficient Estimation of Word Representations in Vector Space」(arXiv:1301.3781v3)の要 旨紹介です。
  3. 3. 発表者自己紹介 氏名:石垣 哲郎 1986年4月 日本電気株式会社入社 2015年11月 日本インサイトテクノロジー株 式会社入社 TensorflowやKERASは仕事ではなく、もっぱらオフ タイムに触っています。
  4. 4. 論文の主旨 自然言語処理において、単語のベクトル表現を連 続値ベクトルにすることによって、少ないコンピュー タ資源で高い精度を実現することができる。 更に、単語の文法的( syntactic)、意味的 ( semantic)な類似性に関する評価において、高い 性能を実現できた。
  5. 5. ニューラルネットワークモデル 0.埋め込み one-hotベクトル表現された語彙集合Vの各要素∈{0,1}|V| を、行列𝑬 ∈ ℝⅮ× V によって、ℝⅮに射影します。 ここで、Dは連続ベクトル表現の次元です。 また、行列𝑬’ ∈ ℝ𝑙𝑜𝑔 V ×Ⅾによって、連続ベクトル表現を ℝ𝑙𝑜𝑔 V に射影し、階層化softmaxの手法によって、正解の one-hotベクトルとcategorical_crossentropy評価します。(対 数は常用対数) 行列𝑬および𝑬’が学習の対象です。
  6. 6. ニューラルネットワークモデル 1. Continuous Bag-of-Words Model(CBOW) ターゲットの単語の前後の単語ベクトルから得られた結果に、ターゲットの単語ベクトルを使っ て学習させます。𝒘(𝑡) ∈{0,1}|V|はone-hotベクトル、𝒗(𝑡) ∈ ℝⅮ はその埋め込み表現です。 下の図では前後2単語ずつですが、論文によると、前後4単語ずつの時が最も良い結果を得ら れたとしています。 𝒗(𝑡 − 2) 𝒗(𝑡 − 1) 𝒗(𝑡 + 1) 𝒗(𝑡 + 2) 𝒘(𝑡 − 2) 𝒘(𝑡 − 1) 𝒘(𝑡 + 1) 𝒘(𝑡 + 2) 𝒘(𝑡) 𝑬|V|次元 D次元 𝑬’ |V|次元 log|V| 次元 階層化 softmax Categorical crossentropy INPUT PROJECTION SUM OUTPUT D次元
  7. 7. ニューラルネットワークモデル 2. Continuous Skip-gram Model ターゲットの単語から算出された結果に、ターゲットの前後の単語ベクトルを使って 学習させます。 下の図では前後2単語ずつですが、論文では計算量削減のため、最大10単語までの 幅でランダムに単語幅を決定して評価しています。 𝒗(𝑡) 𝒘(𝑡) 𝒘(𝑡 − 2) 𝒘(𝑡 − 1) 𝒘(𝑡 + 1) 𝒘(𝑡 + 2) |V|次元 INPUT 𝑬 𝑬’ log|V| 次元 階層化softmax |V|次元 Categorical_crossentropy D次元 PROJECTION OUTPUT
  8. 8. ニューラルネットワークモデル 3. 評価関数 Huffman木ベースの階層化softmax ※階層化softmax:分類対象を2分木表現することで、各ノードの活性 化確率をsoftmaxの代わりにsigmoidの積で求める、計算量削減手 法 ※Huffman木:単語の出現頻度に対応して生成した2分木
  9. 9. 解説:階層化softmax 𝑤0 ・・・・・・・・・・・・・・・・・・ |V|次元ベクトルの各要素を2分探索木 に対応させると、階層数は(だいたい) log(|V|)になります。 各要素は各層の「オンオフ」の組み合わ せで一意に表現できるので、ニューラル ネットのノードを各層に対応させると、各 要素の確率は各層の活性化関数(2択な のでsigmoid)の積で表現できます。 あとはcategorical_crossentropyにより、 softmaxの重い計算をせずに誤差評価で きます。𝑤1 𝑤𝑖= 0≤𝑗<log 𝑉 𝜎(𝑠𝑗 (𝑖) ⋅ 𝑬′ 𝒗[𝑗, 0]) 𝑤|V|−1 ここに、 𝒗 ∈ ℝⅮは単語の連続ベクトル表現、 𝑬′ ∈ ℝ𝑙𝑜𝑔 V ×Ⅾは重み行列、 𝑠𝑗 (𝑖)は𝑤𝑖の 階層オンオフ表現で、値は右の通り。 𝑠𝑗 (𝑖) = 1, 階層𝑗が「ON」のとき -1, 階層𝑗が「OFF」のとき 𝑤2 ONOFF ONOFF ONOFF ONOFF ONOFF ONOFF ONOFF
  10. 10. 評価結果 CBOW、skip-gramを含む、以下の複数の単語ベクト ル化手法について、単語類似性の表現能力を評価 します。 ① CBOW ② skip-gram ③ Feedforward Neural Net Language Model (NNLM) ④ Recurrent Neural Net Language Model (RNNLM)
  11. 11. 評価結果 semanticsyntactic 以下のようなカテゴリでテストセットを準備し、評価します。評価尺度 は、左側3列の単語が与えられたときに、一番右の列の単語が当てら れるかどうか、です。
  12. 12. 評価結果 単語の推定は、ベクトル演算で行います。 X=vector(”biggest”)−vector(”big”)+vector(”small”) 推定が正解かどうかは、コサイン距離で評価します。 (Xがコサイン距離的にvector(“smallest”)に最も近け れば正解)
  13. 13. 小ネタ:コサイン距離(またはコサイン類似 度)について ベクトルaおよびbが挟む角度を𝜑と置くとき、コサイ ン距離はずばり、cos 𝜑です。 𝜑 a b b-a 余弦定理より、 ‖b-a‖2 2= ‖a‖2 2 +‖b‖2 2-2‖a‖2 ‖b‖2 cos 𝜑 一方、内積とL2ノルムの関係より、 左辺=<b-a,b-a>= ‖a‖2 2 +‖b‖2 2-2<a,b> これを左辺に代入して両辺の同一項をキャンセルする と、 <a,b>= ‖a‖2 ‖b‖2 cos 𝜑 ゆえに <a,b> ‖a‖2 ‖b‖2 =cos 𝜑
  14. 14. 評価結果 訓練データ:グーグルニュース6Bトークン、埋め込み ベクトル次元640の時の結果です。
  15. 15. 評価結果 前ページで引用されている論文[20]の評価パターン は以下の通りです。
  16. 16. 評価結果 公開されている結果との比較です。
  17. 17. 評価結果 エポック数を増やした時の結果です。同じデータで 繰り返し訓練するより、訓練データ量を増やしたほう が同等またはやや良い結果が得られます。また、訓 練時間も短くて済みます。
  18. 18. 評価結果 分散フレームワーク「DistBelief」を使用した、大規模 並列学習の結果です。
  19. 19. 評価結果 Microsoft Sentence Completion Challenge の結果。 1040文の穴埋め問題です。 Skip-gramの結果は、答えの単語から周りの単語を 当てた正解率です。
  20. 20. 評価結果 単語間の関連性の推定結果です(学習単語数783 M、次元数300)。
  21. 21. まとめ • 本論文で紹介した単語のベクトル表現は、NNLM など他の手法よりも高い精度で、単語の類似性 を幾何学的に表現することができる。また、必要 なコンピュータ資源も他の手法より少ない。 • CBOWよりもskip-gramのほうが、やや性能が良い。 • 同じデータで繰り返し訓練するより、訓練データ 量を増やしたほうが効果が高い。
  22. 22. ご清聴 ありがとうございまし た

×