Warning

This is the old documentation for the NAS. A lot has changed and a lot will still change in the future so handle with care.

Neural architecture search

In contrast to hyperparameter optimization neural architecture search, explores new neural network hyperparameters.

A aging evolution based neural architecture search has been implemented as a hydra plugin:

hannah-train --config-name config_unas

To launch multiple configuration jobs in parallel use joblib launcher:

hannah-train --config-name config_unas hydra/launcher=joblib

Parametrization for neural architecture search need to be given as YAML configuration files at the moment. For an example see: speech_recognition/conf/config_unas.yaml

Parametrization

The Parametrization contains the following elements:

Choice Parameter

Choice Parameters select options from a list of parameters. They are configured as a list of options in the parameters. Example:

conv_size: [1,3,5,7,9,11]

Choice List Parameters

Choice List Parameters represent a variable length list of Choices. They are configured with the follwing parameters:

min
Minimum length of list
max
Maximum length of list+1
choices
List of Choices

Example:

min: 4
max: 10
choices:
  - _target_: "torch.nn.Conv2d"
    size: 3
  - _target : "torch.nn.MaxPool2d"
    size: 7

Warning: Mutations for intervall parameters currently always sample randomly from the range of values

Intervall Parameters

Intervall Parameters represent a Scalar Value from an intervall of Values They are configure with the following parameters:

lower
lower bound of intervall [lower, upper[
upper
upper bound of intervall [lower, upper[
int
set to true to generate integers
log
set to true to generate log scaled distribution

Subset Parameter

Subset Parameters select a subset of a list of choices.

They are configured using the following parameters:

choices
List of choices to sample from
size
size of the subset to generate

Partition Parameter

Partition parameters split the list of choices into a predefined number of partitions.

They are configured using the following parameters:

choices
List of choices to partition
partition
Number of partitions to generate