BANANAS: Bayesian Optimization with Neural Architectures for Neural Architecture Search

Colin White, Willie Neiswanger, Yash Savani
10/25/2019
cs.LGcs.NEstat.ML

Official code: naszilla/naszilla (316 stars, Apache-2.0, PyTorch, last commit 2022-12-29). 1 more implementation below.

Abstract

Over the past half-decade, many methods have been considered for neural architecture search (NAS). Bayesian optimization (BO), which has long had success in hyperparameter optimization, has recently emerged as a very promising strategy for NAS when it is coupled with a neural predictor. Recent work has proposed different instantiations of this framework, for example, using Bayesian neural networks or graph convolutional networks as the predictive model within BO. However, the analyses in these papers often focus on the full-fledged NAS algorithm, so it is difficult to tell which individual components of the framework lead to the best performance. In this work, we give a thorough analysis of the "BO + neural predictor" framework by identifying five main components: the architecture encoding, neural predictor, uncertainty calibration method, acquisition function, and acquisition optimization strategy. We test several different methods for each component and also develop a novel path-based encoding scheme for neural architectures, which we show theoretically and empirically scales better than other encodings. Using all of our analyses, we develop a final algorithm called BANANAS, which achieves state-of-the-art performance on NAS search spaces. We adhere to the NAS research checklist (Lindauer and Hutter 2019) to facilitate best practices, and our code is available at https://github.com/naszilla/naszilla.

View on arXivView PDF

Code Implementations(2)

naszilla/naszillaOfficial100%
PyTorchApache-2.0

Naszilla is a Python library for neural architecture search (NAS)

31648PythonOct 26, 20193 years agoApache-2.0
automlbananascifar10convolutional-networksconvolutional-neural-networks+6 more
naszilla/bananasCommunity100%
Apache-2.0

Bayesian Optimization with Neural Architectures for Neural Architecture Search - https://arxiv.org/abs/1910.11858

281Shell, PythonNov 3, 20205 years agoApache-2.0

Similar Papers

Cite this paper

@article{white2019bananas,
  title  = {BANANAS: Bayesian Optimization with Neural Architectures for Neural Architecture Search},
  author = {Colin White and Willie Neiswanger and Yash Savani},
  year   = {2019},
  eprint = {1910.11858},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1910.11858}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1910.11858.svg)](https://codeofpaper.com/paper/1910.11858)

Discussion