Top Banner
Visualizing and Understanding Neural Models in NLP Jiwei Li, Xinlei Chen, Eduard Hovy, and Dan Jurafsky NAACL 2016, pages 681-691. 論文 コード TechTalks.tv 読み手: 岡崎 直観 東北大学 @ chokkanorg8回最先端NLP勉強会 但し書きがある場合を除き,スライド中の図・表はLi+ (2016) の引用
14

Visualizing and understanding neural models in NLP

Jan 23, 2018

Download

Technology

Naoaki Okazaki
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Visualizing and understanding neural models in NLP

Visualizing and Understanding Neural Models in NLP

Jiwei Li, Xinlei Chen, Eduard Hovy, and Dan JurafskyNAACL 2016, pages 681-691.論文 コード TechTalks.tv

読み手: 岡崎直観 (東北大学) (@chokkanorg)

第8回最先端NLP勉強会

※但し書きがある場合を除き,スライド中の図・表はLi+ (2016) の引用

Page 2: Visualizing and understanding neural models in NLP

本研究の貢献: DNNモデルの解釈

• 人間が設計した素性からなるモデルは解釈可能• 例: 線形識別モデルにおける素性の重み

• 今や幅広いタスクでDNNが最高性能を達成• 単語ベクトルや隠れ層などでモデルの解釈が困難に

• DNNは意味合成をどのように実現しているのか?• 強調(intensification)や否定(negation)の取り扱い

• 文中の離れた場所の単語の意味の合成

• 文中の不要な要素(ストップワード)の除去

• 単語の顕著度(saliency)を可視化する手法を検討• 分散: 文中の単語ベクトルの平均からの乖離度

• 偏微分: 解いているタスクへの単語ベクトルの貢献度

Li+ (2016) Visualizing and Understanding Neural Models in NLP 2

Page 3: Visualizing and understanding neural models in NLP

本研究で用いたタスク (1/2):Stanford Sentiment Treebank (Socher+ 13)

• 句構造に5段階の評価ラベルが付与されたデータ

• 句構造を単語列に展開し,単語列から評価ラベルを予測する問題に変換した

• 単語列からラベルを予測する方が一般的なため

• 実験設定• 最適化: ミニバッチAdaGrad• 次元数: 60 (入力層と隠れ層)

Li+ (2016) Visualizing and Understanding Neural Models in NLP 3

(Socher+ 2013)

モデル 5クラス 2クラス

RNN 0.429 0.850LSTM 0.469 0.870双方向LSTM 0.488 0.878

Page 4: Visualizing and understanding neural models in NLP

本研究で用いたタスク (2/2):Seq2seqによる文生成

• 入力文をベクトルにエンコードして,同じ文をデコード(生成)するタスク(オートエンコーダ)

• エンコード/デコードにはLSTMを採用

• WMT’14コーパスの英語400万文(平均22.5単語)を学習データとして利用

Li+ (2016) Visualizing and Understanding Neural Models in NLP 4

very good movie

very good movie

<EOS> very good movie

<EOS>

𝑥𝑥𝑡𝑡

ℎ𝑡𝑡

𝑦𝑦𝑡𝑡 = softmax 𝑊𝑊(𝑦𝑦𝑦)ℎ𝑡𝑡

Page 5: Visualizing and understanding neural models in NLP

句ベクトルの可視化(次元削減なし)

• 強調(左): 特定の次元が強くなる傾向が見られる

• 否定(右): 特定の次元の反転が見られるが(枠線),強調の場合と比べると傾向は不明瞭

• (読み手注)ベクトルを積極的に変換しているように見える

Li+ (2016) Visualizing and Understanding Neural Models in NLP 5

Page 6: Visualizing and understanding neural models in NLP

句ベクトルの可視化(t-SNE)

Li+ (2016) Visualizing and Understanding Neural Models in NLP 6

悪そうなクラスタ

not badが混ざっている (not good ≒ bad; not bad ≠ good)

Page 7: Visualizing and understanding neural models in NLP

文ベクトルの可視化(t-SNE)

Li+ (2016) Visualizing and Understanding Neural Models in NLP 7

主節がlikeで逆接を入れるとかなり遠ざかる主節がhateで逆接を入れた場合は,あまり遠ざからない

Page 8: Visualizing and understanding neural models in NLP

単語ベクトルの分散による顕著度

• 文𝑆𝑆中の単語𝑖𝑖のベクトル𝒙𝒙𝑖𝑖の𝑗𝑗次元目𝑥𝑥𝑖𝑖,𝑗𝑗の顕著度

Var𝑆𝑆 𝑖𝑖, 𝑗𝑗 = 𝑥𝑥𝑖𝑖,𝑗𝑗 −1𝑆𝑆�𝑖𝑖′∈𝑆𝑆

𝑥𝑥𝑖𝑖′,𝑗𝑗

2

• 単語ベクトルも学習対象とする場合のみ利用可

• ベクトル合成過程などを可視化できない

Li+ (2016) Visualizing and Understanding Neural Models in NLP 8

文𝑆𝑆中の全単語ベクトルの𝑗𝑗次元目の平均値

Page 9: Visualizing and understanding neural models in NLP

分散の可視化例:評判を反映しそうな単語の顕著度が上昇

Li+ (2016) Visualizing and Understanding Neural Models in NLP 9

Page 10: Visualizing and understanding neural models in NLP

偏微分による顕著度(画像認識の場合)

ILSVRC 2013のテストセットに対して,どのピクセルがクラス分類に貢献したかを可視化

(物体の位置をアノテートしていないのに大体の位置が分かる!)

K Simonyan, A Veldaldi, A Zisserman. Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps. ICLR 2014.

Li+ (2016) Visualizing and Understanding Neural Models in NLP 10

Page 11: Visualizing and understanding neural models in NLP

偏微分による顕著度

• 文𝑆𝑆中の単語𝑖𝑖のベクトル𝒙𝒙𝑖𝑖の𝑗𝑗次元目𝑥𝑥𝑖𝑖,𝑗𝑗の顕著度

Grad𝑆𝑆 𝑖𝑖, 𝑗𝑗 =𝜕𝜕𝑙𝑙(𝒙𝒙1 …𝒙𝒙 𝑆𝑆 , �𝑦𝑦)

𝜕𝜕𝑥𝑥𝑖𝑖,𝑗𝑗

• 解釈: 確率推定値(スコア)の一次近似𝑙𝑙 𝒙𝒙1 …𝒙𝒙 𝑆𝑆 , �𝑦𝑦 ≈ 𝑙𝑙 𝑥𝑥𝑖𝑖,𝑗𝑗 + 𝑙𝑙′ 𝑥𝑥𝑖𝑖,𝑗𝑗 𝛿𝛿𝑥𝑥 = 𝑙𝑙′ 𝑥𝑥𝑖𝑖,𝑗𝑗 𝛿𝛿𝑥𝑥 + 𝑏𝑏

• 単語ベクトルの値を微小に(𝛿𝛿𝑥𝑥だけ)変化させるとき,ラベル �𝑦𝑦の確率推定値(スコア)に大きな影響を与えるものを見つける

Li+ (2016) Visualizing and Understanding Neural Models in NLP 11

ラベル �𝑦𝑦を予測した際の確率推定値またはスコア

一次までのテイラー展開 𝑥𝑥𝑖𝑖,𝑗𝑗を𝛿𝛿𝑥𝑥だけ動か

した時の影響度定数項

誤差逆伝搬法で計算可

Page 12: Visualizing and understanding neural models in NLP

偏微分の可視化例(評判分析)

精度の高いモデル(双方向LSTM)の方がhateによりフォーカスしている

Li+ (2016) Visualizing and Understanding Neural Models in NLP 12

Page 13: Visualizing and understanding neural models in NLP

偏微分の可視化例(文生成)(I like the movie through the plot is boring)

Li+ (2016) Visualizing and Understanding Neural Models in NLP 13

内容語の生成: 入力文の単語ベクトルを使う機能語の生成: 直前の語(言語モデル)を使う

Page 14: Visualizing and understanding neural models in NLP

まとめ

• 単語の顕著度(saliency)を可視化する手法を検討• 分散: 文中の単語ベクトルの平均からの乖離度

• 偏微分: 解いているタスクへの単語ベクトルの貢献度

• 言語処理のニューラルモデルの可視化の第一歩• どの可視化方法が良いかは分からない

• ニューラルネットワークの比較検討はこれから

• 読み手の感想• 文生成モデルの解析は興味深かった

• アテンションを可視化することとの関連性は?

Li+ (2016) Visualizing and Understanding Neural Models in NLP 14