Я пытаюсь использовать классификатор softmax MXNET для получения обучения по принципу градиента политики, а мои отрицательные вознаграждения приводят квопрос выше: равномерная вероятность.Это ожидаемое?
require (mxnet)
actor_initializer <- mx.init.Xavier (rnd_type = "gaussian", factor_type = "avg", величина = 0.0001) </p>
actor_nn_data <- mx.symbol.Variable ('data') actor_nn_label <- mx.symbol.Variable ('label') </p>
device.cpu <- mx.cpu () </p>
NNархитектура
actor_fc3 <- mx.symbol.FullyConnected (data = actor_nn_data, num_hidden = 3) </p>
actor_output <- mx.symbol.actor ') </p>
crossentfunc <- функция (label, pred) {- sum (label * log (pred))} </p>
actor_loss <- mx.metric.custom (feval = crossentfunc, name= "log-loss") </p>
инициализировать NN
actor_train.x <- матрица (rnorm (11), nrow = 1) </p>
actor_train.y = 0 # 1# 2 # 3 # -3 # матрица (c (0, 0, -1), ncol = 1)
rm (actor_model)
actor_model <- mx.model.FeedForward.create(символ = actor_output, X = actor_train.x, y = actor_train.y, ctx= device.cpu, num.round = 100, array.batch.size = 1, оптимизатор = 'adam', eval.metric = actor_loss, clip_gradient = 1, wd = 0.01, initializer = actor_initializer, array.layout = "rowmajor") </p>
прогноз (actor_model, actor_train.x, array.layout = "rowmajor")