[dlhacks 実装] the statistical recurrent unit

Post on 22-Jan-2018

331 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The Statistical Reccurent Unit

Akuzawa Kei

DLhacks

August 28, 2017

Contents

1 書誌情報

2 Introduction

3 Model

4 Experiments

5 Discussion

6 実装上のポイント

2 / 16

書誌情報

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

3 / 16

Introduction

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

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

4 / 16

model: graph and equations

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

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

5 / 16

model: interpretaions

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

multi-scaled statistics

—(¸)t = ¸—

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

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

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

6 / 16

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

model: interpretations

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

8 / 16

experiments

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

9 / 16

experiments

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

10 / 16

experiments

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

11 / 16

論文まとめ

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

12 / 16

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

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

—(¸)t = ¸—

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

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

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

13 / 16

実装上のポイント: 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

実験結果

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

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

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

15 / 16

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

top related