見出し画像

分類AIの進化史⑯ProxylessNAS

前回は、GoogleのQuoc V. Leらによる強化学習を利用したNeural Architecture Search(NAS)を紹介しました。

NASによって発案されたモデルによる実験結果として、110層もあるResNetよりも良い成績を僅か39層で達成しました。しかし、パラメータ数はより多くなっている点が課題でした。

さらに、NASによるモデルの探索には莫大な数のGPUパワーが消費されました。というのも、NASのコントローラが新しいモデル構造を提案するたびに、はじめから訓練し直して評価をする必要があるからです。

そのため、評価のための訓練では、直接のターゲットであるImageNetのデータセットは使わずに、代替(プロキシ)であるCIFAR10などの小さいデータセットを使います。しかし、プロキシのデータセットによる評価が最終的なターゲットであるImageNetのデータセットでの評価と必ずしも一致するとは限りません。

できれば探索中にプロキシを使わずにターゲットのデータセットで評価をしたいものです。よって、学習のために必要なGPUリソースが比較的に少なくて済むNASの手法が望まれました。そこで登場したのが ProxylessNAS(プロキシなしのNAS)です。MITの Song Han らによる研究結果として2018年の12月にアーカイブに論文が投稿されました。ソースコードも公開されています。

論文図1

上図の左はプロキシを必要とする(proxy-based)NASの手法を表現しています。学習者(Learner)が新しく提案したモデル構造(Architecture)をプロキシのタスクで訓練・評価し、モデルのパラメータを更新(Updates)します。例えば、CIFAR10データセットをImageNetの代わりに使うのがプロキシのタスクです。最終的にはターゲットとなるデータセットやハードウェアへの移行(転移学習などを利用)する必要があります。

上図の右はプロキシなし(proxy-less)のNASの手法です。最終的なターゲットとなるタスク(ImageNetでの画像分類など)を使って新しいモデル構造(Architecture)を訓練・評価しモデルのパラメータを更新(Updates)します。よって、転移学習などの手間が省けます。また、最終的なプラットフォーム(データセット、ハードウェア)での評価も前もって知ることができます。

しかし、簡単にプロキシなしと言いましたが、実際にはどのようにしてプロキシを使わずにより少ないGPUの消費で学習を行うことができたのでしょうか。


ここから先は

4,396字 / 7画像

キカベン・読み放題

¥1,000 / 月
初月無料
このメンバーシップの詳細

この記事が気に入ったらチップで応援してみませんか?