2

Я использую совместные положения с камеры Kinect в качестве своего состояния, но я думаю, что это будет слишком большим (25 суставов х 30 в секунду), чтобы просто входить в SARSA или Qlearning.Глубокая нейронная сеть в сочетании с qlearning

Сейчас я использую программу Kinect Gesture Builder, которая использует контролируемое обучение, чтобы связать движение пользователя с конкретными жестами. Но для этого требуется контролируемая тренировка, от которой я бы хотел отойти. Я полагаю, что алгоритм может забрать определенные ассоциации между суставами, которые я хотел бы, когда я классифицирую данные самостоятельно (вверх, шаг влево, шаг справа, например).

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

В последнее время появилась бумага. https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf

Я знаю, что у Accord.net есть и глубокие нейронные сети, и RL, но кто-нибудь их объединял? Какие-нибудь идеи?

+0

Что ваша цель ? Каковы ваши действия и вознаграждение? – Simon

+0

Это для бокс-робота. Пользователь стоит перед ним и сражается с ним. Если робот ударяет пользователя, это положительная награда, если пользователь ударяет робота, это отрицательная награда. Действия - это последовательности ударов, которые я определяю (действие 1 может быть оставлено прямым, прямолинейным, например, левым крюком). – ORobotics

ответ

0

Если я правильно понял ваш вопрос + комментарий, вам нужен агент, который выполняет дискретные действия с использованием визуального ввода (необработанные пиксели с камеры). Это похоже на то, что недавно сделали ребята DeepMind, расширив упомянутую вами бумагу. Посмотрите на this. Это более новая (и лучшая) версия игры Atari. Они также предоставляют официальную реализацию, которую вы можете скачать here. Существует даже an implementation in Neon, который работает очень хорошо.

И наконец, если вы хотите использовать непрерывные действия, возможно, вас заинтересует этот very recent paper.

Резюмируя: да, кто-то в сочетании DNN + RL, это работает, и если вы хотите использовать исходные данные камеры для обучения агента с RL, это, безусловно, один путь :)

+0

Я знаком с этой статьей и являюсь частью моего вдохновения для использования Deep QLearning. В отличие от бумаги, я не планирую сырые пиксели. Я собираюсь использовать координаты для каждого из 25 суставов от Kinect. Kinect SDK отлично справляется с использованием датчика глубины для распознавания суставов, поэтому не нужно воссоздавать эту функциональность. В последней статье, к которой вы привязались (спасибо за это!), Говорится: «Однако, хотя DQN решает проблемы с пространственными пространствами с большими размерами, он может обрабатывать только дискретные и маломерные пространства действий». – ORobotics

+0

У меня относительно небольшое пространство действия (вероятно, 20 на высокой стороне), поэтому я думаю, что стандартный DQN будет работать. Любой совет или кто-нибудь отправил какой-либо код о том, как это сделать в Accord.net? Лучше не писать об этом с нуля. – ORobotics

+0

Да, DQN может иметь дело только с дискретными пространствами действий, а 20 все еще малоразмерным, поэтому с вами все будет в порядке. Однако у меня нет опыта работы с Accord.net, поэтому я не могу с этим поделать. Во всяком случае, его реализация должна быть довольно простой, в конце концов, это ничего сложного. – Simon

 Смежные вопросы

  • Нет связанных вопросов^_^