画像認識モデルを自動的に作る。1日以内に。~simple and efficient architecture...

23
Copyright © 2017 TIS Inc. All rights reserved. 画像認識モデルを自動的に作る。1日以内に。 戦略技術センター 久保隆宏 Simple And Efficient Architecture Search for Convolutional Neural Networks

Upload: takahiro-kubo

Post on 21-Jan-2018

1.355 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Copyright © 2017 TIS Inc. All rights reserved.

画像認識モデルを自動的に作る。1日以内に。

戦略技術センター 久保隆宏

Simple And Efficient Architecture Search for Convolutional Neural Networks

Copyright © 2017 TIS Inc. All rights reserved. 2

論文のサマリ

画像認識モデル(CNN)を自動作成する試み

提案手法

Neural Architecture Search by Hillclimbing (NASH)

ネットワークの変形: Morph

徐々に変形させていく: Hillclimbing

評価

まとめ

目次

Copyright © 2017 TIS Inc. All rights reserved. 3

久保隆宏 TIS株式会社 戦略技術センター

化学系メーカーの業務コンサルタント出身

既存の技術では業務改善を行える範囲に限界があるとの実感から、戦略技術センターへと異動

現在は機械学習や自然言語処理の研究・それらを用いたシステムのプロトタイピングを行う

自己紹介

kintoneアプリ内にたまったデータを簡単に学習・活用 (@Cybozu Days 2016)

機械学習のビジネスへの適用/音楽生成で同人誌ダブル出展 (@技術書典2 2017)

チュートリアル講演:深層学習の判断根拠を理解するための研究とその意義(@PRMU 2017)

Copyright © 2017 TIS Inc. All rights reserved. 4

所属するチームのミッション

chakki

すべての人が、ティータイムに帰れるようにする

すべての人が、ティータイム(15:00)に帰れる(茶帰)社会の実現を目指します。 この実現には、既存の仕事を効率化するのでなく、根本的に「仕事の仕方」を変える必要があります。 しかし、慣れた仕事の仕方というのは簡単には変わりません。だからこそ、実際に「体験」をし、効果を「実感」してもらうことが重要になります。 そのため、私たちは先進的技術を用い、仕事の仕方が変わる体験を提供していきます。

Copyright © 2017 TIS Inc. All rights reserved. 5

chakki

まずは自分たち(システム開発者)が帰れるように

自然言語処理/機械学習を活用する

SumEval

要約の評価指標であるROUGEを計測するツール。オリジナルのPerlスクリプトとの一致評価・多言語対応を実装。

arXivTimes

論文の一言サマリをGitHub上で共有する取り組み。併せて会社共同での論文輪講も実施中(Twitterもやってます)

namaco

文字ベースの固有表現認識を行うライブラリ。janomeライクに、namaco.Taggerで簡単にタグ付けできる。

Copyright © 2017 TIS Inc. All rights reserved. 6

Simple And Efficient Architecture Search for Convolutional Neural Networks

「ネットワークの変更」を定式化し、変更⇒評価⇒ベストなモデルの選択⇒変更・・・と繰り返していく手法を提案(Neural Architecture Search by Hillclimbing (NASH))

これにより、CIFAR-10のエラー率6%切りを12時間、5%台を24時間で達成

また、ランダムにCNNを構築しても6%~7%台(既存の自動構築手法の精度に匹敵)は出てしまうことを確認

論文のサマリ

Copyright © 2017 TIS Inc. All rights reserved. 7

DNNでは古くからハイパーパラメーターへの依存が大きすぎるという問題があった。そのため、自動的に最適化できないかという研究がされてきた。

ランダムに探索 J. Bergstra and Y. Bengio. Random search for hyper-parameter optimization. 13(1):281–305, 2012.

Grid Searchよりは俄然良いという結果

最適なハイパーパラメーターをサンプリングする(ベイズ最適化) J. Bergstra, R. Bardenet, Y. Bengio, and B. Kegl. Algorithms for hyper-parameter optimization. In NIPS, 2011.

J. Snoek, H. Larochelle, and R.P. Adams. Practical Bayesian optimization of machine learning algorithms. In NIPS, 2012.

強化学習的に探索する 1.多腕バンディット、2.遺伝的アルゴリズム、3.explore&exploit

1. L. Li, K. G. Jamieson, G. DeSalvo, A. Rostamizadeh, and A. Talwalkar. Efficient hyperparameter optimization and infinitely many armed bandits. CoRR, abs/1603.06560, 2016a.

2. I. Loshchilov and F. Hutter. CMA-ES for hyperparameter optimization of deep neural networks. CoRR, abs/1604.07269, 2016.

3. M Jaderberg, C Fernando, K Simonyan, I Dunning, T Green, O Vinyals, A Razavi, J Donahue, W M Czarnecki, S Osindero, V Dalibard, K Kavukcuoglu. Population Based Training of Neural Networks. CoRR, abs/1711.09846, 2017.

画像認識モデル(CNN)を自動作成する試み(1/4)

Copyright © 2017 TIS Inc. All rights reserved. 8

パラメーターの最適化からさらに踏み込んで、ネットワーク構造そのものを生成するという研究が近年行われている。

ハイパーパラメーター最適化問題の枠組みで説く(構造=パラメータ) H. Mendoza, A. Klein, M. Feurer, T. Springenberg, and F. Hutter. Towards automatically-tuned neural networks. In

AutoML, 2016.

強化学習ベース(現在の主流) 1.レイヤーの選択(CNN/Pooling/全結合etc)=Actionとして最適化、2.RNNで構造を出力、3.ブロックを強化学習で組み合わせる

(ブロックの適正は本タスクより小さいデータセットで検証)、

1. Bowen Baker, Otkrist Gupta, Nikhil Naik, and Ramesh Raskar. Designing neural network architectures using reinforcement learning. ICLR 2017, 2016.

2. Barret Zoph and Quoc V. Le. Neural architecture search with reinforcement learning. 2017.

3. Barret Zoph, Vijay Vasudevan, Jonathon Shlens, and Quoc V. Le. Learning transferable architectures for scalable image recognition. 2017.

画像認識モデル(CNN)を自動作成する試み(2/4)

Copyright © 2017 TIS Inc. All rights reserved. 9

当然だが、一つのネットワークを作成したらゼロから学習させないと精度がわからない。そのため、必然的に計算コストは高くなる。まして強化学習なんてやった日には・・・

Designing neural network architectures using reinforcement learning

10GPU-days x 10 run Neural architecture search with reinforcement learning

800GPUs x 28 day Learning transferable architectures for scalable image recognition

500GPUs x 4 days

画像認識モデル(CNN)を自動作成する試み(3/4)

要求される、莫大な計算資源(GPU)

人間に換算するとオール公立で高校まで通わせるぐらいの金額

Copyright © 2017 TIS Inc. All rights reserved. 10

ネットワークを作ってゼロから再学習、ではなく、ネットワークを変形させていくタイプの手法が検討される。本研究は、この流れの延長線上にある。

Tianqi Chen, Ian J. Goodfellow, and Jonathon Shlens. Net2net: Accelerating learning via knowledge transfer. arXiv preprint, 2015.

Han Cai, Tianyao Chen, Weinan Zhang, Yong Yu, and Jun Wang. Reinforcement learning for architecture search by network transformation. 2017.

1 day on 5 GPU

※「変形」のタイプには、レイヤを追加したりskip connectionを入れるといったものや、大きなネットワークから「枝刈り」するなど様々な手法がある。また、これらの中には省エネではなく強化学習と同様多くの計算リソースを要求するものもある。

画像認識モデル(CNN)を自動作成する試み(4/4)

Copyright © 2017 TIS Inc. All rights reserved. 11

論文中で提案されている手法は、Neural Architecture Search by Hillclimbing (NASH)と名付けられている。その名の通り、変形を繰り返しながら徐々に、後退することなく、精度を高めていく。

Neural Architecture Search by Hillclimbing (NASH) (1/2)

small, pre-trained network

第一世代 第二世代 ・・・

★ morph

morph

Copyright © 2017 TIS Inc. All rights reserved. 12

「後退することのない変形」は以下のように定式化されている。

変形=マッピングと同等し、そのため変形前後で(レイヤーの)挙動は変わらないという仮定を置く(以下、𝑓・𝑔はネットワークで𝑖はレイヤーの番号)。

𝑓𝑖𝑤𝑖 𝑥 = 𝑔𝑖

𝑤𝑖~

𝑥 𝑓𝑜𝑟 𝑒𝑣𝑒𝑟𝑦 𝑥 ∈ 𝑋

この等価性が保証される範囲で変形を行うことで、「後退」が(理論上は)起こらないようにしている。

Neural Architecture Search by Hillclimbing (NASH) (2/2)

Copyright © 2017 TIS Inc. All rights reserved. 13

変形の種類は、以下の4つが定義されている。

TypeⅠ: レイヤーの追加(正則化用レイヤも含む)

TypeⅡ: 出力のConcat

TypeⅢ: ReLUの追加

TypeⅣ: 出力のMerge

変形はこれらを組み合わせて行い、例えばReLUでの出力を行っているレイヤにConv-BatchNorm-Reluのブロックを加える操作は、TypeⅢ(TypeⅠ (TypeⅠ(layer)))といった形で表現できる。

以下では、各タイプの詳細について紹介する。

NASH: Morph (1/4)

Copyright © 2017 TIS Inc. All rights reserved. 14

TypeⅠ

𝑓𝑖~𝑤𝑖 𝑥 = 𝐴𝑓𝑖

𝑤𝑖 𝑥 + 𝑏

で𝑓𝑖𝑤𝑖

𝑥 を置き換える。これは𝐴 = 𝟏, 𝑏 = 𝟎の時明らかに仮定を満たす(おそらく、初期値を𝐴 = 𝟏, 𝑏 = 𝟎において学習させると思われる。以下のMorphも同様)。

単純に現在のレイヤに重みをかけてバイアスを足しているので、いわゆるレイヤの追加に使用できる。

𝑓𝑖~𝑤𝑖 𝑥 = 𝐶 𝐴𝑓𝑖

𝑤𝑖 𝑥 + 𝑏 + 𝑑

とすれば、出力の正則化(Batch Normalizationなど)を行うレイヤも定義できる。なお、これは𝐶 = 𝐴−1, 𝑑 = −𝐶𝑏の時仮定を満たすのが明らか。

NASH: Morph (2/4)

Copyright © 2017 TIS Inc. All rights reserved. 15

TypeⅡ

𝑓𝑖~𝑤𝑖 𝑥 = 𝐴 𝐴~ ℎ𝑤ℎ 𝑥

ℎ~𝑤ℎ~𝑥

+ 𝑏

で𝑓𝑖𝑤𝑖

𝑥 = 𝐴ℎ𝑤ℎ 𝑥 + 𝑏を置き換える。これはA~ = 0の時明らかに仮定を満たす。これは、ℎ~ = ℎの場合ネットワークのサイズを広げることになるし、ℎ(𝑥)が連続した隠れ層、ℎ~(𝑥)が𝑥とするとconcat型のSkip-Connectionを表現できる。

TypeⅢ

関数𝑓𝑖𝑤𝑖が冪等である場合(x=x*xを満たす場合冪等という)、定義からし

て以下式が成立する。

𝑓𝑖(𝑤𝑖,𝑤𝑖

~) = 𝑓𝑖𝑤𝑖

~

°𝑓𝑖𝑤𝑖

𝑤𝑖~ = 𝑤𝑖の場合、仮定を満たす。これはReLUも満たす。

NASH: Morph (3/4)

Copyright © 2017 TIS Inc. All rights reserved. 16

TypeⅣ

𝑓𝑖~𝑤𝑖

~

= 𝜆𝑓𝑖𝑤𝑖

𝑥 + 1 − 𝜆 ℎ𝑤ℎ 𝑥 , 𝑤𝑖~ = 𝑤𝑖 , 𝜆, 𝑤ℎ

で𝑓𝑖𝑤𝑖

𝑥 を置き換える。これは𝜆 = 1の時仮定を満たす。 これでadditive型のSkip-Connectionを表現できる。

NASH: Morph (4/4)

Copyright © 2017 TIS Inc. All rights reserved. 17

初期のネットワークをベースに、𝑛𝑁𝑀回の変形を行った子ネットワークを

𝑛𝑛𝑒𝑖𝑔ℎ 個作成し、その中でパフォーマンスの良いものを次のベースとする。

これを𝑛𝑠𝑡𝑒𝑝𝑠繰り返す

NASH: Hillclimbing (1/2)

Copyright © 2017 TIS Inc. All rights reserved. 18

適用されるMorphはランダムに選ばれる

TypeⅠについて

追加場所はランダムに選ばれる

フィルタ(kernel)のサイズは3~5からランダムに選択される

チャンネル数は直近の畳み込みと同じサイズ

TypeⅡについて

拡大幅は、 2~4倍の中からランダムに選択される

Skip Connection対象のレイヤは範囲(i~j)は、ランダムに選択される(Type Ⅳも同様)

変形させたネットワークの学習にはcosine annealingを使用

NASH: Hillclimbing (2/2)

cosineカーブに従い学習率を上げ下げする手法。こちらの解説に詳しい(左図もこの記事より引用)。誤差率約1%低減の効果。 I. Loshchilov and F. Hutter. Sgdr: Stochastic gradient descent with restarts.

Copyright © 2017 TIS Inc. All rights reserved. 19

評価(1/3)

CIFAR-10

CIFAR-100

GPU1日で250GPU/10dayに勝つ(800には劣るが良い仕事)。

Copyright © 2017 TIS Inc. All rights reserved. 20

評価(2/3)

スクラッチから学習したときと同等orそれ以上の精度を記録

パラメーターの継承はパフォーマンスを毀損していないか?

子ネットワークは親のWeightを継承しているが、継承せずにスクラッチから学習したほうが良かったりしないだろうかという点を検証。

Copyright © 2017 TIS Inc. All rights reserved. 21

評価(3/3)

OpenReviewでのコメント

ネットワークを徐々に成長させることでゼロからの学習の必要がなくなり、構造探索の速度とコストを削減している点は評価できる。

ただ、変形のバリエーションはあまりなくヒューリスティックでもあり、Dense/ResNetのような単純な構造にはたやすくたどり着けそう・・・といった感じ

Copyright © 2017 TIS Inc. All rights reserved. 22

大規模な計算資源がなくても、ネットワークアーキテクチャの自動設計を行うことができた!

本論文の手法は、変形のタイプを増やしたり、選別のアルゴリズムを工夫することでさらに拡張が可能(変形後の学習として、Born Again Networkを組み合わせてみるのも面白そう)。

何よりランダムに設計した場合のベースライン評価をきっちり行っている。GPUで数日間溶かす前に、ベースラインの検証をしっかり行おう。

まとめ

THANK YOU