[dl輪読会]adanet: adaptive structural learning of artificial neural networks

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

Upload: deep-learning-jp

Post on 21-Jan-2018

413 views

Category:

Technology


2 download

TRANSCRIPT

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

DL Hacks輪読

AdaNet: Adaptive Structural Learning of Artificial Neural Networks

2017/06/02黒滝 紘生

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

目次

- 概要

- 手法

- 実験

- まとめ

2

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

書誌情報

- 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

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

概要

- NNのパラメタ数を減らしたいとき、大きな NNから初めて枝刈りすると、無駄が出る。

チューニングも大変。

- NNの構造(レイヤー数やノード数 )と、ウェイトを同時に学習する、 "ADANET"を作った。

- 理論的保証に基づいた目的関数で、モデルの複雑さにペナルティを与えた。

- CIFAR-10の派生タスクで実験して、他に負けない性能のネットワークを

自動で習得できることを示した。

- NNの構造学習にて理論的な境界をつけたのは、筆者の知る限り初めて。

4

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

目次

- 概要

- 手法

- 実験

- まとめ

5

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

目指したい一般的なネットワーク

- 出力(緑)は全ての入力・隠れユニットにつなげる

- 赤や黄色は、自分より下のレイヤーのユニットにつなげる

6

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

構造拡張アルゴリズムによる実現方法

- 青と緑 からスタート

1回目:黄、2:紫、3:赤、と作っていく

- 今は、赤を拡張したい

- (a)は、赤のレイヤー数が紫と等しい (2)(b)は、赤のレイヤー数が紫プラス 1 (3)

- (a)と(b)を共に作り、目的関数を最小化

小さかった方を採用して、次の周に行く

(次頁アルゴリズム )

7

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

構造拡張アルゴリズム

8

←戦略(a)と(b)で、ネットhとh'を生成

←hとh'で、目的関数をそれぞれ最適化

←hとh'で、良かった方を採用

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

目的関数

- (4)式から導かれる (5)式のFを最適化する。

9

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

目的関数

- (4)式から導かれる (5)式のFを最適化する。

10

ただし、

if u = h

else

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

目的関数

- (4)式から導かれる (5)式のFを最適化する。

11

ただし、

付け加えたネットの出力と正解ラベルの積

if u = h

else

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

目的関数

- (4)式から導かれる (5)式のFを最適化する。

12

ただし、 生成したネットのどちらか

if u = h

else

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

目的関数

- (4)式から導かれる (5)式のFを最適化する。

13

ただし、モデルの複雑さへのペナルティ

if u = h

else

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

目的関数

- (4)式から導かれる (5)式のFを最適化する。

14

ただし、

生成されたネットに対応する関数仮説集合H

if u = h

else

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

目的関数

- (4)式から導かれる (5)式のFを最適化する。

15

ただし、

仮説集合gに対するRademacher複雑度

if u = h

else

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

構造拡張アルゴリズム

16

←戦略(a)と(b)で、ネットhとh'を生成

←hとh'で、目的関数をそれぞれ最適化

←hとh'で、良かった方を採用

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

ネットワーク拡張候補の生成(WEAKLEARNER)

17

- (5)式の目標関数Fを正則化した、 (6)式のFを、wとhについて最小化する。

- R(w, h)は正則化項。ただし、後述の CIFAR10実験ではR=0。

- 「ランダムにチョイスする手も考えられる」などと書かれている

- Appendix. Cには、別のアルゴリズムが述べられている

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

構造拡張アルゴリズム

18

←戦略(a)と(b)で、ネットhとh'を生成

←hとh'で、目的関数をそれぞれ最適化

←hとh'で、良かった方を採用

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

目次

- 概要

- 手法

- 実験

- まとめ

19

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

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

- deer-truck- deer-horse- automobile-truck- cat-dog- dog-horse

20

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

実験: CIFAR-10- ADANET、普通のNN(NN , NN-GP)、ロジスティック回帰 (LR)で比較した。

- ADANETと、LRでは、ハイパーパラメータをグリッドサーチした。

- NNは、ハイパーパラメタ+レイヤー/ノード数を、グリッドサーチするバージョン (NN)と、

ハイパーパラメタ+レイヤー/ノード数を、Gaussian process banditsで探すバージョン (NN-GP)の2通りをやった。

21

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

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

22

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

結果: CIFAR-10- ADANETはユニット数が少なかった。

- 難しい"cat-dog"では、より複雑な隠れ2層を選んだ。

23

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

結果: CIFAR-10- ADANETの亜種を色々作り、deer-truckで精度をテストした。

- SD: Rademacher複雑度の代理に、最終隠れ層の標準偏差 (SD)を使った

- R: 正則化項を          とした

- P: 付け足すネットワークは、一回前のネットワークにだけ接続できる

- D: 前に加えたネットワークに、 Dropoutを使う。

24

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

実験: Criteo Click Rate Prediction dataset- https://www.kaggle.com/c/criteo-display-ad-challenge

- 7日分のimpressionと、クリック・非クリックラベル

- 今回は、ADANETとNNのハイパーパラメータを共に

Gaussian processes banditsでチューニングした

25

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

結果: Criteo Click Rate Prediction dataset- NNはサーチの結果、隠れ 4レイヤー×512ユニットとなった。

ADANETは、隠れ1レイヤーの512ユニットで、良い精度が出た。

26

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

目次

- 概要

- 手法

- 実験

- まとめ

27

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

まとめ

- NNの構造とパラメータを同時に学習する ADANETを作った

- 強い理論的保証をうまく使った

- モデル複雑度と実験誤差最小化のトレードオフを目的関数にした

- 自動で構造を決めながらも、グリッドサーチよりも良い結果を得た

28

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

補足: - ADANET.CVXというネットワーク拡張戦略の亜種が、 Appendix.Cに紹介されており、

より柔軟で効率良いネットワークができる、と述べているが、実験は一切為されていない。

「ADANETよりも探索空間が狭まってしまう」らしい

29

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