Укрепление обучения - не сходятся - PullRequest
0 голосов
/ 02 марта 2019

Я работаю над своей дипломной работой бакалавра.

Моя тема - обучение с подкреплением.Настройка:

  • Unity3D (C #)
  • Собственная структура нейронной сети

Подтверждение работы сети путем тестирования на обучение функции синуса.Это может приблизить это.Что ж.Есть некоторые значения, которые не достигают желаемого значения, но этого достаточно.Когда он тренируется с одиночными значениями, он всегда сходится.

Вот моя проблема:

Я пытаюсь научить свою сеть функции Q-Value простой игры, ловить шары: в этой игреон просто должен поймать мяч, падающий из случайного положения и со случайным углом.+1, если поймать -1, если не получится

В моей сетевой модели есть 1 скрытый слой с нейронами в диапазоне 45-180 (я проверил это число безуспешно)

Используется воспроизведение с 32 выборкамииз памяти 100 Кб со скоростью обучения 0,0001. Он учится на 50000 кадров, а затем проверяет на 10000 кадров.Это происходит 10 раз.Входы PlatformPosX, BallPosX, BallPosY из последних 4 кадров

Псевдокод:

  • Выберите действие (e-жадность)

  • Выполнить действие,

  • Сохранить состояние действия, CurrentReward.Сделано в памяти

  • если в обучающей фазе: Повтор

Моя проблема:

Его действия начинаются с отсечения либо 0, либо1 с некоторой дисперсией иногда.У него никогда не бывает идеальной политики, как если бы платформа просто следовала за мячом.

РЕДАКТИРОВАТЬ: Извините за дешевую информацию ... Моя функция качества обучена: Reward + Gamma (nextEstimated_Reward) Так что ее скидка.

1 Ответ

0 голосов
/ 03 марта 2019

Почему вы ожидаете, что это сработает?

Ваша тренировка едва ли может приблизиться к одномерной функции.И теперь вы ожидаете, что это решит 12-мерную функцию, которая включает в себя дифференциальное уравнение?Сначала вы должны были проверить, сходятся ли ваши тренировки для многомерной функции, с выбранными параметрами обучения.

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

Тогда есть выбор входов.Не требуйте от вашей модели дифференциации.Соответствующие входные данные были бы x, y, dx, dy.Желательно даже x, y относительно позиции пэда, а не мира.Должен иметь гораздо больше шансов сходиться.Даже если бы он только учился сохранять х минимальным.

Работа с абсолютными мировыми координатами в значительной степени обречена на неудачу, поскольку для обучения потребовалось бы охватить весь диапазон возможных входных комбинаций.А также сеть должна быть достаточно большой, чтобы хранить все комбинации.Имейте в виду, что сеть не изучает фактическую функцию, она изучает приближение для каждого возможного набора входных данных.Даже если идеальным решением на самом деле является просто линейное уравнение, нелинейные свойства функции активации делают невозможным его изучение в обобщенном виде для несвязанных входных данных.

...