Для проекта в области обучения армированию для небольшого примера сетки с большим количеством смоделированных эпизодов я хочу сделать следующее в R:
- 0a. В качестве выгорания я моделирую 1000 эпизодов со случайной стратегией
- 0b. Для каждого возможного действия я тренирую модель на уже смоделированных прогонах с состоянием, поскольку мои функции
- Я моделирую новый эпизод, выбирая эпсилон-жадные действия в эпизоде с текущим состоянием как функции
- Я оцениваю модель до сих пор, вручая вознаграждение на основе производительности
- С новым изученным эпизодом я хочу обновить модели, а затем приступить к следующему эпизоду на шаге 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, но это не самое быстрое программирование, и я уверен, что должны существовать более быстрые и лучшие реализации.
Большое спасибо за вашу помощь!