5 Automating hyperparameter optimization

 

This chapter covers

  • Developing a process to manually optimize hyperparameters for DL networks
  • Building automatic hyperparameter optimization with random search
  • Formalizing automatic HPO by employing a grid search algorithm
  • Applying evolutionary computation to HPO using PSO
  • Extending evolutionary HPO by using evolutionary strategies
  • Applying DE to HPO

In the past few chapters, we have been exploring various forms of evolutionary computation, from genetic algorithms to particle swarm optimization and even advanced methods like evolutionary strategies and differential evolution. We continue to use all these EC methods through the rest of the book in some capacity to improve on DL. We combine these methods into a process we colloquially call evolutionary deep learning (EDL).

However, before building a set of EDL solutions to various DL problems, we would be remiss if we didn’t understand the problems we are trying to solve and how they are solved without EC. After all, EC tools are just a few in a grand toolbox we can use to improve DL. Therefore, before we get into applying EC methods to HPO, we first look at the importance of hyperparameter optimization and some manual strategies. Second, when considering automated HPO we want to create a baseline by first reviewing other search methods, such as random and grid search.

5.1 Option selection and hyperparameter tuning

5.1.1 Tuning hyperparameter strategies

5.1.2 Selecting model options

5.2 Automating HPO with random search

5.2.1 Applying random search to HPO

5.3 Grid search and HPO

5.3.1 Using grid search for automatic HPO

5.4 Evolutionary computation for HPO

5.4.1 Particle swarm optimization for HPO

5.4.2 Adding EC and DEAP to automatic HPO

5.5 Genetic algorithms and evolutionary strategies for HPO

5.5.1 Applying evolutionary strategies to HPO

5.6 Differential evolution for HPO