深層時系列を使った汎用的な最適化の論文を読む
時系列を使って強化学習を汎用的に解くモデルが発表されており、この様な画期的な論文を知らなかったとは如何に勉強不足であるか思い知る機会となった。
[1611.05763] Learning to reinforcement learn
もしこの論文があまり読まれていないなら、その理由は「Learning to Learn using
Gradient Descent」にロジックを殆ど踏襲しており、これを読まないと全く記述が理解できないからである。
そこで遅まきながら一昨年のNIPSでかなり有名になったLSTMを使った汎用的最適化の下記の論文を読む。
この論文は最適化のSDGの収束ロジックを時系列のLSTMに置き換えたものといえる。
深層学習の良くできたモデルでは精度と汎化の両方が傑出している理由は解明中であるが、次の様に既存の数理的なロジックを深層学習に置き換えて、高次元(数万次元)でより性能改善を示す流れが顕著であり、これもその一つと考えられる。
・ 変分法 VAE
[1312.6114] Auto-Encoding Variational Bayes
・ 事後分布 ABC
https://papers.nips.cc/paper/8228-predictive-approximate-bayesian-computation-via-saddle-points.pdf
一般に多次元のパラメータでの関数の最適解ではSDGを使うが、関数の特徴(勾配や局所解)によって様々な工夫を使うのが一般的である。しかしLearning to learnではこの様な配慮を必要とせず深層学習で最適化できるとしている。
(1) Learning to Learn モデル
最適化パラメータを解くにはLearning to LearnではSDGを以下と置き換えている。
(1)
・SDG
・Learning to learn
(2)
ここで
は最適化パラメータ(Optimizee)で1万次元を想定
は最適化関数(Optimizer)
はOptimizerのパラメータ
(2)式は時系列過程であり、をLSTMを使って性能を改善するアイデアは自然である。
これを定式化するとOptimizerは以下の損失関数の最小化を深層学習で解いて得られることになる。
(3)
(3)式を以下の繰返しで最小化する
ここで
は深層学習の効率化のための緩和係数 実験ではを使用
ででの勾配である。
は深層学習を示す 実験ではLSTMに限定していない。
は深層学習の隠変数
Learning to Learnの論文では(3)式の最適化過程を下図で示している。上段では式(3)の最適化パラメータ(Optimizee)の改善 下段では最適化関数の改善を示している。
上図の様なモデル化で高次元の最適化を実現しなければならないが、最適化パラメータの各次元の交差を考えると天文学的な組み合わせになる。そこでLearning to learnでは下図の様に並列に次元数nだけLSTMを提供して実現していてパラメータの交差をしていない。この様なモデルの簡便化で性能が出るのが不思議である。
(2) 実験
(3)式のでSDGを含み様々な手法の結果を示しているがLearning to Learn(LSTM)が一番性能がよい。また実験2)でも分る様に1万次元の画像でもよく識別できている。
実験1)
Quadraticはを示し は10次元
20個の隠れ変数 2層モデルを使用
実験2)画像の識別
ここで LSTM-subとはheld-out label(非学習用データでの区分)の結果
実験3) 複数の損失関数でのLearning to Learn
(3) 感想
次元が高いパラメータでの関数の最適化でLSTMを用いたLearing to Learnが実験で汎用的に適合できることを示したが、何故実現できるかは皆目分らず、やはり深層学習の基本的な解明を必要としている。この辺の議論は最近特に成果が出始めていおり、日本では統数研の今泉さんらの成果がある。