[DLHacks]“Recurrent Batch Normalization”<Lightening Talk>

>100 Views

June 01, 18

スライド概要

2018/05/28
Deep Learning JP:
http://deeplearning.jp/hacks/

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] “Recurrent Batch Normalization” <Lightening Talk> Hiroshi Sekiguchi, Morikawa Lab http://deeplearning.jp/ 1

2.

書誌情報 • “Recurrent Batch Normalization” International Conference on Learning Representations 2017 (ICRL 2017) https://arxiv.org/pdf/1603.09025.pdf • Authors: Tim Cooijmans, Nicolas Ballas, César Laurent, Ça˘glar Gülçehre & Aaron Courville MILA - Université de Montréal • ポイント: – LSTMあるいはGRUにおけるBatch Normalization(BN)の新たなImplementation提案 – 入力-隠れ層間の行列演算、隠れ層-隠れ層の行列演算、最終段に個々にBPを適用 – 適用評価例:Sequence MNIST,Character-level Penn Treebank,Txet8, Teaching Machines and Read and Comprehend • 選定理由: – 研究でLSTM or GRUにBPをImplementationする – 理論の理解と使うスクリプトの正当性を確認 2

3.

アジェンダ • 関連研究 • Recurrent Batch Normalization新手法 • 性能評価 3

4.

関連研究 • Recurrent Network – 時系列信号を扱う深層学習 • Recurrent Neural Network: Hopfield (1982) • Long Sort Term Memory(LSTM): Hochreiter & Schmidhiber 1997 • Gated Recurrent Unit(GRU): Cho et al. 2014 – 優秀な成績をあげるモデルは層数や隠れ変数の数が多い – 内部共変量シフト(Internal covariate shift)問題 • Batch毎の各層入力の分布(平均、分散)の違いが次段の層のパラメータの変化を招くた め、それ以降の層の入力の分布を変化させてしまい、学習の妨げになる • そもそもFeed Forward(FF)のBatch学習で問題 4 • Recurrent NetworkではFFに換算して実質的な層数が多いので死活的問題

5.

関連研究 -その2 • Batch Normalization (BN) – Ioffe & Szegedy 2015 – 目的:内部共変量シフトの減少 • 各層の活性化関数の入力のbatch毎の平均と分散を正規化することで、入力の変動を抑える Φ( 𝐵𝑁(ℎ; γ,β)) • h ∈ 𝑅 𝑑 : 活性化関数入力ベクトル、γ, β ∈ 𝑅 𝑑 :学習パラメータ、ε:固定ハイパーパラメータ Φ:活性化関数 ෢ • 学習時: E ℎ と 𝑉𝑎𝑟[ℎ]をBatch毎の平均と分散で近似しγ,βをBack Propagationで学習。 • テスト時:全学習を通して得られた学習済γ,βを使って、FFを計算。 – 効果 • 学習速度向上 • テスト時の汎化性が向上 5

6.

関連研究-その3 • Recurrent NetworkではBNの適応は限定的: Laurent et al. (2016) – 垂直方向のBNは有効だが、水平方向(時間方向)は層が深いので勾配消失・爆発を起こす – LSTM BL: (評価例)Penn Treebank Dataset:100文字のAlphabet列 の次に現れる文字を予測する BN-1 – BN-1: – BN-2: 𝑓෩𝑓 𝑖෩𝑡 ෪ 𝑜𝑡 𝑔 ෦𝑡 𝑓෩𝑓 𝑖෩𝑡 ෪ 𝑜𝑡 𝑔 ෦𝑡 = 𝐵𝑁(𝑊ℎ ℎ𝑡−1 + 𝑊𝑥 𝑥𝑡 + 𝑏)⇒対BL学習時Loss悪化 𝑐𝑡 = σ(𝑓෡𝑡 ) ⊙ 𝑐𝑡−1 + σ 𝑖෡𝑡 ⊙ 𝑡𝑎𝑛ℎ 𝑔 ෞ𝑡 ℎ𝑡 = σ(𝑜෢ 𝑡 ) ⊙ tanh 𝑐𝑡 BN-2 = 𝑊ℎ ℎ𝑡−1 + 𝐵𝑁(𝑊𝑥 𝑥𝑡 + 𝑏) ⇒学習時Loss良好、 𝑐𝑡 = σ(𝑓෡𝑡 ) ⊙ 𝑐𝑡−1 + σ 𝑖෡𝑡 ⊙ 𝑡𝑎𝑛ℎ 𝑔 ෞ𝑡 ℎ𝑡 = σ(𝑜෢ 𝑡 ) ⊙ tanh 𝑐𝑡 6

7.

関連研究ーその4 • 因みに、時間系列の平均、分散の計算には二通りあり – フレーム毎の正規化: 将来のフレームにアクセス不可の場合 (例)アルファベットベースのPenn Treebank言語モデル k: Batch# t: 時間フレーム – シークエンス毎の正規化: 将来のフレームにアクセス可能だが各シークエンスフレーム長が変動する場合 (例)言語翻訳モデル、音声認識モデル k:Batch# , i: batch内i番目sequence T: 各sequenceでnon-padding の長さ 7

8.

Recurrent Batch Normalization新手法 • 本論文の主題は、 – LSTMのBNのパラメータ設定を 𝑊ℎ ℎ𝑡−1 、𝑊𝑥 𝑥𝑡 、𝑐𝑖 に別々に行う • 垂直方向のみならず水平方向のBNも可能 • 𝑐𝑖 の生成にBNは適用せず⇒LSTMのダイナミックはそのまま。 𝑐𝑖 を通した勾配は従来通り – γの初期値を変更: • 先行研究のγ=1と異なり小さく設定 • 初期値γを小さくした方がtanh の勾配消失は回避される • TanhのGaussian入力分散が大きいと、 勾配の平均が下がりかつバラツキが 大きくなり、勾配消失が起こりやすい • しかしγが小さ過ぎ(γ < 0.01)は不安定 8

9.

性能評価 • 4つの課題で新手法の性能評価を行う – Sequential MNIST • s-MNIST:1ピクセル/時間ステップでスキャンラインの順番に入力しラベルを予測 • p-MNIST:1ピクセル/時間ステップで固定ランダムの順番で入力しラベルを予測 – Character-Level Penn Treebank • Penn Treebank Corpus(英語)をデータにした文字レベルの言語モデル • 入力:文章を100文字のtoken列に変換したsequenceを学習し次の文字を予測 • 学習サンプル:5017K文字、Validationサンプル393K文字、Testサンプル442K文字、10K単語 – Text8 • Wikipediaから抽出したアルファベットとスペースのデータベースを対象にした言語モデル • 入力:文章を180文字のtoken列に変換したsequenceを学習し次もの字を予測 • 大規模データ:学習サンプル90M文字、Validationサンプル5M文字、Testサンプル5M文字 – Teaching Machines and Read Comprehend • 自然言語処理のチャレンジベンチマーク • 実在のニュース原稿を読んで、その内容に関する質問に答える 9

10.

性能評価 その2 • Sequential MNIST – – – – Base Line Model (BL): 一層LSTM、100ユニット、識別部に全結合softmax 初期化:𝑊𝑥 直交初期化、 𝑊ℎ 単位行列で初期化 最適化:RMSProp、学習係数10−3 、モメンタム0.9、batch size:64 勾配Clipping:1 勾配爆発抑制のため 収束速度が速い 収束速度が速い ・Test時に正解率でSOTA。 ・特にpMNISTで汎化性が高い。 ・pMNISTは長時間のデータ依存の 捕捉が必要で、BN-LSTMは、その 長時間の依存性を捉えられている から 10

11.

性能評価-その3 • Character-Level Penn Treebank – – – – Base Line Model (BL): 1層 LSTM、 1000ユニット、識別部に全結合softmax 初期化:𝑊𝑥 、𝑊ℎ 、直交初期化 最適化:Stochastic Gradient Decent (SGD), 学習率0.002 Loss関数: bits/character: 全sequenceのentropy/全sequenceの文字数 Validation Loss はBN-LSTMが 良い 11

12.

性能評価ーその4 • Text8 – Base Line Model (BL):1層LSTM、2000ユニット、識別部に全結合softmax – 初期化:𝑊𝑥 、𝑊ℎ 、直交初期化 – 最適化: Stochastic Gradient Decent (SGD), 学習率0.001(adam方式の学習率縮小step rule) – 勾配Clipping:1 勾配爆発抑制のため 12

13.

性能評価ーその5 • Teaching Machines and Read Comprehend – Base Line Mdel (BL):Attentive Reader:RNN with Attention、Hermann2015 – 4種類のBNベースのNetworkを提案 • BN-LSTM:BLのLSTMをBN-LSTMに置換したもの • BN-LSTM everywhere:上記BN-LSTMに、Attention部の活性化関数(Tanh)直前にBN適用 • BN-e*:上記BN-LSTM everywhereにsequence毎の正規化を適用。Laurent et al. (2016)方式 – BNは 𝑊𝑥 𝑥𝑡 に適用し 𝑊ℎ ℎ𝑡−1 と𝑐𝑖 は非適用。 – フレーム長の長短の差を埋めるPaddingがbatch平均と分散に及ぼすことを避けるため。 • BN-e**:上記BN-e*をBidirectionalに。 – 逆方向のLSTMでnon-padding部分のみをreverseしpadding部は後方のまま。 – Paddingのために、隠れ層のvarianceが初stepで変化しないことを避けるため 13

14.

性能評価ーその6 • Teaching Machines and Read Comprehend:データセット:CNNの記事 14

15.

まとめ • 隠れ層のNormalizationを追加した新たなRecurrent Batch Normalization手法 を提案した。 • 本手法は学習が高速で汎化性能に優れ、言語モデルや質疑問題に効果が あることが分かった。 • 以前の関連研究(Laurent (2016))の問題の一つは、BNのパラメータγの 初期値が大きすぎたことが判明した。 • 可変長sequence、bidirectional model、高度な非線形Attentionメカニズム に本BN方式を適用して性能の向上を確認した。 15

16.

References S. Hochreiter and J Schmidhuber. Long short-term memory. Neural computation, 1997 K. Cho, B. Van Merriënboer, C. Gulcehre, D. Bahdanau, F. Bougares, H. Schwenk, and Y. Bengio. Learning phrase representations using rnn encoder-decoder for statistical machine translation. arXiv:1406.1078, 2014 Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. abs/1502.03167, 2015 C. Laurent, G. Pereyra, P. Brakel, Y. Zhang, and Y. Bengio. Batch normalized recurrent neural networks. ICASSP, 2016 T. Mikolov, I. Sutskever, A. Deoras, H. Le, S. Kombrink, and J. Cernocky. Subword language modeling with neural networks. preprint, 2012 K. M. Hermann, T. Kocisky, E. Grefenstette, L. Espeholt, W. Kay, M. Suleyman, and P. Blunsom. Teaching machines to read and comprehend. In NIPS, 2015 16

17.

END 17