[Dl輪読会]AdaNet: Adaptive Structural Learning of Artificial Neural Networks

>100 Views

June 02, 17

スライド概要

2017/6/2
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

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

関連スライド

各ページのテキスト
1.

DL Hacks輪読 AdaNet: Adaptive Structural Learning of Artificial Neural Networks 2017/06/02 黒滝 紘生

2.

目次 - 概要 - 手法 - 実験 - まとめ 2

3.

書誌情報 - AdaNet: Adaptive Structural Learning of Artificial Neural Networks - Corinna Cortes, Xavi Gonzalvo, Vitaly Kuznetsov, Mehryar Mohri, Scott Yang - ICML 2017 Accepted - https://arxiv.org/abs/1607.01097 (Jul 5, 2016) - Cited by 5 (Google Scholor, Jun 2, 2017) 3

4.

概要 - NNのパラメタ数を減らしたいとき、大きな NNから初めて枝刈りすると、無駄が出る。 チューニングも大変。 - NNの構造(レイヤー数やノード数 )と、ウェイトを同時に学習する、 "ADANET"を作った。 - 理論的保証に基づいた目的関数で、モデルの複雑さにペナルティを与えた。 - CIFAR-10の派生タスクで実験して、他に負けない性能のネットワークを 自動で習得できることを示した。 - NNの構造学習にて理論的な境界をつけたのは、筆者の知る限り初めて。 4

5.

目次 - 概要 - 手法 - 実験 - まとめ 5

6.

目指したい一般的なネットワーク - 出力(緑)は全ての入力・隠れユニットにつなげる 赤や黄色は、自分より下のレイヤーのユニットにつなげる 6

7.

構造拡張アルゴリズムによる実現方法 - 青と緑 からスタート 1回目:黄、2:紫、3:赤、と作っていく - 今は、赤を拡張したい - (a)は、赤のレイヤー数が紫と等しい (2) (b)は、赤のレイヤー数が紫プラス 1 (3) - (a)と(b)を共に作り、目的関数を最小化 小さかった方を採用して、次の周に行く (次頁アルゴリズム ) 7

8.

構造拡張アルゴリズム ←戦略(a)と(b)で、ネットhとh'を生成 ←hとh'で、目的関数をそれぞれ最適化 ←hとh'で、良かった方を採用 8

9.

目的関数 - (4)式から導かれる (5)式のFを最適化する。 9

10.

目的関数 - (4)式から導かれる (5)式のFを最適化する。 ただし、 if u = h else 10

11.

目的関数 - (4)式から導かれる (5)式のFを最適化する。 付け加えたネットの出力と 正解ラベルの積 ただし、 if u = h else 11

12.

目的関数 - (4)式から導かれる (5)式のFを最適化する。 ただし、 生成したネットのどちらか if u = h else 12

13.

目的関数 - (4)式から導かれる (5)式のFを最適化する。 ただし、 モデルの複雑さへのペナルティ if u = h else 13

14.

目的関数 - (4)式から導かれる (5)式のFを最適化する。 ただし、 if u = h else 生成されたネットに対応する関数仮説集合H 14

15.

目的関数 - (4)式から導かれる (5)式のFを最適化する。 ただし、 仮説集合gに対するRademacher複雑度 if u = h else 15

16.

構造拡張アルゴリズム ←戦略(a)と(b)で、ネットhとh'を生成 ←hとh'で、目的関数をそれぞれ最適化 ←hとh'で、良かった方を採用 16

17.

ネットワーク拡張候補の生成(WEAKLEARNER) - (5)式の目標関数 Fを正則化した、 (6)式のFを、wとhについて最小化する。 - R(w, h)は正則化項。ただし、後述の CIFAR10実験ではR=0。 - 「ランダムにチョイスする手も考えられる」などと書かれている Appendix. Cには、別のアルゴリズムが述べられている - 17

18.

構造拡張アルゴリズム ←戦略(a)と(b)で、ネットhとh'を生成 ←hとh'で、目的関数をそれぞれ最適化 ←hとh'で、良かった方を採用 18

19.

目次 - 概要 - 手法 - 実験 - まとめ 19

20.

実験: CIFAR-10 - 元の理論が2クラス分類なので、それに合わせて、 CIFAR10のタスクを改変した。 - deer-truck deer-horse automobile-truck cat-dog dog-horse 20

21.

実験: CIFAR-10 - ADANET、普通のNN(NN , NN-GP)、ロジスティック回帰 (LR)で比較した。 - ADANETと、LRでは、ハイパーパラメータをグリッドサーチした。 - NNは、ハイパーパラメタ +レイヤー/ノード数を、グリッドサーチするバージョン (NN)と、 ハイパーパラメタ +レイヤー/ノード数を、Gaussian process banditsで探すバージョン (NN-GP)の 2通りをやった。 21

22.

結果: CIFAR-10 - ADANETは高い精度を出した。 22

23.

結果: CIFAR-10 - ADANETはユニット数が少なかった。 難しい"cat-dog"では、より複雑な隠れ 2層を選んだ。 23

24.

結果: CIFAR-10 - ADANETの亜種を色々作り、 deer-truckで精度をテストした。 - SD: Rademacher複雑度の代理に、最終隠れ層の標準偏差 (SD)を使った R: 正則化項を とした P: 付け足すネットワークは、一回前のネットワークにだけ接続できる D: 前に加えたネットワークに、 Dropoutを使う。 24

25.

実験: Criteo Click Rate Prediction dataset - https://www.kaggle.com/c/criteo-display-ad-challenge - 7日分のimpressionと、クリック・非クリックラベル - 今回は、ADANETとNNのハイパーパラメータを共に Gaussian processes banditsでチューニングした 25

26.

結果: Criteo Click Rate Prediction dataset - NNはサーチの結果、隠れ 4レイヤー×512ユニットとなった。 ADANETは、隠れ1レイヤーの512ユニットで、良い精度が出た。 26

27.

目次 - 概要 - 手法 - 実験 - まとめ 27

28.

まとめ - NNの構造とパラメータを同時に学習する ADANETを作った - 強い理論的保証をうまく使った - モデル複雑度と実験誤差最小化のトレードオフを目的関数にした - 自動で構造を決めながらも、グリッドサーチよりも良い結果を得た 28

29.

補足: - ADANET.CVXというネットワーク拡張戦略の亜種が、 Appendix.Cに紹介されており、 より柔軟で効率良いネットワークができる、と述べているが、実験は一切為されていない。 「ADANETよりも探索空間が狭まってしまう」らしい 29