[dlhacks 実装] the statistical recurrent unit

16
The Statistical Reccurent Unit Akuzawa Kei DLhacks August 28, 2017

Upload: deep-learning-jp

Post on 22-Jan-2018

330 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: [DLHacks 実装] The statistical recurrent unit

The Statistical Reccurent Unit

Akuzawa Kei

DLhacks

August 28, 2017

Page 2: [DLHacks 実装] The statistical recurrent unit

Contents

1 書誌情報

2 Introduction

3 Model

4 Experiments

5 Discussion

6 実装上のポイント

2 / 16

Page 3: [DLHacks 実装] The statistical recurrent unit

書誌情報

Authors: Junier B. Oliva, Barnabas Poczos, JeffSchneiderConferrence: ICML2017選定理由: シンプルかつ高精度の系列モデル。LSTM や GRU との比較が楽しみ。

3 / 16

Page 4: [DLHacks 実装] The statistical recurrent unit

Introduction

従来のモデル(GRU, LSTM)系列モデルの訓練は、系列が長いと勾配消失の危険性MemoryCell, Gate によって長期間の依存関係を保持することができる

提案モデル(SRU)隠れ層に統計量の移動平均のみを保持する(Gate はいらない)いくつかの重みで移動平均をとる直観的利点: 移動平均の組み合わせにより様々な過去の統計量を表現できる多くの設定で GRU, LSTM を outperforming

4 / 16

Page 5: [DLHacks 実装] The statistical recurrent unit

model: graph and equations

— = [—(¸1); —(¸2); ::::::; —(¸m)]

f() は relu— がいわゆる隠れ層

5 / 16

Page 6: [DLHacks 実装] The statistical recurrent unit

model: interpretaions

data-driven statistics—(¸); ’ を統計量として考える(データセットを表現する変数くらいの意味)これらは a-priori に定められた統計量とは違い、データから自動で学習されるので好ましい

multi-scaled statistics

—(¸)t = ¸—

(¸)t`1 + (1` ¸)’t

= (1` ¸)(’t + ¸’t`1 + ¸2’t`2::::::)

上式から、¸ が小さいほど、より現在の統計量に重みを置いていると解釈できる

6 / 16

Page 7: [DLHacks 実装] The statistical recurrent unit

model: interpretaions

Viewpoints of the Past適当な重み wj;wk を用いて、wj—(¸j) ` wk—(¸k) を考えるこれにより、様々な過去の時点を参照できるようになる(’t + 0:2’t`1 + :::)` (’t + 0:1’t`1 + :::) ı 0:1’t`1

5(’t + 0:1’t`1 + 0:12’t`2:::)

+ 15(’t + 0:2’t`1 + 0:22’t`2:::)

` 10(’t + 0:3’t`1 + 0:32’t`2:::) ı c’t`2

7 / 16

Page 8: [DLHacks 実装] The statistical recurrent unit

model: interpretations

Vanishing Gradiants勾配消失を避ける二つの工夫その 1. Reluその 2. ¸ による BPTT のコントロール

8 / 16

Page 9: [DLHacks 実装] The statistical recurrent unit

experiments

MNIST28x28 の画像を x1; x2; :::; x748 の系列データと見て、分類を行うハイパーパラメタは hyperopt で Bayesian OptimzationGRU と LSTM を outperform

9 / 16

Page 10: [DLHacks 実装] The statistical recurrent unit

experiments

MNISTA = f0; 0:5; 0:9; 0:99; 0:999g を変化させた場合A の変化に敏感なことがわかる

10 / 16

Page 11: [DLHacks 実装] The statistical recurrent unit

experiments

MNISTiid: rdims = 0 ^ A = f0:99grecur: A = f0:99gmulti: rdims = 0この結果から、recurrent statistics(r) と muti-scaledstatistics(複数の ¸) 両方の必要性がわかる

11 / 16

Page 12: [DLHacks 実装] The statistical recurrent unit

論文まとめ

系列情報を保持した統計量を導入複数の ¸ により過去の様々な時点を参照可能これらの工夫により、long term dependencies をうまく扱うことができた

12 / 16

Page 13: [DLHacks 実装] The statistical recurrent unit

実装上のポイント: mu の更新式

— の更新式を全ての ¸ について同時に行いたい

—(¸)t = ¸—

(¸)t`1 + (1` ¸)’t

— = [—(0); —(0:5); —(0:9); —(0:99); —(0:999)]

= (A˙ I’)˛ —t`1 + (A˙ I’)˛ (IA ˙ ’)

13 / 16

Page 14: [DLHacks 実装] The statistical recurrent unit

実装上のポイント: parameter の tuning

hyperopt をつかった tuning50epoches の試行を、30 通りのパラメータに試す(論文中では、10k iterations x batchsize(不明)を 100 回)

但し、今回はあくまで hyperopt の練習自体を目的とし、一部のパラメータは論文中で報告された値に固定している得られた best parameter で 200Epochs 回す

系列長 784 のデータなので、勾配消失・爆発が起きやすい。いくつかの工夫が必要

1. forget gate bias を大きくする(gru, lstm 特有)2. gradient clipping を加える3. RNN 系は計算時間めっちゃかかるので、cost が爆発したり学習が見られない時は早期打ち切り

14 / 16

Page 15: [DLHacks 実装] The statistical recurrent unit

実験結果

SRU: 95.6, GRU: 98.4, LSTM: 97.8ただしまだ収束していないみたいで、SRU が上回る可能性もある(実験終わらずすみません)やはりある程度精度は出そうなので、あとはタスクの得手不得手、チューニングの難しさが SRU が流行るかどうかの鍵になるのではないか

メリット: weight initialization が GRU, LSTM より簡単デメリット: phi-size, r-size, out-size, A など、ハイパーパラメタが多い

反省パラメータのチューニングはめっちゃ時間かかるのでもっと早めに準備すればよかった

15 / 16

Page 16: [DLHacks 実装] The statistical recurrent unit

References

The Statistical Recurrent Unit, JunierB.OlivaBarnabasPoczos JeffSchneider, ICML2017 (画像はここから (p13 以外))A Simple Way to Initialize Recurrent Networks ofRectified Linear Units, Le, Q. V., Jaitly, N., and Hinton(pixel-by-pixel sequence of MNIST の元ネタ)

16 / 16