Параметры обучения глубокого подкрепления и время обучения для простой игры
Я хочу узнать, как работает алгоритм глубокого подкрепления и сколько времени требуется для обучения себя в любой конкретной среде. Я придумал очень простой пример среды:
Существует счетчик, который содержит целое число от 0 до 100. Его целью является счет до 100.
есть один параметр direction
чье значение может быть +1 или -1. это просто показывает направление движения.
Выход нейронной сети принимает это направление в качестве входа и 2 возможных действия в качестве выхода.
- Изменить направление
- Не меняйте направление
1-е действие просто перевернет направление (+1 => -1 или -1 =>+1). Второе действие сохранит направление как есть.
Я использую Python для бэкэнда и Javascript для веб-интерфейса. Кажется, это занимает слишком много времени, и все же это довольно случайно. Я использовал 4-х слойный персептрон. курс обучения 0,001. обучение памяти с партией 100. Код из учебника Удеми по искусственному интеллекту и работает должным образом.
У меня вопрос, что должно быть вознаграждение за завершение и для каждого государства.? и сколько времени потребуется, чтобы обучить простой пример как таковой.?
1 ответ
В обучении подкреплению подчеркивающая функция награды - это то, что определяет игру. Различные функции вознаграждения приводят к различным играм с разными оптимальными стратегиями.
В вашем случае есть несколько разных возможностей:
- Дайте +1 для достижения 100 и только потом.
- Дайте +1 для достижения 100 и -0,001 для каждого временного шага, которого нет в 100.
- Дайте +1 для повышения -1 для снижения.
Третий случай слишком прост, здесь нет необходимости в долгосрочном планировании. В первых случаях агент также начинает учиться только тогда, когда он случайно достигает 100 и видит, что это хорошо. Но в первом случае, когда он учится подниматься, не имеет значения, сколько времени потребуется, чтобы туда добраться. Второй наиболее интересен, когда нужно добраться туда как можно быстрее.
Не существует правильного ответа на то, какую награду использовать, но в конечном итоге выбираемая вами награда определяет игру, в которую вы играете.
Примечание: 4-слойный персептрон для этой проблемы - Big Time Overkill. Одного слоя должно быть достаточно (эта проблема очень проста). Вы пробовали усиленную учебную среду в тренажерном зале OpenAI? Настоятельно рекомендую, у них есть все "классические" проблемы обучения подкреплению.