Обучение подкреплению пираминов; размерность государства

58
6

Я работаю над проектом, чтобы объединить обучение подкрепления с имитацией светофора с использованием пакета Pybrain. Я прочитал учебник и реализовал свои собственные подклассы " Environment и Task. Я использую ActionValueNetwork качестве контроллера, потому что я хочу, чтобы мое состояние было вектором с непрерывными значениями, так что оно могло содержать информацию о, например, количестве машин, ожидающих каждую полосу, общее время ожидания на дорожку и многое другое.

Я установил входные размеры ActionValueNetwork в размеры моего вектора состояния, что предполагает использование векторов в качестве переменных состояния. Когда я использую Q-ученика или ученика SARSA, код работает нормально сначала, но я получаю сообщение об ошибке, как только вызывается метод learn(). Эта функция содержит строку

state = int(state)

и сообщение об ошибке

TypeError: only length-1 arrays can be converted to Python scalars

что предполагает использование только скалярных состояний.

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

спросил(а) 2016-11-23T12:32:00+03:00 3 года, 11 месяцев назад
1
Решение
58

Тем временем я нашел свою проблему. Я использовал ученика Q() но должен был использовать NFQ() который реализует алгоритм Q-обучения, установленный NFQ(). Теперь это работает.

ответил(а) 2016-11-29T16:50:00+03:00 3 года, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема