## 2 Materials and Methods
### CMA-ES Implementation for HPO  
The contouring performance of U-Net for a given task crucially depends on a wide range of hyperparameter choices [58]. Also, U-Net modified by HPO can be less computationally demanding than the original U-Net. As previously mentioned in Section 1, CMA-ES has advantages over other HPO methods by supporting parallel evaluations of solutions, potentially avoiding premature convergence and leading to fast convergence. Hence, HPO with CMA-ES was implemented to further develop the autocontouring algorithm. CMA-ES is a stochastic, population-based optimization algorithm for real-parameter optimization of non-linear, non-convex functions. It starts by creating a population of solutions randomly drawn from a normal distribution. By evaluating the objective function of each solution, the best portion of the population is selected, and the corresponding covariance matrix is calculated to adjust the shape of the next sampling distribution. This allows the search to move in the directions of the previously successful steps and may quickly converge to the global minimum. The set of six hyperparameters--number of consecutive convolutions before or after each pooling or up-convolution, filter size for convolutions, number of feature maps, number of poolings, initial learning rate of the Adam optimizer, and number of training images--was independently optimized for each patient case within specified search ranges. The first four hyperparameters affecting the network size and the learning rate were chosen to be optimized as they often have a larger impact on the network performance [59]. The number of training images was also optimized as a hyperparameter, since it is a parameter outside the trainable parameters and is used to control the model performance [60; 61]. Although optimizing a greater number of hyperparameters may improve the network performance, six hyperparameters were optimized in this work, which were empirically chosen to balance the network performance and computing time. Each of these hyperparameters with its search range in parentheses is described as follows:  
1. Number of consecutive convolutions (1 or 2): As a convolution operation extracts features from the input image, using multiple, consecutive convolutions allows us to extract more complex features that are combinations of simpler features that were previously extracted. As we have a small number of training images (30), a maximum of two convolutions was used to avoid creating too many weight parameters and thereby avoid overfitting. 2. Filter size (3 or 5): A smaller filter (e.g., 3 \(\times\) 3 matrix) extracts a larger amount of smaller and local features for a given input image, while a larger filter (e.g., 9 \(\times\) 9 matrix) extracts a smaller amount of larger and broad features. A maximum of size 5 was used since a larger size may lead to overfitting, and an odd number was used for computational efficiency. 3. Number of feature maps ([32; 128]): This refers to the number of filters applied to the input image during convolution. Despite 64 feature maps being used in the original U-Net [31], half of that number was used as the minimum as too small a number may not be sufficient to capture various shapes, and twice that number was used as the maximum as too large a number may cause overfitting. 4. Number of poolings (1 or 2): A pooling operation down-samples the input image, reducing the sensitivity of the network to the location of features in the image. As each pooling is followed by convolutions in U-Net, the number of poolings largely affects the number of weight parameters to be used and thus the complexity of the network architecture. A maximum of two poolings was used since small image patches (e.g., 36 \(\times\) 36) were used as input. 5. Initial learning rate ([\(10^{-5}\), \(10^{-1}\)]): This decides the initial step size the optimizer uses in the search space of weight parameters.