CNN最適化の制御式を生成するRNNの論文を読む
ランニングできず 英語できず
(1) CNN最適化の制御式を生成するRNNの論文を読む
「Neural Optimizer Search with Reinforcement Learning」
https://arxiv.org/abs/1709.07417
CNNの最適化の制御式をRNNが強化学習で学習するモデルでかなり画期的なモデルです。
例えばCNNの最適化の仕様は次の様な重み調整の制御式で示す事ができます。
ここで
RNNが数式の構文を生成する性能に注目し、CNNが最適な精度を出せる様に制御式を強化学習するモデルとなります。
概念図は次となります。
(1.1) 手法
1) 制御式DSL(Domain Specific Language)の仕様
深層学習の重み調整の制御式(DSL)は下記の単位が繋がる形式で学習します。
ここで
はオペレータ
は関数(1引数)
はバイナリィ関数
は学習率
制御式は図示すると次の様な構成となります
以下に各種類の要素があります
2) RNNの構成
制御式は5つの要素が1単位として連結した構成になります。
RNNでは上式は計算順序(逆ポーランド法)になっています。
3)強化学習によるRNNの学習
RNNの強化学習の記述は次式のみです。
ここで
は最大化する目的関数です
は制御式を投入した場合のCNN精度の改善幅を示しています
は制御式の投入確率ででパラメータ化されています
但しこの強化学習は相当時間がかかるので様々な工夫をしています。
・強化学習モデルはPPO(Proximal Policy Optimization)を採用
・CNNは簡便な学習で済ます(2層、5回繰返)
・組合わせの数はあるので無駄な組合わせを排除
それでも1日費やすとのことです。
(1.2) 結果
下図が強化学習を繰返しと簡便CNNによる精度の改善状態です。
10000回で収束しています。 データはCIFAR-10 CNN
下表の様な重み調整の制御式と精度が達成されています。
識別モデルはwide-ResNet データはCIFAR-10
(1.3) 感想
この論文では各制御式での重みの収束軌跡も添付しています。黒点が収束位置です。
素晴らしい成果と思います。この様な重み調整の制御式の試行が深層学習の解明に大きく寄与すると思えます。