Transcript
Page 1: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

QUASI-RECURRENT NEURAL NETWORKS

James Bradbury∗, Stephen Merity∗ , Caiming Xiong & Richard Socher

2017-05-12

輪読@松尾研究室M1 田村浩一郎

Page 2: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

Agenda

1. Information

2. Introduction

3. Proposed Model

4. Experiment & result

5. Conclusion

Page 3: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

1. Information

• Author

- James Bradbury∗, Stephen Merity∗ , Caiming Xiong & Richard SocherSalesforce

- Salesforce Researchのグループ

• Submission date

- Submitted on 5 Nov 2016 (v1), last revised 21 Nov 2016 (this version, v2)

• Society

- ICLR2017

- https://arxiv.org/abs/1611.01576

• About

-時系列データをCNN的に取り扱うモデル (*CNNとRNNを組み合わせたものではない)

Page 4: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

2. Introduction

• RNNの問題点- RNNは時系列データを扱う一般的な深層学習モデル

1. 並列計算できないため,非常に長い系列のタスクを処理できない• h(t)の出力をするためにはh(t-1)を計算する必要がある

2. 意味解釈が困難*• 再帰的に同一の重みWを更新していくので,特徴量の意味解釈が難しい

:

h1

h2

hn

t-1

z1

z2

zn

:

t

W ベクトルの順序に意味がなくなる

特徴量の意味が解釈できない

Page 5: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

2. Introduction

• CNNで時系列データを扱う際の問題点-Fully character-level neural machine translation without explicit segmentation(Lee et al., 2016)など,CNNを時系列データに用いてよい精度を出している研究もある

1.時間不変性(time invariance)を仮定しており,過去の全ての情報が反映されていない

引用:Fully character-level neural machine translation without explicit segmentation

近辺の情報しか反映されていない

長い系列長のデータを処理することが難しい

Page 6: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

2. Introduction

• QRNN

- CNNにしたことで並列計算を可能に

- 要素積を計算し,隠れ層において重みの順伝播を行わないことで,要素の独立して維持(意味解釈可能性)

- Pooling層でLSTM likeに過去の情報を反映させる

Page 7: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

2. Introduction

• 3つの実験を行なった

1. document-level sentiment classification

2. language modeling

3. character-level machine translation

• 各実験において,LSTMと同等以上の精度を示した

• Epochあたりの計算時間はLSTMに比べて25〜50%程度だった

• 隠れ層の活性化の可視化によって意味解釈の可能性がある

Page 8: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

3. Proposed Model

• QRNNはCNNにおける畳み込み層とPooling層で構成される

• 入力はn次元ベクトル系列長Tのベクトル𝑿 ∈ 𝑹𝑻×𝒏

• m個のフィルタを用いて時系列方向に畳み込み,Z を得る- 未来の情報をたたみ込まないように注意(Masked convolution)

- 𝑍 ∈ 𝑅𝑇×𝑚

Page 9: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

3. Proposed Model

• 畳み込みはLSTMに対応させる形で以下の3つを行う1. 𝑍 = tanh(𝑊𝑧 ∗ 𝑋)

2. 𝐹 = 𝜎(𝑊𝑓 ∗ 𝑋)

3. 𝑂 = 𝜎(𝑊𝑜 ∗ 𝑋)

- * は時系列方向のMasked Convolutionを示す

• 以上の式は,LSTM的に理解すれば以下のようになる- フィルタのサイズを2として,

1. 𝑧𝑡 = tanh(𝑊𝑧1 ∗ 𝑥𝑡−1 +𝑊𝑧

2 ∗ 𝑥𝑡) ->LSTMのinput

2. 𝑓𝑡 = σ(𝑊𝑓1 ∗ 𝑥𝑡−1 +𝑊𝑓

2 ∗ 𝑥𝑡) ->LSTMのforget

3. 𝑜𝑡 = σ(𝑊𝑜1 ∗ 𝑥𝑡−1 +𝑊𝑜

2 ∗ 𝑥𝑡) ->LSTMのoutput

Page 10: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

3. Proposed Model

• Pooling- LSMT的に扱う

- 3つのpoolingを提案

1. f-pooling

ℎ𝑡 = 𝑓𝑡 ℎ𝑡−1 + (1 − 𝑓𝑡) 𝑧𝑡2. fo-pooling

𝑐𝑡 = 𝑓𝑡 𝑐𝑡−1 + (1 − 𝑓𝑡) 𝑧𝑡ℎ𝑡 = 𝑜𝑡 𝑐𝑡

3. ifo-pooling𝑐𝑡 = 𝑓𝑡 𝑐𝑡−1 + 𝑖𝑡 𝑧𝑡ℎ𝑡 = 𝑜𝑡 𝑐𝑡

Page 11: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

3. Proposed Model

• Regularization- 正則化として,LSTMで用いられているzoneoutを用いる

- 𝐹 = 1 − 𝑑𝑟𝑜𝑝𝑜𝑢𝑡(1 − 𝜎(𝑊𝑓 ∗ 𝑋))とすれば良い

• Densely-connected layers- Sequence classificationにおいて,QRNNの各層の間に

skip connection(tからt+dなどのジャンプしている接続)を追加する方が良い

• Encoder-Decoder Models- QRNNを翻訳のようなタスクでも用いるため,QRNNをencoder, decoderとして使うことも可能

Page 12: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

4. Experiment & result

• QRNNの精度と計算時間を以下の実験で検証する

1. document-level sentiment classification

2. language modeling

3. character-level machine translation

Page 13: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

4. Experiment & result

1. document-level sentiment classification

• データセット: IMDb Dataset- Input : 映画に関するレビュー文章

- Label : 評価 positive(25,000sample) / negative(25,000sample) の2値分類

• hyper-parameter- 4層のdensely-connected, 256ユニット

- word vector dimensions: 300

- Dropout = 0.3, L2 = 4 * 10^-6

- Minibatch = 24, RMSprop, lr=0.001, α=0.9, ε=10^-8

Page 14: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

4. Experiment & result

1. document-level sentiment classification• 結果

• 隠れ層の活性化の可視化ベクトルを要素独立にしたため,隠れ層の分析が有意に

色は活性化を表す

timestep 120~160くらいで薄くなているが,この部分だけ否定的なwordが多かった模様

LSTMと同等程度の精度であるが,計算時間が大幅に向上

Page 15: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

4. Experiment & result

2. language modeling

• データセット : Penn Treebank

- コーパスの一つ

- Train: 929,000 words, validation: 73,000 words, test: 82,000words

- Word-level prediction を行う

- Perplexityで評価する(smaller is better)

- exp( 𝑥 𝑝(𝑥) log1

𝑝(𝑥))

• hyper-parameter- 2層, 640ユニット

- SGD + moumentum, lr=[1 if n_epoch<=6, else lr_{t-1}*0.95]

Page 16: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

4. Experiment & result

2. language modeling

• 結果 LSTMと比較してよりよい結果に

RNNに由来する計算時間が短縮している

Page 17: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

4. Experiment & result

3. character-level machine translation

• データセット : IWSLT German–English spoken-domain translation

- Tedxから209,772の文章のペア

- Train: 929,000 words, validation: 73,000 words, test: 82,000words

- sequence-to-sequence QRNNを評価

• hyper-parameter- 4層, 320ユニット

- Adam, 10epoch

- 畳み込み一層目: filter size = 6, それ以外:filter size = 2

Page 18: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

4. Experiment & result

3. character-level machine translation

• 結果

Character level LSTMよりも良い精度で,計算時間も25%ほど

Word-level attentionとほぼ同等の精度

Page 19: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

5. Conclusion

• QRNNは,RNNとCNNの双方の長所を取り込んだmodel

- CNNのように並列処理可能

- RNNのように全時系列の影響を反映

• QRNNは,LSTMをはじめ既存手法に対して,同等以上の精度を高速な学習で出すことができる

• QRNNは,より意味解釈可能性を持っている

Page 20: [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS

~資料参考文献~

• Fully Character-Level Neural Machine Translation without Explicit Segmentation(Jason Lee, Kyunghyun Cho, Thomas Hofmann, 2016)

https://arxiv.org/abs/1610.03017

*画像引用

• LSTMを超える期待の新星、QRNN(@icoxfog417, Qiita)http://qiita.com/icoxfog417/items/d77912e10a7c60ae680e

• [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS(DeepLearningJP2016, slide share)

https://www.slideshare.net/DeepLearningJP2016/dlquasirecurrent-neural-networks


Top Related