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