最新AI論文をキャッチアップ

学習なしでモデルのアーキテクチャの性能を評価! NASWOTの紹介

学習なしでモデルのアーキテクチャの性能を評価! NASWOTの紹介

NAS

3つの要点
✔️ ニューラルネットワークの構造探索(NAS)には計算が時間がかかるため、高速化する必要がある
✔️ ミニバッチに対するネットワーク内のReLUの活性化具合をネットワークの性能とするスコアリング手法を提案
✔️ 学習なしにニューラルネットワークの評価ができる

Neural Architecture Search without Training
written by Joseph MellorJack TurnerAmos StorkeyElliot J. Crowley
(Submitted on 8 Jun 2020 (v1), last revised 11 Jun 2021 (this version, v3))
Comments: ICML 2021

Subjects: Machine Learning (cs.LG); Computer Vision and Pattern Recognition (cs.CV); Machine Learning (stat.ML)

code:  

本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。  

研究概要

本研究では、ニューラルネットワークの構造探索(NAS)の高速化を行いました。NASでは、探索の過程で行われるモデルの性能評価においてそのモデルを学習させる必要があり、その時間がボトルネックとなっていました。本研究では、ネットワーク内のReLUに着目し、学習させない状態でデータセットのミニバッチに対してどのようにReLUが活性化しているかをモデルのスコアとします。このようなスコアリングを行うことで、学習をさせずにネットワークの評価を行うことができ、非常に高速な探索を行うことができるようになりました。

研究背景

NASとは

NAS(Neural Architecture Search)とは、ニューラルネットワークの構造を自動で探索する手法です。有名なものに、Zoph&Le(2017)(https://arxiv.org/abs/1611.01578)があります。この手法では、候補となるネットワークをRNNを用いたジェネレータで生成し、実際に学習させてそのアーキテクチャの評価を行います。その際の評価値に基づいて次の候補ネットワークを強化学習によって探索します。この手法はニューラルネットワークのアーキテクチャを自動的に探索することができる画期的な手法ですが、候補のアーキテクチャの評価を実際に学習させて行うため非常に計算コストが重く、相当な計算機資源を必要とする手法でした。

学習不要な、アーキテクチャのスコアリング

NASでは、候補のアーキテクチャのスコアリングが探索のボトルネックとなっているため、その部分を高速化することが求められています。そこで、本研究では、実際に学習をさせずに候補のアーキテクチャのスコアリングを行う方法を提案しました。

著者らは、データセットに対するアーキテクチャの性能において、一つの仮説を立てました。それは、入力するデータの違いをよく反映しているアーキテクチャほど、アーキテクチャの性能が高いはずだ、というものです。これは、入力データが異なっていてもモデルが同じような出力をしている場合、その異なる入力データに対する違いを学習しにくく、良い結果が生まれにくいだろうという考えから来ています。この仮説を手法に反映するため、著者らはモデル内のReLUの活性化の有無に着目しました。

データをモデルに入力したときに、モデル内の各ReLUが活性化したかどうかを、活性化した場合は1、そうでない場合は0のように二値で表します。この値を各ReLUに対して調べて並べると、一つのデータをモデルに入力したときに、モデル内にあるReLUの数の長さのベクトルが得られます。このようにして得られたベクトルが、そのデータにおけるモデルの振る舞いであると考えます。各データに対してこのベクトルを比較し、入力データに対する違いを反映しているかどうかを調べます。

では、ここからは具体的にどのようにするのかを説明していきたいと思います。データiに対して、モデルのReLUの活性化の有無を並べたベクトルciを考えます。ここでいうReLUの活性化の有無とは、ReLUの出力が0以下なら不活性、それ以外なら活性として、二値として考えます。この時、このベクトルciはバイナリコード列となります。このベクトルciは、データiに対するこのモデルの活性化度合いを表すことになります。データセットの中からランダムにN個データのミニバッチを取り出し、ミニバッチ内のすべてのデータに対してこのベクトルcを計算します。これにより、ベクトルc1からcNまでバイナリコード列が求められます。著者らの仮説では、入力データによるモデルの異なる振る舞い度合がスコアとなるため、これらのバイナリコード列の差を定量化する必要があります。ベクトル同士の差を定量化するにあたって、著者らはハミング距離を用いました。各データすべての組み合わせに対してハミング距離を求め、それらを並べた行列KHを考えます。

このKHは行列であるため、スコアとして扱うには不便です。これをスカラー値にするため、KHの行列式を求め、対数スケールに変換します。

このsが、このモデルに対するスコアとなります。ここからは、このスコアリング方法が正しく機能するかどうか、検証を行っていきます。

スコアリング手法の検証

KHの妥当性

二つのデータセット(NAS-Bench-201, NDS-DARTS)に対して、複数アーキテクチャのKHを計算します。KHの各要素を正規化したのち、その結果を図示すると下の図のようになりました。

一番上の行は、そのモデルを学習させた時の最終的な精度を表しています。この図を見ると、最終的に高い精度を達成するアーキテクチャと、そうでないアーキテクチャに対してKHは大きな相関を持つことが分かります。低い精度になるものは濃い色(値が0に近い)が多いですが、高い精度になるものは白い色(値が1に近い)が多いです。これは、学習前のモデルでの入力データに対する活性化度合いの違いが、最終的な精度に大きく関係することを示しています。

スコアリングの妥当性

各データセットに対して、提案手法のスコアリングによるスコアと、そのアーキテクチャの最終的な検証精度の関係を示したものが下の図になります。

この図は、横軸がそのモデルの検証精度、縦軸がそのモデルのスコアを表しています。この図を見ると、いずれのデータセットにおいても、高いスコアを持つアーキテクチャほど、高い検証精度を達成しやすいことが分かります。このことから、提案手法のスコアリングが妥当であることが確認できます。また、ミニバッチで選ばれるデータの差や、モデルのパラメータの初期値、ミニバッチのサイズによってどの程度スコアが変動するかを検証したものが下の図になります。

この図は横軸にネットワークの識別子(この図では10個の異なるネットワークを比較している)、縦軸にそれらのネットワークのスコアを取ったものです。この図によると、それぞれある程度の変動はありますが、相対的なスコアの違いは見られず、いずれにしてもロバストなスコアリングができていることが分かります。

また、モデルのパラメータが初期値の時のスコアと、学習を続けていった時のスコアを比較して、スコアの順位が変動することがあるかどうかを調べたものが下の図になります。

この図は、横軸にエポック数、縦軸にその時点におけるスコアを取ったものです。この図によると、学習が進むにつれてスコア自体はいずれも向上していますが、相対的な順位に関してはほとんど変動がなく、学習前の状態のスコアでアーキテクチャのスコアを決定してもよいことが分かります。

Neural Architecture Search without Trainig - NASWOT

ここからは、前述したスコアリングを用いてアーキテクチャの探索を行い、どの程度の性能のアーキテクチャを探索できるか、またその探索にどの程度の時間・計算コストがかかるかを検証していきます。

探索の手法としては、NASの手法として有名な、Zoph&Le(2017)の手法を用います。この方法では候補のアーキテクチャを学習させ、その検証精度でスコアリングを行っていますが、子のスコアリングの部分のみ提案手法に置き換えます。この置き換えを行った手法をNASWOTと呼びます。

各データセットに対して、既存手法とNASWOTを比較したものが下の図になります。

この図を見ると、まず探索時間においてはNASWOTが非常に高速であることが分かります。また、探索したアーキテクチャのテスト精度においても、ほかの手法に何ら劣らないことが分かります。

次に、探索時間とテスト精度の関係について検証します。探索時間とテスト精度の関係を図示したものが下の図になります。

この図は、横軸に探索時間、縦軸に最終的に達成されるテスト精度をプロットしたものです。この図によると、最終的に達成されるテスト精度は同程度で、探索が非常に高速であることが分かります。

まとめ

NASはこれまで、難解な探索空間と非常に高い探索コストに悩まされてきました。この研究では、初期化された状態のニューラルネットワークのアーキテクチャを、簡単にスコア付けすることができる手法を提案し、この手法を従来のNASの手法に組み込むことで、劇的に探索時間を削減することに成功しました。

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする