← Вернуться к списку

Как обрабатывать различные действия в зависимости от состояния окружающей среды?

Краткое содержание

Я новичок в области ИИ/Машинного обучения и немного попользовался OpenAI Gym. При просмотре окружений я наткнулся на Blackjack-v0environment, который представляет собой базовую реализацию игры, где состояние – это счет карт у игрока и дилера, а также наличие у игрока пригодной для использования туза. Действия ограничены только "бить" или "стоять", а возможные награды: 1 если игрок выигрывает, -1 если игрок проигрывает, и 0 в случае ничьей. Это заставило меня задуматься о том, как мог бы выглядеть более реалистичное окружение/модель для этой игры, учитывая текущий баланс и другие факторы, с множеством действий, таких как ставка от 1 до 10€ и "бить" или "стоять". Это приводит меня к моему вопросу: Понимаю ли я правильно, что в нейронных сетях (и я пока еще не очень хорошо это понимаю, полагаю), вход – это состояние, а выход – возможные действия и оценка сети их вероятности/эффективности? Но теперь есть два разных пространства действий, которые применяются к разным состояниям игры (ставка или игра), так что

Полный текст

Как справляться с разными действиями для разных состояний окружающей среды? Задать вопрос

Задано 7 лет, 10 месяцев назад Изменено сегодня Просмотрено 3 тыс. раз

Задано 7 лет, 10 месяцев назад

6 $\begingroup$ Я новичок в области ИИ/Машинного обучения и немного пошагал с OpenAI Gym. При просмотре сред, я наткнулся на окружение Blackjack-v0, которое представляет собой базовую реализацию игры, где состояние - это счет рук игрока и дилера, а также наличие у игрока пригодки. Действия ограничены только "бить" или "стоять", а возможные награды 1 если игрок выигрывает, -1 если игрок проигрывает, и 0 когда происходит ничья. Это заставило меня задуматься о том, как бы выглядело более реалистичное окружение/модель для этой игры, учитывая текущий баланс и другие факторы, с множеством действий, таких как ставка от 1 до 10€ и "бить" или "стоять". Это приводит меня к моему фактическому вопросу: насколько я понимаю, в нейронных сетях (и я пока еще не очень хорошо это знаю) вход - это состояние, а выход - возможные действия и насколько хорошо сеть думает, что они будут хорошими/лучшими. Но теперь есть два разных пространства действий, которые применяются к разным состояниям игры (ставка или игра), поэтому некоторые действия бессмысленны. Как лучше всего подойти к этой ситуации? Я предполагаю, что один ответ - это дать какой-то отрицательный штраф, если сеть угадывает бесполезное действие, но в этом случае я думаю, что награда должна быть фактической ставкой (отрицательная награда) и фактическим выигрышем, если он есть. Следовательно, это может вызвать смещение в том, как проходит игра, поскольку она должна начинаться с какого-то начального баланса и заканчиваться, когда баланс равен 0 или после определенного количества раундов. Ограничение временных шагов тоже не вариант, наверное, потому что оно должно быть ограничено раундами, например, это не закончится после хода ставки. Поэтому для бесполезного шага награда будет 0, а состояние останется прежним, но для нейронной сети неважно, сколько бесполезных шагов она сделает, поскольку это не повлияет на фактильный исход. Корреляционный вопрос: следует ли разделить их на две нейронные сети? Одну для ставок и другую для игры? обучение с подкреплением DQN глубокое обучение реализация пространств действий

Улучшить этот вопрос Следить за редактированием 10 января 2021 г., 14:09 nbro 43,2 тыс. 14 14 золотых значков 121 121 серебряный значок 222 222 бронзовый значок задано 5 марта 2018 г., 23:18 SomeDudeCalledMo 71 1 1 серебряный значок 3 3 бронзовые значки $\endgroup$ 0 Добавить комментарий | 1 Ответ 1 Отсортировано по: Сбросить по умолчанию Наивысший балл (по умолчанию) Измененная дата (новые первыми) Созданная дата (старые первыми) 0 $\begingroup$ Существует так много алгоритмов обучения с подкреплением. Я рекомендую вам эти статьи: Введение в различные алгоритмы обучения с подкреплением. Часть 1 Введение в различные алгоритмы обучения с подкреплением. Часть 2 Есть несколько подходов. НН может получать состояние и действие как вход, а ожидаемую скидированную награду - как выход. Но вы можете просто не выбирать действия, если это действие недоступно, и нет необходимости давать отрицательную или нулевую награду, просто не позволяйте своей сети изменять свое поведение для этих действий, потому что они ни хороши, ни плохи. Улучшить этот ответ Следить за ответом Отвечено 7 марта 2018 г., 15:06 user2674414 199 1 1 серебряный значок 6 6 бронзовые значки $\endgroup$ 1 $\begingroup$ Спасибо за ссылки, я использую DQN, знаю, что есть много алгоритмов и многие из них лучше, чем DQN, но я пока очень нов в этом, и это было проще реализовать, благодаря большему количеству существующих примеров. Я думаю, мне придется провести еще больше исследований, чтобы действительно понять все это, но снова спасибо за ссылки любой ресурс сейчас хорош :) $\endgroup$ SomeDudeCalledMo – SomeDudeCalledMo 2018-03-09 19:26:34 +00:00 Комментировано 9 марта 2018 г., 19:26 Добавить комментарий Вы должны войти, чтобы ответить на этот вопрос Задайте вопрос, чтобы получить ответы Найдите ответ на свой вопрос, задав его. Задайте вопрос Исследуйте связанные вопросы обучение с подкреплением DQN глубокое обучение реализация пространств действий