LoginSignup
6
4

More than 3 years have passed since last update.

ICLR2020のNAS調査(1): PC-DARTS: Partial Channel Connections for Memory-Efficient Architecture Search

Last updated at Posted at 2020-01-26

弊部署で,1月だけどアドベントカレンダーやろうぜ!!1となったので,自分も書くかということで、
ICLR2020のNAS(Neural Architecture Search)の論文調査をはじめました.
ICLR2020ではNAS関連の論文が少なくとも以下の11件2出ていました

本稿では(次があるとは(ry)最初に読んだ,
PC-DARTS: Partial Channel Connections for Memory-Efficient Architecture Search
についてざっくりとまとめたいと思います
ちなみに,ICLR2020論文読み会にて本内容を発表予定です
NASまだまだ全然わかってないので,参加者の方は色々教えて頂けると嬉しいです

TL;DR

探索時にチャンネルを一部だけ使う"Partial Channel Connection"を行うことで,NAS(DARTS)を正則化しつつ高速化.CIFAR10ではわずか0.1 GPU-daysの探索でエラー率2.57%(DARTS:2.76%,4 GPU-days),ImageNetでも3.8 GPU-daysの探索でエラー率24.2%(DARTS:26.7%)を実現.
(著者の書いたTL;DRは↓)

Allowing partial channel connection in super-networks to regularize and accelerate differentiable architecture search

手法

提案手法は①Partial Channel Connection(図上部)と,②Edge Normalization(図下部)の2つの要素で構成されています.
Figure 1

Partial Channel Connection

DARTSにおいて,全候補オペレーションの計算はメモリを大量に使うし重いのが難点です,そこで,下式の通り,1/Kのサンプリングされたチャンネルだけを計算して,残りはインプットをそのまま渡すようにしています.

これで,メモリ量と計算量はだいたい1/Kにできます.メモリが減ったことでバッチサイズを大きくとれるようになり,学習を安定させることができます.また,正則化による性能改善効果も得られるようです.

Edge Normalization(図下部)

チャンネル1/Kとかやって大丈夫?と思いますよね.著者も,反復ごとで違うチャンネルがサンプリングされ一貫性がなくなることは学習を不安定にする可能性があり望ましくないとしています.
そこで,セルのアウトプットを計算するときに,各ノードの出力を下式を用いて重みづけして足し合わせることで,この欠点の影響の緩和を図っています.

Edge Normalizationでチャンネルをサンプリングする影響が緩和される理由について,
↓のように,ノードの重みパラメタβが学習プロセス全体でシェアされているから,とされていますが,

Since βi,j are shared through the training process, the learned network architecture
is insensitive to the sampled channels across iterations, making the architecture search more stable.

このお気持ちが分からない…

実験

CIFAR10

わずか0.1 GPU-days(DARTS 2nd orderの1/10!!)の探索時間でエラー率2.57%を実現,
著者曰く,3%以下のエラー率の手法では探索時間最速とのこと.
CIFAR10

ImageNet

3.8 GPU-daysの探索でtop-1エラー率24.2%を実現.
(公開されている中では)最高性能とのこと.
ImageNet

Ablation Study

PC-DARTS.png
- サンプリングパラメタKの影響(図左部):
ハイパラKの影響について,CIFAR10の場合,K=4までは性能改善がみられています.
このことから,Partial Channel Connectionには,メモリ削減&高速化効果だけでなく,
正則化による過学習の抑制効果もあると思われます
- Partial Channel Connection(PC),Edge Normalization(EN)それぞれの効果(図右部):
CIFAR10, ImageNetどちらの場合でも,PC・ENともに単独で改善効果がみられています.また,組合せた場合がベストです.(PCについて,Batch Sizeを変えて実験したかどうかが少し気になるところ…)
図には含まれていませんが,ENなしの場合,CIFAR10で5回試行を行ったときに,
エラー率は2.54%~3.01%と変動していたの対し,ENありの場合,探索5試行の最小と最大の差は0.15%以下だったということで,学習安定化効果が狙い通り得られていたようです.

所感

やってることのシンプルさのわりに良好な結果が得られていて面白かったです.
DARTSは試行ごとで性能の変動がそれなりにあるので,PC-DARTSは1発でもそれなりに見れる結果が出そうなのも良いですね.(バッチサイズ大きくできることが効いてそうだな~と個人的には感じています)
あと,実装でマルチGPU対応してくれてることが地味にありがたいです.(DARTSのオリジナル実装はシングルGPU前提)
実験設定や他手法との比較について書ききれなかったので出来れば追記したいです…

論文情報

  • 著者: Yuhui Xu, Lingxi Xie, Xiaopeng Zhang, Xin Chen, Guo-Jun Qi, Qi Tian, Hongkai Xiong
  • 機関: Shanghai Jiao Tong University, Huawei Noah’s Ark Lab, Tongji University, Futurewei Technologie
  • コード: Github, Dropbox
  • 論文: OpenReview, arXiv

参考


  1. アドベントの意味的には1月は変な気もしますがそこは流してもらえると… 

  2. こちらで"architecture search" or "NAS"をタイトルに含む論文をカウント.1件例外は注釈3に記載.keywordsに含むとかで検索すれば恐らく他にも見つかると思う. 

  3. "architecture search"タイトルに入ってないけど何かの経緯で見つけたので一応 

6
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4