Я использую функцию Mathematica NetTrain [] для обучения нейронных сетей. Есть способ установить скорость обучения (опции LearningRate и LearningRateMultiplier), но я хочу уменьшить скорость обучения или изменения, основанные на развитии потери.
Текущий вызов для заочного обучения с фиксированной скоростью обучения:
NetTrain[preTrainedNet, trainData, All, ValidationSet -> valData,
MaxTrainingRounds -> epochs, TargetDevice -> "GPU",
LearningRateMultipliers -> {"classifier" ->
lr, {"base", 1, "conv_conv2d"} -> lr, {"base", 1, "conv_relu"} ->
lr, _ -> 0}, BatchSize -> 8,
TrainingProgressCheckpointing -> {"Directory",
"C:\\DataSets\\RZ-DL-Aug-Pre",
"Interval" -> Quantity[10, "Rounds"]}];```
How to implement?