[論文レビュー] Manas: Mining Software Repositories to Assist AutoML
Manasは、GitHubリポジトリから抽出した深層学習モデルを、デフォルトのアーキテクチャよりも優れた出発点として用い、共通するレイヤー構成を変異作用素として利用する、新しいニューラルアーキテクチャサーチ(NAS)手法を提案する。Kaggle上位8件の問題において、ManasはAuto-Kerasと同等またはそれ以上の精度を達成しながら、パラメータ数を42.9%~99.6%も削減し、トレーニング時間を最大641.6%高速化した。性能を損なわずにモデル効率を著しく向上させた。
Today deep learning is widely used for building software. A software engineering problem with deep learning is that finding an appropriate convolutional neural network (CNN) model for the task can be a challenge for developers. Recent work on AutoML, more precisely neural architecture search (NAS), embodied by tools like Auto-Keras aims to solve this problem by essentially viewing it as a search problem where the starting point is a default CNN model, and mutation of this CNN model allows exploration of the space of CNN models to find a CNN model that will work best for the problem. These works have had significant success in producing high-accuracy CNN models. There are two problems, however. First, NAS can be very costly, often taking several hours to complete. Second, CNN models produced by NAS can be very complex that makes it harder to understand them and costlier to train them. We propose a novel approach for NAS, where instead of starting from a default CNN model, the initial model is selected from a repository of models extracted from GitHub. The intuition being that developers solving a similar problem may have developed a better starting point compared to the default model. We also analyze common layer patterns of CNN models in the wild to understand changes that the developers make to improve their models. Our approach uses commonly occurring changes as mutation operators in NAS. We have extended Auto-Keras to implement our approach. Our evaluation using 8 top voted problems from Kaggle for tasks including image classification and image regression shows that given the same search time, without loss of accuracy, Manas produces models with 42.9% to 99.6% fewer number of parameters than Auto-Keras' models. Benchmarked on GPU, Manas' models train 30.3% to 641.6% faster than Auto-Keras' models.
研究の動機と目的
- AutoML分野における既存のニューラルアーキテクチャサーチ(NAS)手法の高い計算コストとモデルの複雑さを是正すること。
- オープンソースリポジトリから抽出した手作業で設計されたモデルにデフォルトモデルを置き換えることで、NASの効率性とモデルの単純さを向上させること。
- 実世界のモデルから抽出した共通するレイヤー構成パターンを特定・活用し、より効果的かつ効率的な探索を可能にすること。
- 画像分類および回帰タスクにおいて、精度を維持または向上させつつ、トレーニング時間とモデル複雑度を低減すること。
- Auto-Kerasに、モデルマッチング、アダプテーション、変換、トレーニングアダプテーション技術を統合し、より優れたNASパフォーマンスを実現すること。
提案手法
- 実世界の深層学習応用で使用されている畳み込みニューラルネットワーク(CNN)モデルを抽出・インデックス化するため、GitHubリポジトリをマイニングすること。
- データセットサイズ、クラス数、画像サイズなどのメタ特徴に基づき、ターゲット問題のデータ特性に最も関連するマイニング済みモデルにマッピングするためのモデルマッチングを適用すること。
- ターゲット問題の入出力仕様に適合させるために、マイニング済みモデルのアーキテクチャを変更するためのモデルアダプテーションを実施すること。
- 開発者が実際のコードで頻繁に実施する変更(例:レイヤーの追加や置換)に基づき、共通するレイヤー変換パターンを定義・適用し、NAS中の効果的な変異を促進すること。
- リポジトリから抽出した事前学習済みパラメータ値を活用して最適化器を初期化することで、トレーニング中の収束を高速化する(トレーニングアダプテーション)。
- 上記の要素を統合し、デフォルトアーキテクチャではなく、高品質で人間が検証済みのモデルから出発する新しいNASパイプラインをAuto-Kerasに拡張すること。
実験結果
リサーチクエスチョン
- RQ1公開リポジトリから実世界の深層学習モデルをマイニングすることで、デフォルトモデルと比較してNASの出発点を改善できるか?
- RQ2開発者が書いたコードにおける共通するレイヤー構成パターンは、NASにおけるより優れた変異作用素をどのように示唆するか?
- RQ3モデルマイニングは、AutoMLタスクにおいて精度を維持または向上させつつ、モデルの複雑度とトレーニング時間をどの程度低減できるか?
- RQ4マイニングされたモデルとその変換パターンを統合することで、NASにおける収束速度の向上とリソース消費の低減が達成できるか?
- RQ5マイニング済みモデルを用いたNASのパフォーマンスは、Auto-Kerasなどの最先端NASフレームワークと比較して、精度、パラメータ数、トレーニング速度の観点でどの程度優れているか?
主な発見
- 同じ探索時間内において、ManasはAuto-Kerasと比較して42.9%~99.6%もパラメータ数を削減し、モデル複雑度を顕著に低減した。
- GPU環境下で、ManasのモデルはAuto-Kerasのモデルと比較して30.3%~641.6%も高速にトレーニングが完了し、顕著な効率性の向上を示した。
- ManasはAuto-Kerasと同等またはそれ以上の精度を維持または向上させ、画像分類および回帰タスクにおいて同等または優れたパフォーマンスを達成した。
- マイニング済みモデルを出発点として用いることで、収束が速くなった。これは、リポジトリから抽出した事前学習済み重みを活用するトレーニングアダプテーション技術によって裏付けられた。
- 実世界のモデルから抽出した共通するレイヤー構成パターンは、効果的な変異作用素として機能し、探索空間のより効率的な探索を可能にした。
- モデルマッチングおよびアダプテーション技術の統合により、多様で実世界のモデルから新しい未確認の問題へと知識を効果的に転送できるようになった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。