The loss default value is set based on the last layer of the network architecture. It is cross-entropy loss for a softmax or sigmoid layer and euclidean/squared loss for all other cases. This is achieved by changing the loss default value in the
train function from the CNNCreator. All available loss functions should be provided in the CNNCreator as previously agreed in the DL Seminar.
The user has the possibility to specify a different loss function from the default value by providing the loss parameter in the training configuration file using CNNTrain. The explicitly given loss is then stored in the CNNTrainer which overrides the default value by calling the
train function. In this way, more combinations are possible such as Sigmoid-Euclidean.