Curating a list of AutoML-related research, tools, projects and other resources
AutoML is the tools and technology to use machine learning methods and processes to automate machine learning systems and make them more accessible. It existed for several decades so it's not a completely new idea.
Recent work by Google Brain and many others have re-kindled the enthusiasm of AutoML and some companies have already commercialized the technology. Thus, it has becomes one of the hosttest areas to look into.
There are many kinds of AutoML, including:
- Neural network architecture search
- Hyperparameter optimization
- Optimizer search
- Data augmentation search
- Learning to learn/Meta-learning
- And many more
- Neural architecture search: a survey 深度神经网络结构搜索综述 (Tang et al. 2021)
- A Comprehensive Survey of Neural Architecture Search: Challenges and Solutions (Ren et al. 2020)
- On Hyperparameter Optimization of Machine Learning Algorithms: Theory and Practice (Yang et al. 2020)
- AutoML: A Survey of the State-of-the-Art (He et al. 2019)
- A Survey on Neural Architecture Search (Wistuba et al. 2019)
- Neural Architecture Search: A Survey (Elsken et al. 2019)
- Taking Human out of Learning Applications: A Survey on Automated Machine Learning (Yao et al. 2018)
- On Hyperparameter Optimization of Machine Learning Algorithms: Theory and Practice (Yang et al. 2020)
- AutoSpace: Neural Architecture Search with Less Human Interference (Zhou et al. 2021)
- ReNAS:Relativistic Evaluation of Neural Architecture Search (Xu et al. 2021)
- Searching for Fast Model Families on Datacenter Accelerators (Li et al. 2021)
- Zen-NAS: A Zero-Shot NAS for High-Performance Deep Image Recognition (Lin et al. 2021)
- PyGlove: Symbolic Programming for Automated Machine Learning (Peng et al. 2021)
- DARTS-: Robustly Stepping out of Performance Collapse Without Indicators (Chu et al. 2021)
- NAS-DIP: Learning Deep Image Prior with Neural Architecture Search (Chen et al. 2020)
- AttentionNAS: Spatiotemporal Attention Cell Search for Video Classification (Wang et al. 2020)
- CurveLane-NAS: Unifying Lane-Sensitive Architecture Search and Adaptive Point Blending (Xu et al. 2020)
- Cream of the Crop: Distilling Prioritized Paths For One-Shot Neural Architecture Search (Peng et al. 2020)
- CurveLane-NAS: Unifying Lane-Sensitive Architecture Search and Adaptive Point Blending (Xu et al. 2020)
- MCUNet: Tiny Deep Learning on IoT Devices (Lin et al. 2020)
- FBNetV2: Differentiable Neural Architecture Search for Spatial and Channel Dimensions (Wan et al. 2020)
- Neural Architecture Transfer (Lu et al. 2020)
- When NAS Meets Robustness: In Search of Robust Architectures against Adversarial Attacks (Guo et al. 2020)
- Semi-Supervised Neural Architecture Search (Luo et al. 2020)
- MixPath: A Unified Approach for One-shot Neural Architecture Search (Chu et al. 2020)
- AutoML-Zero: Evolving Machine Learning Algorithms From Scratch (Real et al. 2020)
- Generative Teaching Networks: Accelerating Neural Architecture Search by Learning to Generate Synthetic Training Data (Such et al. 2019)
- CARS: Continuous Evolution for Efficient Neural Architecture Search (Yang et al. 2019)
- Meta-Learning of Neural Architectures for Few-Shot Learning (Elsken et al. 2019)
- Up to two billion times acceleration of scientific simulations with deep neural architecture search (Kasim et al. 2019)
- Efficient Forward Architecture Search (Hue et al. 2019)
- NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Detection (Ghiasi et al. 2019)
- Improving Keyword Spotting and Language Identification via Neural Architecture Search at Scale (Mazzawi et al. 2019)
- SpineNet: Learning Scale-Permuted Backbone for Recognition and Localization (Du et al. 2019)
- Evaluating the Search Phase of Neural Architecture Search (Sciuto et al. 2019)
- MixConv: Mixed Depthwise Convolutional Kernels (Tan et al. 2019)
- Multinomial Distribution Learning for Effective Neural Architecture Search (Zheng et al. 2019)
- SNR: Sub-Network Routing for Flexible Parameter Sharing in Multi-task Learning (Ma et al. 2019)
- PC-DARTS: Partial Channel Connections for Memory-Efficient Differentiable Architecture Search (Xu et al. 2019) - code
- Single Path One-Shot Neural Architecture Search with Uniform Sampling (Guo et al. 2019)
- AutoGAN: Neural Architecture Search for Generative Adversarial Networks (Gong et al. 2019)
- MixConv: Mixed Depthwise Convolutional Kernels (Tan et al. 2019)
- Tiny Video Networks (Piergiovanni et al. 2019)
- AssembleNet: Searching for Multi-Stream Neural Connectivity in Video Architectures (Ryoo et al. 2019)
- EfficientNet-EdgeTPU: Creating Accelerator-Optimized Neural Networks with AutoML (Gupta et al. 2019)
- EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks (Tan et al. 2019)
- MoGA: Searching Beyond MobileNetV3 (Chu et al. 2019) - code
- Searching for MobileNetV3 (Howard et al. 2019)
- Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation (Liu et al. 2019)
- DetNAS: Backbone Search for Object Detection (Chen et al. 2019)
- Graph HyperNetworks for Neural Architecture Search (Zhang et al. 2019)
- Dynamic Distribution Pruning for Efficient Network Architecture Search (Zheng et al. 2019)
- FairNAS: Rethinking Evaluation Fairness of Weight Sharing Neural Architecture Search (Chu et al. 2019)
- SpArSe: Sparse Architecture Search for CNNs on Resource-Constrained Microcontrollers (Fedorov et al. 2019)
- EENA: Efficient Evolution of Neural Architecture (Zhu et al. 2019)
- Single Path One-Shot Neural Architecture Search with Uniform Sampling (Guo et al. 2019)
- InstaNAS: Instance-aware Neural Architecture Search (Cheng et al. 2019)
- ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware (Cai et al. 2019)
- NAS-Bench-101: Towards Reproducible Neural Architecture Search (Ying et al. 2019)
- Evolutionary Neural AutoML for Deep Learning (Liang et al. 2019)
- Fast, Accurate and Lightweight Super-Resolution with Neural Architecture Search (Chu et al. 2019)
- The Evolved Transformer (So et al. 2019)
- SNAS: Stochastic Neural Architecture Search (Xie et al. 2019)
- NeuNetS: An Automated Synthesis Engine for Neural Network Design (Sood et al. 2019)
- EAT-NAS: Elastic Architecture Transfer for Accelerating Large-scale Neural Architecture Search (Fang et al. 2019)
- Understanding and Simplifying One-Shot Architecture Search (Bender et al. 2018)
- Evolving Space-Time Neural Architectures for Videos (Piergiovanni et al. 2018)
- IRLAS: Inverse Reinforcement Learning for Architecture Search (Guo et al. 2018)
- Neural Architecture Search with Bayesian Optimisation and Optimal Transport (Kandasamy et al. 2018)
- Path-Level Network Transformation for Efficient Architecture Search (Cai et al. 2018)
- BlockQNN: Efficient Block-wise Neural Network Architecture Generation (Zhong et al. 2018)
- Stochastic Adaptive Neural Architecture Search for Keyword Spotting (Véniat et al. 2018)
- Task-Driven Convolutional Recurrent Models of the Visual System (Nayebi et al. 2018)
- Neural Architecture Optimization (Luo et al. 2018)
- MnasNet: Platform-Aware Neural Architecture Search for Mobile (Tan et al. 2018)
- Neural Architecture Search: A Survey (Elsken et al. 2018)
- MONAS: Multi-Objective Neural Architecture Search using Reinforcement Learning (Hsu et al. 2018)
- NetAdapt: Platform-Aware Neural Network Adaptation for Mobile Applications (Yang et al. 2018)
- Auto-Meta: Automated Gradient Based Meta Learner Search (Kim et al. 2018)
- MorphNet: Fast & Simple Resource-Constrained Structure Learning of Deep Networks (Gordon et al. 2018)
- DPP-Net: Device-aware Progressive Search for Pareto-optimal Neural Architectures (Dong et al. 2018)
- Searching Toward Pareto-Optimal Device-Aware Neural Architectures (Cheng et al. 2018)
- Differentiable Architecture Search (Liu et al. 2018)
- Regularized Evolution for Image Classifier Architecture Search (Real et al. 2018)
- Efficient Architecture Search by Network Transformation (Cai et al. 2017)
- Large-Scale Evolution of Image Classifiers (Real et al. 2017)
- Progressive Neural Architecture Search (Liu et al. 2017)
- AdaNet: Adaptive Structural Learning of Artificial Neural Networks (Cortes et al. 2017)
- Learning Transferable Architectures for Scalable Image Recognition (Zoph et al. 2017)
- Designing Neural Network Architectures using Reinforcement Learning (Baker et al. 2016)
- Neural Architecture Search with Reinforcement Learning (Zoph and Le. 2016)
- NAS-Bench-101: Towards Reproducible Neural Architecture Search (Ying et al. 2019) - code
- Neural Optimizer Search with Reinforcement Learning (Bello et al. 2017)
- Searching for Activation Functions (Ramachandran et al. 2017)
- MetaAugment: Sample-Aware Data Augmentation Policy Learning (Zhou et al. 2020)
- SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition (Park et al. 2019)
- RandAugment: Practical automated data augmentation with a reduced search space (Cubuk et al. 2019)
- Learning Data Augmentation Strategies for Object Detection (Zoph et al. 2019)
- Fast AutoAugment (Lim et al. 2019)
- AutoAugment: Learning Augmentation Policies from Data (Cubuk et al. 2018)
- AutoDropout: Learning Dropout Patterns to Regularize Deep Networks (Pham et al. 2020)
- ES-MAML: Simple Hessian-Free Meta Learning (Song et al. 2019)
- Learning to Learn with Gradients (Chelsea Finn PhD disseration 2018)
- On First-Order Meta-Learning Algorithms (OpenAI Reptile by Nichol et al. 2018)
- Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks (MAML by Finn et al. 2017)
- A sample neural attentive meta-learner (Mishra et al. 2017)
- Learning to Learn without Gradient Descent by Gradient Descent (Chen et al. 2016)
- Learning to learn by gradient descent by gradient descent (Andrychowicz et al. 2016)
- Learning to reinforcement learn (Wang et al. 2016)
- RL^2: Fast Reinforcement Learning via Slow Reinforcement Learning (Duan et al. 2016)
- AutoNE: Hyperparameter Optimization for Massive Network Embedding (Tu et al. 2019)
- Population Based Training of Neural Networks (Jaderberg et al. 2017)
- Google Vizier: A Service for Black-Box Optimization (Golovin et al. 2017)
- Hyperband: A Novel Bandit-Based Approach to Hyperparameter Optimization (Li et al. 2016)
- Practical Bayesian Optimization of Machine Learning Algorithms (Snoek et al. 2012)
- Random Search for Hyper-Parameter Optimization (Bergstra et al. 2012)
- Deep Feature Synthesis: Towards Automating Data Science Endeavors (Kanter et al. 2017)
- ExploreKit: Automatic Feature Generation and Selection (Katz et al. 2016)
- AMC: AutoML for Model Compression and Acceleration on Mobile Devices (He et al. 2018)
- TransmogrifAI: an AutoML library written in Scala that runs on top of Apache Spark
- Model Search: a framework that implements AutoML algorithms for model architecture search at scale
- AutoGluon: AutoML Toolkit for Deep Learning
- FLAML: Fast and Lightweight AutoML
- hyperunity: A toolset for black-box hyperparameter optimisation
- auptimizer: An automatic ML model optimization tool
- Keras Tuner: Hyperparameter tuning for humans
- Torchmeta: A Meta-Learning library for PyTorch
- learn2learn: PyTorch Meta-learning Framework for Researchers
- Auto-PyTorch: Automatic architecture search and hyperparameter optimization for PyTorch
- ATM: Auto Tune Models: A multi-tenant, multi-data system for automated machine learning (model selection and tuning)
- Adanet: Fast and flexible AutoML with learning guarantees: Tensorflow package for AdaNet
- Microsoft Neural Network Intelligence (NNI): An open source AutoML toolkit for neural architecture search and hyper-parameter tuning
- Dragonfly: An open source python library for scalable Bayesian optimisation
- H2O AutoML: Automatic Machine Learning by H2O.ai
- Kubernetes Katib: hyperparameter Tuning on Kubernetes inspired by Google Vizier
- TransmogrifAI: automated machine learning for structured data by Salesforce
- Advisor: open-source implementation of Google Vizier for hyper parameters tuning
- AutoKeras: AutoML library by Texas A&M University using Bayesian optimization
- AutoSklearn: an automated machine learning toolkit and a drop-in replacement for a scikit-learn estimator
- Ludwig: a toolbox built on top of TensorFlow that allows to train and test deep learning models without the need to write code
- AutoWeka: hyperparameter search for Weka
- automl-gs: Provide an input CSV and a target field to predict, generate a model + code to run it
- SMAC: Sequential Model-based Algorithm Configuration
- Hyperopt-sklearn: hyper-parameter optimization for sklearn
- Spearmint: a software package to perform Bayesian optimization
- TPOT: one of the very first AutoML methods and open-source software packages
- MOE: a global, black box optimization engine for real world metric optimization by Yelp
- Hyperband: open source code for tuning hyperparams with Hyperband
- Optuna: define-by-run hypterparameter optimization framework
- RoBO: a Robust Bayesian Optimization framework
- HpBandSter: a framework for distributed hyperparameter optimization
- HPOlib2: a library for hyperparameter optimization and black box optimization benchmarks
- Hyperopt: distributed Asynchronous Hyperparameter Optimization in Python
- REMBO: Bayesian optimization in high-dimensions via random embedding
- ExploreKit: a framework forautomated feature generation
- FeatureTools: An open source python framework for automated feature engineering
- PocketFlow: use AutoML to do model compression (open sourced by Tencent)
- DEvol (DeepEvolution): a basic proof of concept for genetic architecture search in Keras
- mljar-supervised: AutoML with explanations and markdown reports
- Determined: scalable deep learning training platform with integrated hyperparameter tuning support; includes Hyperband, PBT, and other search methods
- AutoGL: an autoML framework & toolkit for machine learning on graphs)
- Amazon SageMaker AutoPilot
- Google Cloud AutoML
- Google Cloud ML Hyperparameter Turning
- Microsoft Azure Machine Learning Studio
- comet.ml
- SigOpt
- mljar.com
- Neural Architecture Search
- A Conversation With Quoc Le: The AI Expert Behind Google AutoML
- fast.ai: An Opinionated Introduction to AutoML and Neural Architecture Search
- Introducing AdaNet: Fast and Flexible AutoML with Learning Guarantees
- Using Evolutionary AutoML to Discover Neural Network Architectures
- Improving Deep Learning Performance with AutoAugment
- AutoML for large scale image classification and object detection
- Using Machine Learning to Discover Neural Network Optimizers
- Using Machine Learning to Explore Neural Network Architecture
- ICML 2019 Tutorial: Recent Advances in Population-Based Search for Deep Neural Networks by Evolving AI Lab
- Automatic Machine Learning by Frank Hutter and Joaquin Vanschoren
- Advanced Machine Learning Day 3: Neural Architecture Search by Debadeepta Dey (MSR)
- Neural Architecture Search by Quoc Le (Google Brain)
- AUTOML: METHODS, SYSTEMS, CHALLENGES
- Hands-On Meta Learning with Python: Meta learning using one-shot learning, MAML, Reptile, and Meta-SGD with TensorFlow - repo
- Automated Machine Learning in Action- A book that introduces autoML with AutoKreas and Keras Tuner.