В постоянно прогрессирующую эру искусственного интеллекта (AI) многие ученые и исследователи полагают, что потребность в машинном обучении (ML) и глубоком обучении (DL) увеличится в десять раз за год. В то время как AI - это зонтичный термин для ML или DL, но ML / DL, в свою очередь, ведет себя как зонтик для различных технологий.

Искусственный интеллект - это технология, в которой устройство демонстрирует человеческий интеллект и навыки принятия решений. Машинное обучение и глубокое обучение - две основные области ИИ. ML обращает внимание на то, чтобы заставить машину учиться на собственном опыте, а DL использует нейронные сети, чтобы сделать эту систему обучения более прогрессивной и эффективной. Графическое изображение того же может быть таким, как показано:

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

Сегодня мы хотим обсудить важную технику области глубокого обучения, а именно «ОБУЧЕНИЕ С ПОДДЕРЖКОЙ».

Обучение с подкреплением, или RL, является субдоменом DL, который работает после выполнения последовательности выводов один за другим и получает вознаграждение за каждое решение. Это группа контекстных алгоритмов принятия решений. Машины обучаются по этим алгоритмам с помощью механизма вознаграждения. В основном это целенаправленный метод, основная цель которого - достичь сложной, но достижимой цели и максимизировать ее с течением времени путем повторного запуска алгоритма снова и снова. Основным компонентом любой техники RL являются:

- АГЕНТ

- Действие

- Награды

- Среда

- Состояния

- Наблюдения

- ПОЛИТИКА

Давайте кратко опишем каждый из них, прежде чем двигаться дальше.

Агент может быть программой / алгоритмом, принимающим решение от имени машины. Например: а) в случае шагающего робота агент - это программа, которая управляет роботом; б) в случае проблемы с регулировкой температуры в автоматических кондиционерах или кондиционерах Sixth sense агентом может быть термостат. Агент обязан принять решение в той среде, в которой он находится в настоящее время. Обучается методом «проб и ошибок». И цель агента - максимизировать вознаграждение.

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

Награда - это результат среды, в которой агент предпринимает какие-то действия. В обучении с подкреплением результаты обычно выдаются в виде вознаграждений. Эти награды могут быть «ПОЛОЖИТЕЛЬНЫМИ» или «ОТРИЦАТЕЛЬНЫМИ», в зависимости от типа среды. Например: в случае состояния воздуха шестого чувства положительное вознаграждение может рассматриваться, когда действие, предпринимаемое технологией шестого чувства для поддержания адекватной температуры, удовлетворяет потребности человека, в то время как отрицательное вознаграждение будет рассматриваться, когда человеку необходимо обновить температура, даже когда шестое чувство работает на одном и том же. В случае лабиринта-головоломки награды могут быть только отрицательными за каждый ход, и ответственность агента состоит в том, чтобы минимизировать ходы, чтобы результат был менее отрицательным.

Среда - это группа функций, которые преобразуют текущее состояние системы в следующее состояние на основе действий, предпринятых агентом. Эта среда также обеспечивает вознаграждение агенту. Как работает эта среда - это своего рода черный ящик, детали которого агенту неизвестны. Агент узнает результат только в виде вознаграждений или отзывов. И на основе этого агент пытается максимизировать вознаграждение.

Пусть у нас будет среда симуляции игры Pac-Man, здесь агентом будет программа, которая управляет Pac-Man. Действиями будут девять возможных положений переключения Pac-Man: вверх, вниз, влево, вправо и т. Д., И агент будет вознагражден игровыми очками.

Еще один простой пример обучения с подкреплением: человек может обучить свою собаку некоторым простым задачам, например, стоять на двух ногах, приносить игрушку и т. Д. Здесь собака - это агент, который знает некоторые действия и человека, окружающую среду. который награждает собаку за успешное соревнование по любому заданию. Изначально за каждое его действие окружение награждает собаку едой или объятиями. Через некоторое время собака начинает улучшаться, чтобы получать все больше и больше наград. Здесь наблюдения за окружающей средой (человеком) также играют важную роль: если окружающая среда наблюдает, он может повысить уровень сложности, он может сделать это, увеличив награды или получив новые награды.

Состояние - это сценарий, в котором находится агент. Задача агента - совершить действие для перехода в следующее состояние. Это новое состояние приведет к вознаграждению агента положительным или отрицательным значением.

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

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

МЕТОДЫ ОБУЧЕНИЯ ПО УСИЛЕНИЮ

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

Ø на основе модели или без модели

Ø На основе политики или без политики

Алгоритмы RL на основе модели используют модель для изучения опыта прошлых действий и перехода от последнего состояния к текущему состоянию, в то время как алгоритмы без модели основаны на «пробах и ошибках »Метод действий.

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

Основные методы, которые мы используем для RL:

Ø Общая модель: метод Cartpole

Ø Марковский процесс принятия решений: динамическое программирование, моделирование Монте-Карло

Ø Метод временных различий

Ø Q-обучение

Общая модель

Поведение агента определяется прошлым опытом. И сбор этого опыта рассчитывается с помощью «оценщика». Этот оценщик рассчитывает стоимость обучения новому опыту. В этой модели агент оснащен датчиками для проведения наблюдений и изучения нового опыта. Эти наблюдения объединяются с прошлыми данными об окружающей среде, а затем передаются в алгоритм, называемый «оценка состояния», с помощью которого поддерживается вектор. Этот вектор необходим, чтобы различать ожидаемый результат и исходный результат. Затем агент пытается оптимизировать разницу, делая новые наблюдения и предпринимая действия, чтобы максимизировать вознаграждение. Общая модель - это трехэтапный процесс:

1. Агент наблюдает и воспринимает информацию, предоставляемую окружающей средой.

2. Затем агент предпринимает действия в зависимости от наблюдения и прошлого опыта.

3. Агент подкрепляет новые наблюдения и обновляет матрицу опыта.

Общая модель: проблема с тележкой

Эта модель очень хорошо объясняется «проблемой тележки». В задаче о тележке цель состоит в том, чтобы найти политику соответствующих действий, чтобы столб можно было балансировать над тележкой как можно дольше в данной среде. Действия представляют собой силу, прилагаемую к тележке в форме операций PUSH и PULL, в основном известных как «операции управления ударами». Окружающая среда представляет собой матрицу ограниченной области, и действия принимаются на основе текущей ситуации на полюсе.

Переменные, которые решают проблему:

x - представляет собой смещение тележки от центра матрицы.

x ’- линейная скорость.

Ɵ - угол наклона шеста по отношению к центру тележки.

Ɵ ’- угловая скорость.

В любой момент времени t агент проверяет значения всех переменных набора (x, x ’, Ɵ, Ɵ’) и предпринимает действия в соответствии с наблюдением и подкрепляет наблюдение, если на выходе получает ноль. В конце он обновляет значения в оценщике затрат в соответствии с проведенными наблюдениями и полученными вознаграждениями.

Марковский процесс принятия решений

Весь этот метод зависит от условия, называемого «Марковским условием», которое гласит, что для каждого наблюдения o, сделанного агентом, наблюдение должно состоять только из последнего наблюдения и действия, т.е.

Ot+1 = f(Ot , at, wt) [1]

Где Ot - последнее наблюдение, сделанное агентом, at - последнее действие, предпринятое агентом, а wt - нарушение.

Если агент может наблюдать все состояния согласно условию [1], то это условие называется марковским условием, но если он не может соблюдать все состояния согласно приведенному выше правилу, тогда оно призваны проявлять немарковское состояние.

Решим проблему марковского процесса принятия решений. Давайте иметь:

I. Конечное множество всех возможных действий, A.

II. Конечное множество всех возможных состояний x X.

III. Вероятности, зависящие от времени, P (xt + 1 | xt, at).

IV. Конечный набор подкреплений r (x, a) ꭆ

Задача агента - минимизировать функцию стоимости.

Решить Марковский процесс принятия решений можно двумя способами:

1. Динамическое программирование

2. Моделирование методом Монте-Карло

Марковский процесс принятия решений: динамическое программирование

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

Операторы:

· Оператор последовательного приближения TΠ:

Для Π: X → A

Для V: X → R

· Оператор итерации значений T:

Для V: X → R

Теоремы:

· Уравнение оптимальности Беллмана: V * = TV * [4]

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

· Если полис фиксированный, оптимальную стоимость можно определить по:

· Метод итерации значений:

· Метод итерации политики:

Марковский процесс принятия решений: моделирование методом Монте-Карло

У динамического программирования много недостатков, которые затрудняют его использование с обучением с подкреплением, главный из них заключается в том, что динамическое программирование требует модели и обычно всегда имеет заранее оптимизированное решение. Мы можем перейти от динамического программирования к обучению с подкреплением, предоставив имитатор, который заставляет DP вести себя как модель и безопасно переносится для работы с RL. Этот симулятор называется симулятором Монте-Карло. И этот переход можно легко вычислить с помощью процедуры Роббинса-Монро:

Метод временных различий

Этот метод является основой любой техники RL. Он берет уравнение Роббинса-Монро, как показано в [10], а затем расширяет его до следующего:

Сложение, вычитание и расширение оставляет нам следующее:

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

Q-Learning

Это итеративный метод для превращения обучения в непрерывный процесс на основе действий и политики. Итак, функция Q-learn, основанная на действии и политике, определяется как набор этих двух атрибутов: Q (x, a)

Алгоритм Q-Learning можно определить следующим образом:

1. Посетите любое состояние xi и выберите любое действие ai.

2. Пока вы находитесь в текущем состоянии, получите подкрепленные данные из предыдущего состояния и сгенерируйте данные подкрепления для будущего состояния.

3. Обновите значение действия, предпринятого в Q (xt, at) для этого конкретного времени «t».

Характеристики обучения с подкреплением:

1. Нет необходимости в наблюдении за процессом обучения.

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

3. Решение обычно принимается последовательно.

4. Каждое действие приносит награду - положительную или отрицательную.

5. Отзывы также можно использовать вместо вознаграждений.

6. Действия агента определяют вероятность успеха.

Практическое применение обучения с подкреплением:

1. Робототехника

2. Игра

3. Обработка естественного языка

4. Компьютерное зрение

5. Машинное обучение

6. Обработка данных

7. Промышленная автоматизация

8. Системы обучения

9. Управление автомобилями с автопилотом

10. Программное обеспечение Auto Trading

11. Здравоохранение

Робототехника: Агент - программа, управляющая роботом.

Окружающая среда - реальный мир

Действие - Отправка сигналов

Награды - положительные / отрицательные

Pac-Man: агент - программа, управляющая Pac-Man

Окружающая среда - Моделирование игры

Действия - Девять возможных положений джойстика

Наблюдения - Скриншоты

Награды - игровые очки

Термостат: Агент - Термостат

Окружающая среда - реальный мир

Действие - определение температуры и регулировка в зависимости от погоды

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

Автотрейдер: агент - наблюдает за фондовым рынком.

Награды - денежная прибыль

Управление автопилотом: Агент - программа, управляющая автомобилем.

Окружающая среда - Реальный мир

Действие - Контроль скорости, избегайте столкновений с другими транспортными средствами, двигайтесь по правильной стороне дороги, делая повороты.

Награды - безопасно добраться до места назначения

Здравоохранение:

Проблемы обучения с подкреплением:

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

2. Эти параметры могут замедлить работу системы RL.

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

4. Перегрузка усиленных данных может привести к неправильным переходам между состояниями.

5. Разработка политики может быть огромной проблемой.

6. Реальный мир - это динамическая среда.

Реальные приложения RL, которые невозможно решить с помощью DL:

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

Вот некоторые из реальных приложений, которые мы можем решить только с помощью обучения с подкреплением, а не с помощью глубокого обучения:

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

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

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

4. Торговля акциями: в динамичном мире акций невозможно составить программу для правильного прогнозирования стоимости акций, которая будет расти в будущем, этому можно научиться только со временем.

Вознаграждая, RL гарантирует, что эти приложения могут продолжать получать опыт и применять усиленные данные.

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

ССЫЛКИ

1. https://deepsense.ai/what-is-reinforcement-learning-the-complete-guide/

2. https://en.wikipedia.org/wiki/Deep_reinforcement_learning

3. https://wiki.pathmind.com/deep-reinforcement-learning

4. «ИЗУЧЕНИЕ ПРИЛОЖЕНИЙ ОБУЧЕНИЯ УСИЛЕНИЮ И ЕГО АЛГОРИТМОВ», Кумар Гурав, д-р Аманприт Каур, IJSTR, Vol. 9, Issue 03, ISSN 2277–8616

5. Рисунок 4 https://www.kdnuggets.com/2019/10/mathworks-reinforcement-learning.html

6. Рисунок 7 https://techvidvan.com/tutorials/reinforcement-learning/

7. Рисунок 9 https://neptune.ai/blog/reinforcement-learning-applications