Подтвердить что ты не робот

Обучение нейронной сети с помощью обучения усилению

Я знаю основы фидерных нейронных сетей и как их обучать с использованием алгоритма backpropagation, но я ищу алгоритм, который я могу использовать для обучения онлайн-ANN с помощью обучения подкрепления.

Например, проблема поворота корзины - это то, что я хотел бы решить с помощью ANN. В этом случае я не знаю, что нужно сделать для управления маятником, я знаю только, насколько я близок к идеальной позиции. Мне нужно, чтобы ANN учился на основе вознаграждения и наказания. Таким образом, контролируемое обучение не является вариантом.

Другая ситуация - это что-то вроде = snake game, где отклики откладываются и ограничиваются целями, а не целями, а не наградами.

Я могу думать о некоторых алгоритмах для первой ситуации, таких как скалолазание или генетические алгоритмы, но я предполагаю, что они оба будут медленными. Они также могут быть применимы во втором сценарии, но невероятно медленны и не способствуют онлайн-обучению.

Мой вопрос прост: Есть ли простой алгоритм для обучения искусственной нейронной сети с обучением по усилению?. Меня в основном интересуют ситуации с вознаграждением в режиме реального времени, но если алгоритм для целевых ситуации доступны, даже лучше.

4b9b3361

Ответ 1

Есть несколько исследовательских работ по теме:

И некоторый код:

Это лишь некоторые из лучших результатов поиска Google по этой теме. Первые две статьи выглядят так, как будто они неплохие, хотя я не читал их лично. Я думаю, вы найдете еще больше информации о нейронных сетях с обучением по усилению, если вы быстро просмотрите Google Scholar.

Ответ 2

Если результат, который приводит к награде r, возвращается в сеть r раз, вы будете укреплять сеть пропорционально вознаграждению. Это не относится непосредственно к негативным вознаграждениям, но я могу представить два решения, которые будут создавать разные эффекты:

1) Если у вас есть набор вознаграждений в диапазоне rmin-rmax, перетащите их на 0-(rmax-rmin), чтобы они были неотрицательными. Чем больше вознаграждение, тем сильнее создается подкрепление.

2) Для отрицательного вознаграждения -r, backpropagate случайный выход r раз, если он отличается от того, который приводит к отрицательной награде. Это не только усилит желаемые выходы, но также рассеивает или предотвращает плохие результаты.