Мини-партии в РЛ - PullRequest
       13

Мини-партии в РЛ

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

Я только что прочитал статью Mnih (2013) , и мне было действительно интересно, что он говорит об использовании RMSprop с мини-пакетами размером 32 (стр. 6).

Мое понимание этих видов алгоритмов обучения с подкреплением состоит в том, что на каждую подгонку имеется только 1 или, по крайней мере, очень небольшое количество обучающих выборок, и в каждой подгонке я обновляю сеть.Принимая во внимание, что в контролируемом обучении я имею до миллионов выборок и делю их на мини-пакеты, например, по 32, и обновляю сеть после каждой мини-партии, что имеет смысл.

Поэтому мой вопрос: если я помещу только одну выборку внейронная сеть за один раз, как минибатчи имеют смысл?Я понял что-то не так с этой концепцией?

Заранее спасибо!

Ответы [ 2 ]

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

Ответ, предоставленный Филиппом, правильный.Просто чтобы добавить интуицию к его ответу, причина, по которой используется переигровка опыта, состоит в том, чтобы декоррелировать переживания, которые испытывал RL.Это важно, когда используется аппроксимация нелинейных функций, таких как нейронные сети.

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

enter image description here

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

И во время обучения нейронной сети у нас есть пакет памяти (то есть данные), и мы выбираем случайные мини-партии из 32 из них для обучения под наблюдением, так же как любая другая нейронная сеть обучается.

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

В статье, которую вы упомянули, представлены два механизма, которые стабилизируют метод Q-Learning при использовании аппроксиматора функции глубоких нейронных сетей.Один из механизмов называется «Воспроизведение опыта», и в основном это буфер памяти для наблюдаемых событий.Вы можете найти описание в статье в конце четвертой страницы.Вместо того, чтобы учиться на единственном опыте, который вы только что видели, вы сохраняете его в буфер.Обучение проводится каждые N итераций, и вы выбираете случайный мини-пакет событий из буфера воспроизведения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...