Хорошие реализации обучения подкрепления? - PullRequest
22 голосов
/ 11 апреля 2009

Для проекта класса ai мне нужно реализовать алгоритм обучения с подкреплением, который превосходит простую игру в тетрис. Игра написана на Java и у нас есть исходный код. Я знаю основы теории обучения с подкреплением, но мне было интересно, имел ли кто-либо из сообщества SO опыт в работе с подобными вещами.

  1. Какими будут ваши рекомендуемые показания для реализации усиленного обучения в игре тетрис?
  2. Существуют ли какие-нибудь хорошие проекты с открытым исходным кодом, которые выполняют подобные вещи, которые стоит проверить?

Изменить: Чем конкретнее, тем лучше, но общие ресурсы по этому вопросу приветствуются.

Продолжение:

Подумал, что было бы неплохо, если бы я опубликовал продолжение.

Вот решение (код и рецензия), которое я выбрал для будущих студентов:).

Бумага / Код

Ответы [ 9 ]

13 голосов
/ 13 апреля 2009

Взгляните на 2009 RL-конкурс . Одной из проблемных областей является тетрис . В прошлом году тоже была проблема с тетрисом. Вот 52-страничный итоговый отчет от пятого места финалистов этого года, в котором подробно рассказывается о работе агента.

3 голосов
/ 11 апреля 2009

Вот хорошая книга на эту тему:

Машинное обучение и сбор данных: введение в принципы и алгоритмы
Игорь Кононенко, Матяз Кукар (июнь 2007 г.)

Также взгляните на эти проекты с открытым исходным кодом:

3 голосов
/ 11 апреля 2009

Электронная книга Heaton Research достаточно хороша для объяснения концепций нейронных сетей (с помощью кода). Глава 4 посвящена машинному обучению и различным методам обучения для ваших сетей. Существует загружаемая библиотека и примеры приложений для просмотра.

2 голосов
/ 25 августа 2009

TD-Gammon , gnubackgammon или любой другой подобный проект были огромными успехами в играх.

В книге Саттона и Барто "Обучение усилению: введение" также есть и другие примеры .

1 голос
/ 22 апреля 2018

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

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

https://github.com/openai/baselines

1 голос
/ 02 июня 2016

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

1 голос
/ 13 октября 2009

Это не относится к усиленному обучению, но в Стэнфорде есть отличная серия лекций по машинному обучению на Youtube и iTunes.

Ссылка на первую лекцию, которая занимает около 30 минут, чтобы погрузиться в содержание.

0 голосов
/ 06 февраля 2019

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

https://github.com/TheMTank/RL-code-resources

0 голосов
/ 11 декабря 2018

Я бы предложил изучить RL4J, основанный на Java. Я использовал это, и я был поражен, как все работает гладко, и вы можете изучить даже сети LSTM в алгоритме обучения с подкреплением с алгоритмом Actor Critic (называемым A3C)

Вот ссылка: https://github.com/deeplearning4j/dl4j-examples/blob/master/rl4j-examples/

...