jojonki / arXivNotes

IssuesにNLP(自然言語処理)に関連するの論文を読んだまとめを書いています.雑です.🚧 マークは編集中の論文です(事実上放置のものも多いです).🍡 マークは概要のみ書いてます(早く見れる的な意味で団子).
https://github.com/jojonki/arXivNotes/issues
194 stars 8 forks source link

2017: A Structured Self-attentive Sentence Embedding #21

Open jojonki opened 6 years ago

jojonki commented 6 years ago

A Structured Self-attentive Sentence Embedding Zhouhan Lin, Minwei Feng, Cicero Nogueira dos Santos, Mo Yu, Bing Xiang, Bowen Zhou, Yoshua Bengio, ICLR 2017 https://arxiv.org/abs/1703.03130 se

概要

新しいSentence Embedding方法の提案.Embedding表現がベクトルでなく,2次元マトリックスとなるのが特徴.またアテンション機構を自分自身に適用するSelf attentionを提案.通常アテンションはソース・ターゲットのペアにおいて,お互いのアテンションを計算するのに用いるが,この論文では入力単体文に対して適用するのでSelf attention.3つの異なるデータセットで実験し良い結果がでた. the Age dataset(ツイートから年齢層(5レンジ)の識別), the Yelp dataset(レビューレーティング(5段階)の識別), the Stanford Natural Language Inteference(2つのテキストが与えられた時の関係を求める,entailment, contradiction and neutral)の3つ.

モデル

Bi-LSTMを使って入力文の表現を獲得するところまでは同じであるが,LSTM後のHidden States全体を使ってsoftmaxすることでSelf attentionと呼んでいる.ただ通常のこの方法ではセンテンスの1部分にフォーカスする(Softmax)ようになるので,長い文や'and'とかがある文においては,複数箇所にフォーカスする必要がある.そのため,d次元の重みでなく,rxd次元のWs2を最後にかけることで,アテンションをrxnに拡張できる.つまり長さnのセンテンスに対して,r回分の注目箇所が計算できるということ.下記の式でこれは実現できるが,2レイヤのMLP(biasなし)と同じ数式であるため,MLPの計算でいいというのもミソ. a このアテンションは入力センテンスのHidden statesであるHとかけられて(M=AH),Embedding MatrixであるMを取得できる.Mはrx2uの形であり,Embedding vectorでなくMatrixと呼ぶ所以はこれ.(2uはBi-LSTM後のHidden stateの次元数)

Penalization term

r回ホップするが,すべてのホップが似たような値になるリスクがあるので,下記の罰則項を導入する.ポリシーとしては,各レイヤのSoftmaxがなるべく重複しないように(異なる箇所にアテンションするように)できる.各ホップでまったく異なる箇所に注目していれば,AATは単位行列になる.似たようなところにアテンションしてしまうと,対角成分以外のところが罰則値として効いてくるようになっている.(フロベニウスノルム(各項の2乗ルート)で計算).KLダイバージェンス(各ホップが異なるようにするので普通と逆の使い方)などと比べても計算量がかなりお手軽. p

Ablation

罰則項ありなしとホップ数(1〜30)でも実験してそれぞれの効果を確認している.

jojonki commented 6 years ago

追試: