Есть ли способ обновить нейронный net в R с единичными наблюдениями для эпизодического c обучения? - PullRequest
0 голосов
/ 13 января 2020

Для проекта в области обучения армированию для небольшого примера сетки с большим количеством смоделированных эпизодов я хочу сделать следующее в R:

  • 0a. В качестве выгорания я моделирую 1000 эпизодов со случайной стратегией
  • 0b. Для каждого возможного действия я тренирую модель на уже смоделированных прогонах с состоянием, поскольку мои функции
    1. Я моделирую новый эпизод, выбирая эпсилон-жадные действия в эпизоде ​​с текущим состоянием как функции
  • Я оцениваю модель до сих пор, вручая вознаграждение на основе производительности
  • С новым изученным эпизодом я хочу обновить модели, а затем приступить к следующему эпизоду на шаге 1. пока у меня не будет достаточно эпизодов в целом, и производительность не улучшится значительно

Для этого я сначала подумал об использовании дерева решений для моделирования ожидаемого состояния вознаграждения ~, но затем после каждого шага модель нужно обучать совершенно новому, потому что у нее нет концепции «обновления».

Потому что нейронные сети обучаются последовательно наблюдением путем наблюдения со стохастическим градиентным спуском c, теперь я хочу обучить нейронную net с помощью наблюдений приработки, а затем оценивать и обновлять ее после каждого эпизода (каждый эпизод может создавать несколько наблюдений для каждого действия может случиться так, что нужно выполнить несколько шагов обновления).

Вопрос теперь в том, есть ли способ легко обновлять нейронные net объекты в R, как результаты neuralnet -функция пакета neuralnet или есть лучший способ сделать это?

Вот маленький пример радужной оболочки:

library(neuralnet)

set.seed(13012020)
nn <- neuralnet(Species == "setosa" ~ Petal.Length + Petal.Width, iris[1:149,], linear.output = FALSE)

new_observation <- iris[150,]
## How to update the neuralnet with the new observation?

Я однажды написал нейронный net в R, но это не самое быстрое программирование, и я уверен, что должны существовать более быстрые и лучшие реализации.

Большое спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...