1. Обучение с подкреплением
1. Что такое проблема обучения с подкреплением?
Обучение с подкреплением — одна из трех ветвей машинного обучения, а глубокое обучение + обучение с подкреплением также считается дорогой к общему ИИ.Проблема обучения с подкреплением может быть описана как получение агентом наблюдаемого состояния и вознаграждения из среды, а также генерация действий для воздействия на среду. Как описано выше. На математическом языке описан марковский процесс принятия решений (MDP).
2. Теоретическая система обучения с подкреплением
(1) MDP
Проблемы обучения с подкреплением могут быть описаны MDP. Прежде чем говорить о MDP, вам нужно понять марковское свойство и марковский процесс.
i) Markov Property
Короче говоря, текущее состояние содержит информацию обо всех прошлых состояниях, и как только информация о текущем состоянии станет известна, информация о прошлом состоянии может быть отброшена. В дополнение к этой информации марковское свойство также содержит вероятность перехода состояния.
ii) Markov Process
Прежде чем говорить о MDP, это Марковский процесс.Ниже приведен пример марковского процесса.Рисунок слева — реальное воплощение марковского процесса. Кружки представляют различные состояния и вероятность перехода состояния на кривой.
Мы можем случайным образом выбрать из этого описания, чтобыДля начального состояния правая часть рисунка выше — это эпизоды некоторых выборок (то есть путь от начального состояния до конечного состояния, включая все пройденные промежуточные состояния).
После описания выборочных эпизодов из марковского процесса описывается соответствующая вероятность перехода между состояниями во время выборки. На рисунке ниже показана вероятность перехода состояния.
iii) Markov Decision Process
законченныйMarkov PropertyиMarkov Process, теперь следует сказатьMarkov Decision Process.В дополнение к тому, что было сказано ранее в MDPКроме того, естьи другую информацию, все из которых составляют элементы MDP.
Задача обучения с подкреплением решается путем нахождения оптимальной стратегии (соответствующей элементам МДП, то есть выбора оптимальной стратегии,в различныхвыбрать лучшее) сделать полученноемаксимум.
Мы постепенно опишем все элементы, прежде чем рассматривать полную архитектуру MDP.
(2)
определяется следующим образом:почему изВ начале, поскольку смысл функции возврата вмомент, шагВозвращаемое значение для следующего состояния. Мы можем использовать пример, упомянутый выше, чтобыдобавить часть , чтобы понятьсмысл формулы. Как видно из рисунка, значение вознаграждения есть только при переходе из одного состояния в другое, и этот метод настройки как раз и является методом настройки MDP.Почему нужно иметь ? Чем ближе к 0, тем больше внимания уделяется текущей доходности, когдачас,, означает выполнить только один разПослекак финал, в это время система обращает внимание только на непосредственные интересы.Чем он ближе к 1, тем длиннее зрение системы, когдаВремя,Представляет собой сумму всех значений вознаграждения от текущего шага до цели с учетом всех ситуаций вознаграждения.
Теперь у нас естьФормула расчета, просто пройдясь по всем узлам структуры MDP, можно получитьМаксимальное значение и соответствующую оптимальную стратегию можно получить, но проблема в том, что для задач малого масштаба в этом расчете нет проблемы, а для задач большого масштаба только при определенномВ начале известно, что цель полностью пройдена, прежде чем ее можно будет получить.доступный финал, вычислительная эффективность очень низкая.
Поэтому, чтобы ввести еще одно понятие,.
(3)
По определению,только что вОжидаемое значение доходности в штате. В практическом смысле этосостояние начинается, может получить общее, и почувствуйте ценность этого состояния. Поясним на приведенном выше примере. загосударство, то есть сэто среднее значение возвращаемого значения каждого эпизода от начального состояния до конечного состояния.
отзаменятьВ качестве стандарта оценки, чтобы найти оптимальную стратегию, необходимо решить следующую задачу., пока можно решитьМаксимальное значение , соответствующее эпизоду, является оптимальной стратегией.
(4)
чтобы решить,мы будемРасширять.Последнее уравнение связано с тем, что ожидание воплощено в фактической структуре MDP, котораяприбытьРазличные вероятности умножаются на. Указывает, что решение итеративно. чтобы решить, представим его в виде матрицы. Из описания изображения над этим абзацем можно вывести представление следующей матрицы.так какявляется линейным уравнением, поэтому для простых задач MDP его можно решить напрямую, а для сложных задач MDP — итеративно.
С тех пор говорят, что, есть еще один важный элемент, о котором не сказано:.
(5)
ВМежду входом и выходом существует связь, дающая, С помощью функции выведите вероятность действия или действия, эта функция означает. Все возможно в одной средешироко известный как, разделен на(например, действие игры Atari) и(например, управление движениями робота в реальном мире).
(6)
определяется следующим образом:Одиндапривык решать что брать, может быть детерминированной политикой,использоватьПредставлять. для случайных стратегий,использоватьПредставлять. В глубоком обучении с подкреплением мы используем параметризованные, потому что в Deep RLВыходные данные основаны на ряде параметров (таких как веса и смещение нейронной сети), и нейронная сеть настраивается путем оптимизации параметров.Оптимизация для лучшего действия. В Deep RL мы используемдля представления детерминированных и стохастических стратегий соответственно.
имеютПозже будут соответствующиевывод, описанный ранее, используемый для представления значения состояния.В дальнейшем соответствующий результат действия можно получить по правилам, и мы можем непосредственно оценить ценность действия в определенном состоянии, т.е..
(7)
пройти через, Он также может быть представлен итерационной формулой.Давайте рассмотримпримитивные и повторяющиеся выражения. теперь естьи, недостаточно для получения оптимальной стратегии, поэтому необходимо найти оптимальнуюалгоритм.
(8)
как лучше пройтиинайди лучшееШерстяная ткань?Значение функции ценности и функции действия-ценности при определенной стратегии наибольшее, то эта стратегия является оптимальной стратегией.Следовательно, пока решена функция оптимального значения или функция значения действия, может быть получена оптимальная политика. Чтобы решить функцию оптимальной ценности и оптимальную функцию ценности действия, нам нужно сначала выразить математические выражения этих двух функций, как правило, следующими способами: С выражением функции оптимального значения мы можем применить функцию оптимального значения и функцию оптимального действия для решения оптимальной политики.
(9)
Существует много видов итерационных алгоритмов для решения функции оптимального значения.Давайте поговорим об итерации значения и итерации политики, которые являются двумя основными идеями, и Q-обучение также основано на итерации значения.
i) Dynamic Programming
Когда дело доходит до итеративного решения, оно будет применяться к динамическому программированию (динамическое программирование), что такое динамическое программирование?Короче говоря, динамическое программирование — это задача, которая может быть описана как динамическая последовательность или организована во временном порядке, а сложная проблема может быть разложена на небольшие задачи для решения. Упомянутая выше форма уравнения Беллмана преобразует исходные шаги, необходимые для решения всех вознаграждений, в значение следующего вознаграждения и следующего состояния, то есть упрощенную форму следующей формулы, и, наконец, на каждой итерации вы можете найти значение каждого состояния. Это функция прогнозирования динамического программирования, используемая при планировании MDP. При решении оптимальной политики ниже вы также увидите функцию динамического программирования в управлении. На приведенном выше рисунке суммированы две функции DP (динамическое программирование, в дальнейшем замененное DP) в планировании: прогнозирование и управление, Получен прогноз DP, используемый вышеприведенной функцией значения, и функция управления DP используется, когда оптимальная политика получается ниже.
ii) Policy Iteration
Цель итерации политики состоит в итеративном вычислении функции ценности, поиске оптимальной функции ценности и получении оптимальной политики. Мы используем другую форму для представления функции ценности.Представление функции стоимости основано на уравнении Беллмана. Итерация политики обычно делится на два этапа: оценка политики и улучшение политики. Целью оценки политики является обновление функции стоимости и постоянная оптимизация функции стоимости в соответствии с текущей политикой. Целью улучшения политики является обновление политики оптимизации и использование жадного алгоритма для нахождения наибольшего значения в функции текущего значения.Конкретный алгоритм работы выглядит следующим образом:
iii) Value Iteration
Итерация значения получается с использованием оптимального уравнения Беллмана.затем превратить его в итеративную формуКонкретный алгоритм следующий:В чем разница между итерацией значения и итерацией политики? Как видно из алгоритма, правилом итерации политики являетсяНа этапе оценки политики результатом обновления V(s) является текущийПод рассчитанным значением на этапе улучшения политики используйте рассчитанные V(s) для обновления оптимизации в области действия текущего состояния., а затем оптимизироватьЗатем обновите V (s) на этапе оценки, чтобы это было действительно правильно.Чтобы оптимизировать, это итерация политики.
Правило итерации Value Iteration заключается в постоянном обновлении V(s) и, наконец, выборе оптимального., поэтому итерация значения более прямолинейна, чем итерация политики.
3 Система алгоритмов обучения с подкреплением
До сих пор была представлена базовая архитектура обучения с подкреплением, а далее представлены Q-обучение и DQN.
2. Q-обучение
1 Что такое Q-обучение
Q-Learning выполняется с идеей итерации значения, но итерация значения будет каждый раз обновлять значение Q. Фактически, мы не можем пройти все состояния и действия, поэтому Q-Learning предлагает новые методы обновления значения Q. :будетОпределяемое как целевое значение Q, Q-Learning не присваивает целевое значение q напрямую текущему значению q, а приближается к целевому значению q прогрессивным образом, подобно идее градиентного спуска. Весь алгоритм работы выглядит следующим образом:Алгоритму нужна политика для генерации действий. Эта политика не является политикой, обновляемой итерацией значения Q, поэтому алгоритм q-обучения также не соответствует политике. Так каковы правила выбора этой политики?
- Случайный выбор (исследование). Случайный выбор полезен для расширения пространства поиска и может исследовать больше состояний и действий, что полезно для более глобального обновления значения q. Например, в области есть много ресторанов, чтобы найти лучшая еда Тот, результат случайного выбора, когда вы думаете, что один ресторан особенно вкусный в первый день, но затем вы ходите в другой каждый день, так что у вас будет более полное представление о ситуации во всех рестораны, то есть можно получить относительное глобально оптимальное значение Q.
- Жадный выбор (эксплуатация) Выберите оптимальное действие в соответствии с текущим значением Q, эта политиканазывается жадной политикой, т..
Исследование полезно для расширения пространства поиска и поиска лучшего значения Q, но его трудно сойтись; исследование может быстро сойтись, но это может быть не оптимальное значение Q, поэтому используется компромисс между ними., регулируязначение для настройки масштаба разведки и эксплуатации.
2 Декомпозиция процесса расчета Q-Learning
Предположим, что агент находится в таком доме, обратите внимание, что соединены комнаты 4 и 5. Комната 5 — целевая комната агента.Мы можем использовать следующую диаграмму для представления связности этой комнаты.Обратите внимание, что текущую диаграмму нельзя назвать марковским процессом, потому что вероятность перехода состояния отсутствует. Затем мы присваиваем каждому действию значение вознаграждения Reward.Поскольку комната 5 является целевой комнатой, награда за действие, которое достигает комнаты 5, составляет 100, а другие награды равны 0.В процессе обучения агент случайным образом выбирает позицию, а затем продолжает обучение, чтобы добраться до комнаты 5. Предположим, что агент стартует из комнаты 2 и доходит до комнаты 5. Из комнаты 2 агент может пройти в комнату 3, получить награду 0, затем перейти в комнату 4, получить награду 0, перейти в комнату 5, получить награду 100. Но из комнаты 2 он не может перейти прямо в комнату 1. следующая таблица суммирует приведенное выше изображение Достижимая комната и соответствующая награда. Состояние представляет комнату, в которой она находится, а действие представляет действие в определенной комнате. Например, первая строка и пятый столбец матрицы представляют комнату 0, доберитесь до комнаты 4 и получите вознаграждение в размере 0. -1 означает, что прямого доступа к этой комнате нет.В предыдущем разделе мы сказали, что формула Q-Learning такова:Q(S_t,A_t)\gets Q(S_t,A_t)+\alpha (R_{s+1}+\lambda \max \limits_a Q(S_{t+1},a)-Q(S_t,A_t)) $$$\alpha$ определяет прогрессивную скорость от текущего значения Q до целевого значения q. Если $\alpha=1$, целевое значение q будет присвоено текущему значению q, что также является упрощенной версией алгоритм q-обучения Мы будем использовать эту упрощенную формулу для представления процесса расчета ниже.Q(S_t,A_t) \gets R_{t+1}+\lambda \max \limits_a Q(S_{t+1},a)$$ Для текущей задачи хождения по комнате алгоритм всего Q-Learning выглядит следующим образом:
1.设置lambda参数,reward矩阵R
2.初始化Q矩阵为0
3.对于每一个episode(从开始到目标成为一个episode):
● 随机选择一个初始房间
● 从当前状态的所有可能的action中选择一个
● 计算简化公式
● 直到到达goal,结束
1. Ставим, а затем вручную рассчитать каждый процесс Q-Learning. Установите начальную комнату на комнату 1. 2. Инициализировать все матрицы Q до 0
Глядя на матрицу R, мы видим, что из комнаты 1 есть доступ к комнате 3 (награда = 0) и комнате 5 (награда = 100), мы выбираем пойти в комнату 5. Добравшись до комнаты 5, вы можете увидеть, что есть 3 действия на выбор: пройти в комнату 1, комнату 4 и комнату 5. Теперь, чтобы вычислить значение Q. Q(1,5)=R(1,5)+0.8 * max[Q(5,1),Q(5,4),Q(5,5)]=100+0.8 * 0=100
Теперь номер 5 является текущим состоянием, и поскольку цель достигнута, эпизод завершается, обновляя матрицу Q:В следующем эпизоде мы случайным образом выбираем комнату 3 в качестве нашего начального состояния. использовать случайную стратегию исследования в политике, а также эксплуатации иможешь выбрать). Достигнув комнаты 1, у нас есть два варианта перехода к 3 и 5, теперь вычисляем значение Q:Q(3,1)=R(3,1)+0,8 * макс[Q(1,3),Q(1,5)] = 0 + 0,8 * 100 = 80 Обновите матрицу QПродолжайте этот процесс, после многих эпизодов матрица Q достигнет значения сходимостиМы нормализуем данные матрицы Q, разделив ее на максимальное значение 500.Теперь мы можем отразить данные матрицы Q на следующем рисункеНезависимо от состояния, выбор наибольшего значения Q позволит добраться до комнаты 5 оптимальным образом.
3. ДКН
Управление агентами непосредственно из многомерных входных данных, таких как зрение и речь, было сложной задачей в обучении с подкреплением. До появления DQN большинство успешных случаев применения RL выполнялись путем ручного проектирования функций в сочетании с функцией линейного значения или представлением политики, и производительность алгоритма во многом зависела от качества разработанных функций.
Успех глубокого обучения позволяет извлекать признаки непосредственно из необработанных данных, поэтому DQN пытается выполнять DL+RL.
Применение глубокого обучения в обучении с подкреплением сопряжено с некоторыми из следующих проблем:①Глубокое обучение (обучение с учителем) требует большого количества помеченных обучающих данных.Применительно к обучению с подкреплением в качестве метки можно использовать только вознаграждение, но вознаграждения обычно разреженные, зашумленные и отсроченные.Сигнал (обычно вознаграждение дается после многих эпизоды). ② Связь между данными меток и данными обучения в глубоком обучении осуществляется в режиме реального времени, но вознаграждение за обучение с подкреплением откладывается. ③ В большинстве задач обучения с подкреплением предполагается, что используемые данные независимы и одинаково распределены (iid), но обучение с подкреплением будет сталкиваться с ситуациями, когда последовательности сильно коррелированы, и обучение с подкреплением будет изучать новые действия, основанные на глубоком обучении. это вызов.
DQN использует следующие операции для преодоления вышеуказанных трудностей:① Нейронная сеть (обучение с учителем), используемая DQN, обучается с помощью варианта алгоритма Q-Learning и использует стохастический градиентный спуск (SGD) для обновления весов. ② Используйте механизм воспроизведения для устранения корреляции между данными и случайной выборки в прошлых переходах. ③ Протестируйте алгоритм в Arcade Learning Environment.
Поток алгоритма DQN выглядит следующим образом:Формула 3 выглядит следующим образом:зачем использоватьвместоШерстяная ткань?
В Q-Learning мы используем таблицу для представления Q(s, a), но это вряд ли возможно во многих реальных задачах, потому что существует слишком много состояний. Способ использования таблиц просто не выживает.
Возьмите Atari в качестве примера.
Требование, чтобы компьютер играл в игры Atari, состоит в том, чтобы вводить необработанные данные изображения, которые представляют собой изображение размером 210x160 пикселей, а затем выводить несколько нажатий клавиш. Короче говоря, это то же самое, что и человеческие требования, чистый визуальный ввод, а затем пусть компьютер сам играет в игру. Итак, в этом случае, сколько состояний? Возможно, что состояние меняется каждую секунду. Потому что теоретически, если у каждого пикселя есть 256 вариантов, то есть: 256^210x160^ Это просто астрономически. Поэтому у нас невозможно хранить состояние через таблицы. Нам необходимо сжать размерность состояния, и решение состоит в том, чтобы аппроксимировать приближение функции ценности.1
Приближение функции значения 1Что такое аппроксимация функции цены? Очень просто сказать, что это использование функции для представления Q(s, a). которыйf может быть функцией любого типа, например, линейной функцией:в– параметры функции f.
Видели ли вы это, через представление функции нам все равно, насколько велика размерность s, в любом случае, в конце концов, выход представляет собой однозначное значение Q за счет уменьшения размерности матричной операции.
Это основная идея аппроксимации функции цены.
если мы используемДля равномерного представления параметров функции f существуютПочему это называется аппроксимацией, потому что мы не знаем фактического распределения значения Q, по сути, функция используется для аппроксимации распределения значения Q, поэтому ее также можно назвать
В DQN автор используетдля оценки функции действия-ценности.
Для более подробного ознакомления с DQN обратитесь к оригинальной статье:Playing Atari with Deep Reinforcement Learning