The main hyperparameters we vary are the number of neurons in each hidden layer and the number of hidden layers. The resulting MSE loss after 100 steps of training on each of over 50 networks generated from a range of hyperparameters indicates that there is a slight advantage in performance for networks with an increasing number of neurons per hidden layer up to about 400, but no significant improvement beyond that point. There is also an apparent minimum in MSE loss for networks with four or more layers; NNs with fewer layers do not generalize as well. Hence, our NN architecture consists of four hidden layers with 400 neurons apiece, shown schematically in Fig. ) (this creates a network with 508 403 trainable weights and biases). As described above, the input layer has 64 segment endpoints as inputs and the output layer has three cut locations as outputs. The initial optimizer learning rate is set at 1 × 10 -3 , the largest the optimizer can handle with stable convergence for this network. The four hidden layers use rectified linear units (ReLU) for their activation functions, 𝜑(𝑥) = ReLU(𝑥) = max(𝑥, 0) in Eq. ( ). The output layer uses a linear activation function [𝜑(𝑥) = 𝑥 in Eq. ( )] to generate the three cut locations, 𝜒 𝑖 ∈ (0, 1). The design of this network is intentionally generic and many design choices are flexible such that more layers of different numbers of neurons per layer also work similarly well.