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.

Visualizing and understanding neural models in NLP

1,621 views

Published on

Jiwei Li, Xinlei Chen, Eduard Hovy, and Dan Jurafsky. In Proc. of NAACL 2016, pages 681-691.

Published in: Technology
  • Be the first to comment

Visualizing and understanding neural models in NLP

  1. 1. Visualizing and Understanding Neural Models in NLP Jiwei Li, Xinlei Chen, Eduard Hovy, and Dan Jurafsky NAACL 2016, pages 681-691. 論文 コード TechTalks.tv 読み手: 岡崎 直観 (東北大学) (@chokkanorg) 第8回最先端NLP勉強会 ※但し書きがある場合を除き,スライド中の図・表はLi+ (2016) の引用
  2. 2. 本研究の貢献: DNNモデルの解釈 • 人間が設計した素性からなるモデルは解釈可能 • 例: 線形識別モデルにおける素性の重み • 今や幅広いタスクでDNNが最高性能を達成 • 単語ベクトルや隠れ層などでモデルの解釈が困難に • DNNは意味合成をどのように実現しているのか? • 強調(intensification)や否定(negation)の取り扱い • 文中の離れた場所の単語の意味の合成 • 文中の不要な要素(ストップワード)の除去 • 単語の顕著度(saliency)を可視化する手法を検討 • 分散: 文中の単語ベクトルの平均からの乖離度 • 偏微分: 解いているタスクへの単語ベクトルの貢献度 Li+ (2016) Visualizing and Understanding Neural Models in NLP 2
  3. 3. 本研究で用いたタスク (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.850 LSTM 0.469 0.870 双方向LSTM 0.488 0.878
  4. 4. 本研究で用いたタスク (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 𝑊𝑊(𝑦𝑦𝑦) ℎ𝑡𝑡
  5. 5. 句ベクトルの可視化(次元削減なし) • 強調(左): 特定の次元が強くなる傾向が見られる • 否定(右): 特定の次元の反転が見られるが(枠線), 強調の場合と比べると傾向は不明瞭 • (読み手注)ベクトルを積極的に変換しているように見える Li+ (2016) Visualizing and Understanding Neural Models in NLP 5
  6. 6. 句ベクトルの可視化(t-SNE) Li+ (2016) Visualizing and Understanding Neural Models in NLP 6 悪そうなクラスタ not badが混ざっている (not good ≒ bad; not bad ≠ good)
  7. 7. 文ベクトルの可視化(t-SNE) Li+ (2016) Visualizing and Understanding Neural Models in NLP 7 主節がlikeで逆接を入れるとかなり 遠ざかる 主節がhateで逆接を入れた場合は, あまり遠ざからない
  8. 8. 単語ベクトルの分散による顕著度 • 文𝑆𝑆中の単語𝑖𝑖のベクトル𝒙𝒙𝑖𝑖の𝑗𝑗次元目𝑥𝑥𝑖𝑖,𝑗𝑗の顕著度 Var𝑆𝑆 𝑖𝑖, 𝑗𝑗 = 𝑥𝑥𝑖𝑖,𝑗𝑗 − 1 𝑆𝑆 � 𝑖𝑖′∈𝑆𝑆 𝑥𝑥𝑖𝑖′,𝑗𝑗 2 • 単語ベクトルも学習対象とする場合のみ利用可 • ベクトル合成過程などを可視化できない Li+ (2016) Visualizing and Understanding Neural Models in NLP 8 文𝑆𝑆中の全単語ベクトル の𝑗𝑗次元目の平均値
  9. 9. 分散の可視化例: 評判を反映しそうな単語の顕著度が上昇 Li+ (2016) Visualizing and Understanding Neural Models in NLP 9
  10. 10. 偏微分による顕著度(画像認識の場合) 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
  11. 11. 偏微分による顕著度 • 文𝑆𝑆中の単語𝑖𝑖のベクトル𝒙𝒙𝑖𝑖の𝑗𝑗次元目𝑥𝑥𝑖𝑖,𝑗𝑗の顕著度 Grad𝑆𝑆 𝑖𝑖, 𝑗𝑗 = 𝜕𝜕𝑙𝑙(𝒙𝒙1 … 𝒙𝒙 𝑆𝑆 , �𝑦𝑦) 𝜕𝜕𝑥𝑥𝑖𝑖,𝑗𝑗 • 解釈: 確率推定値(スコア)の一次近似 𝑙𝑙 𝒙𝒙1 … 𝒙𝒙 𝑆𝑆 , �𝑦𝑦 ≈ 𝑙𝑙 𝑥𝑥𝑖𝑖,𝑗𝑗 + 𝑙𝑙′ 𝑥𝑥𝑖𝑖,𝑗𝑗 𝛿𝛿𝑥𝑥 = 𝑙𝑙′ 𝑥𝑥𝑖𝑖,𝑗𝑗 𝛿𝛿𝑥𝑥 + 𝑏𝑏 • 単語ベクトルの値を微小に(𝛿𝛿𝑥𝑥だけ)変化させるとき,ラ ベル�𝑦𝑦の確率推定値(スコア)に大きな影響を与えるも のを見つける Li+ (2016) Visualizing and Understanding Neural Models in NLP 11 ラベル�𝑦𝑦を予測した際の 確率推定値またはスコア 一次までのテイラー展開 𝑥𝑥𝑖𝑖,𝑗𝑗を𝛿𝛿𝑥𝑥だけ動か した時の影響度 定数項 誤差逆伝搬法で計算可
  12. 12. 偏微分の可視化例(評判分析) 精度の高いモデル(双方向LSTM)の方がhateによりフォーカスしている Li+ (2016) Visualizing and Understanding Neural Models in NLP 12
  13. 13. 偏微分の可視化例(文生成) (I like the movie through the plot is boring) Li+ (2016) Visualizing and Understanding Neural Models in NLP 13 内容語の生成: 入力文の単語ベクトルを使う 機能語の生成: 直前の語(言語モデル)を使う
  14. 14. まとめ • 単語の顕著度(saliency)を可視化する手法を検討 • 分散: 文中の単語ベクトルの平均からの乖離度 • 偏微分: 解いているタスクへの単語ベクトルの貢献度 • 言語処理のニューラルモデルの可視化の第一歩 • どの可視化方法が良いかは分からない • ニューラルネットワークの比較検討はこれから • 読み手の感想 • 文生成モデルの解析は興味深かった • アテンションを可視化することとの関連性は? Li+ (2016) Visualizing and Understanding Neural Models in NLP 14

×