У меня есть ощущение, что одноэтапная задача обучения с подкреплением по существу одинакова с некоторыми алгоритмами оптимизации.
Например, предположим, что есть только один параметр α
, и мы пытаемся оптимизировать y
, используя для оптимизации градиентный спуск, тогда на каждой итерации (или шаге) α
фактически немного приближается к направление с помощью δy
. Шаг точно такой же в обучении с подкреплением, где δy
называется временной разницей, а y
- значением этого состояния S(a)
.
Итак, мне интересно, для 1-шаговых задач обучения с подкреплением, это на самом деле метод оптимизации или его можно использовать для оптимизации параметров? (исходя из контекста выше)
У меня может быть некоторое недопонимание по этому поводу, добро пожаловать на исправление.
1 ответ
Во-первых, обучение с подкреплением носит очень общий характер. Почти любую задачу оптимизации можно преобразовать в задачу RL. Обычно это того не стоит, потому что агент RL будет выбирать неоптимальные действия, делая пробы и ошибки только для того, чтобы подтвердить то, что вы уже знаете по замыслу.
На ваш вопрос: я думаю, что сходство, которое вы обнаружили, заключается в том, что оба алгоритма используют (зашумленный) шаг градиента. Временная разница — это всего лишь один из многих методов RL. Если я правильно помню, он вычисляет разницу между прогнозируемым значением и (зашумленной) оценкой значения, сделанной с наблюдаемым вознаграждением. Он не может просто установить правильное значение, потому что вообще существует сложная зависимость между значениями других состояний, поэтому вместо этого он делает всего один маленький шаг, чтобы уменьшить разницу.
Конечно, вы можете каким-то образом настроить задачу RL для оптимизации reward = y(α)
. Теперь α
может быть либо «состоянием» агента, и в этом случае вам нужны действия, уменьшающие или увеличивающие его (вы изучаете значения состояния), либо α
может быть действием, и в этом случае есть только один состояние (вы изучаете действия-ценности). При правильной стратегии исследования это может сработать даже при наличии терпения. Но в обоих случаях вы теряете свои знания о градиенте δy(α)/δα
, потому что алгоритм RL не знает об этом. Да, это требует шагов градиента, но эти градиенты уменьшают разницу между изученным значением и фактическим значением. Если истинные значения — это именно награды (что верно, если агент умирает после одного шага и если при оценке y(α)
нет случайности), то это напрасные усилия. Вместо того, чтобы сделать небольшой шаг, чтобы сгладить несуществующее влияние на другие состояния, вы могли бы просто установить его на истинное значение напрямую.
Вы упомянули «одношаговое обучение с подкреплением»: на ум приходит контекстный бандит установка. Это упрощение полномасштабной настройки RL, когда ваши действия не влияют на следующее состояние (=контекст). Следующее упрощение — это многорукий бандит, у которого есть только действия, но нет состояния/контекста.
If the true values are exactly the rewards, then this is wasted effort
, могу я узнать почему? Предположим, MAB без случайности, это то же самое, что и градиентный спуск?
Похожие вопросы
Новые вопросы
reinforcement-learning
Усиленное обучение - это область машинного обучения и информатики, связанная с тем, как выбрать действие в состоянии, которое максимизирует численное вознаграждение в конкретной среде.