Обучение глубокому подкреплению против обучения подкреплению

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

1 ответ

Решение

Усиление обучения

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

Например, в видео-игре Pac-Man состояние будет представлять собой 2D-игровой мир, в котором вы находитесь, окружающие предметы (мешочки, враги, стены и т. Д.) И действие будут перемещаться через это 2D-пространство (подниматься / опускаться). /лево право).

Поэтому, учитывая состояние игрового мира, агент должен выбрать лучшее действие, чтобы максимизировать вознаграждение. Через метод проб и ошибок подкрепления, он накапливает "знания" через эти (state, action) пары, как в, он может сказать, будет ли положительное или отрицательное вознаграждение с учетом (state, action) пара. Давайте назовем это значение Q(state, action),

Элементарным способом хранения этих знаний будет таблица, как показано ниже

state | action | Q(state, action)
---------------------------------
  ... |   ...  |   ...

(state, action)пространство может быть очень большим

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

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

Аппроксимация Qзначение с нейронной сетью

Так что у вас есть NN "интеллектуальный мозг", который предсказываетQзначение, основанное на входе(state, action), Это намного удобнее, чем хранить все возможные значения, как мы делали в таблице выше.

Q = neural_network.predict(state, action)

Глубокие Нейронные Сети

Чтобы сделать это для сложных игр, NN, возможно, должен быть "глубоким", а это означает, что нескольких скрытых слоев может быть недостаточно, чтобы охватить все сложные детали этого знания, следовательно, использование глубоких NN (много скрытых слоев),

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

Заключительные слова

Короче говоря, глубокая нейронная сеть позволяет применять обучение с подкреплением к более крупным проблемам. Вы можете использовать любой аппроксиматор функции вместо NN для аппроксимацииQ и если вы выбираете NNs, это не обязательно должно быть глубоким. Просто исследователи в последнее время пользовались большим успехом.

Резюме: Deep RL использует Deep Neural Network для аппроксимации Q(s,a). Non-Deep RL определяет Q (s, a) с помощью табличной функции.


Популярные алгоритмы обучения подкреплению используют функции Q (s, a) или V(s) для оценки доходности (суммы дисконтированных вознаграждений). Функция может быть определена путем табличного отображения дискретных входов и выходов. Однако это является ограничением для непрерывных состояний или для бесконечного / большого количества состояний. Более обобщенный подход необходим для большого числа государств.

Функция приближения используется для большого пространства состояний. Популярный метод приближения функций - Нейронные сети. Вы можете создать глубокую нейронную сеть, добавив множество скрытых слоев.

Таким образом, глубокое усиленное обучение использует приближение функций, в отличие от табличных функций. В частности, DRL использует Deep Neural Networks для аппроксимации Q или V (или даже A).

Другие вопросы по тегам