Neural Architecture Search (NAS) [49, 50, 32, 6, 42, 45] dominates efficient network design. From “MCUNet: Tiny Deep Learning on IoT Devices” by Lin, Ji, Wei-Ming Chen, Yujun Lin, John Cohn, Chuang Gan, and Song Han;
References:
Citations of NAS from “NeurIPS’20: MCUNet: Tiny Deep Learning on IoT Devices” by Lin, Ji, Wei-Ming Chen, Yujun Lin, John Cohn, Chuang Gan, and Song Han
Reference:
Neural networks are hard to design.
Observation: The structure and connectivity of a neural network can be typically specified by a variable-length string. Therefore, it is possible to use a recurrent network – the controller – to generate such string.
NAS: a gradient-based method for finding good architectures.
NAS with reinforcement learning (ICLR’17): use a recurrent network to generate the model descriptions of neural networks and train this RNN with reinforcement learning to maximize the expected accuracy of the generated architectures on a validation set.
Reference: Blog: What’s the deal with Neural Architecture Search?
AutoML focuses on automating every aspect of the machine learning workflow to increase efficiency and democratize machine learning so that non-experts can apply machine learning to their problems with ease. While AutoML encompasses the automation of a wide range of problems associated with ETL, model training, and model deployment, the problem of Hyperparameter Optimization is a core focus of AutoML. This problem involves configuring the internal settings that goven the behavior of an ML model/algorithm in order to return a high quality predictive model.
For example, ridge regression models require setting the value of a regularization term; random forest models require the user to set the maximum tree depth and minimum number of samples per leaf; and training any model with stochastic gradient descent requires setting an appropriate step size. Neural networks also require setting a multitude of hyperparameters including (1) Selecting an optimization method along with its associated set of hyperparameters, (2) setting the dropout rate and other regularization hyperparameters, and, if desired, (3) tuning parameters that control the architecture of the network (e.g., number of hidden layers, number of convolutional filters).
Although the exposition on Neural Architecture Search (NAS) might suggest that it is a completely new problem, our final example above hints at a close relationship between hyperparameter optimization and NAS. While search space used for NAS are generally larger and control different aspects of the neural network architecture, the underlying problem is the same as that addressed by hyperparameter optimization: find a configuration within the search space that performs well on the target task. Hence, we view NAS to be a subproblem within hyperparameter optmization.
Reference: Blog: What’s the deal with Neural Architecture Search?, December 18, 2018
Three main components of most NAS methods (more on survey paper)
A collection of NAS papers and codes:
ENAS: Efficient Neural Architecture Search via Parameter Sharing and Language Model Implementation of ENAS (google)
Learning Search Space Partition for Black-box Optimization using Monte Carlo Tree Search.
TF-NAS: Rethinking Three Search Freedoms of Latency-Constrained Differentiable Neural Architecture Search
Fair DARTS: Eliminating Unfair Advantages in Differentiable Architecture Search
Darts: Differentiable architecture search.
UNAS: Differentiable Architecture Search Meets Reinforcement Learning, CVPR 2020 Oral
Rethinking Performance Estimation in Neural Architecture Search
References: Neural Architecture Search with Reinforcement Learning. By Barret Zoph, Quoc V.Le. ICLR 2017. Overview Nerual networks are hard to design. In this paper, we use a recurrent network to generate the model descriptions of neural networks and train this RNN with reinforcement learning to maximize the expected accuracy of the generated architectures on a validation set. More
References: Neural Architecture Search: A Survey. Thomas Elsken, Jan Hendrik Metzen, Frank Hutter. Journal of Machine Learning Research, 2019. Deep Learning has enabled remarkable progress over the last years on a variety of tasks, such as image recognition, speech recognition, and machine translation. One crucial aspect for this progress are novel neural architectures. Currently employed architectures have mostly been developed manually by human experts, which is a time-consuming and error-prone process.
If you could revise
the fundmental principles of
computer system design
to improve security...
... what would you change?