Обучение с подкреплением — это подход к машинному обучению, который используется для целенаправленного обучения и принятия решений. Это вдохновлено поведенческой психологией. В этом подходе машина учится на прямом взаимодействии со своей средой, не завися от некоторого предопределенного помеченного набора данных. Целью обучения с подкреплением является то, что программный агент или машина могут учиться в среде, взаимодействуя с ней и получая вознаграждение за выполнение действий. При этом машина или программный агент обычно определяют окончательное поведение в конкретном контексте для максимизации производительности. Этим агентом может быть беспилотный автомобиль или приложение для игры в шахматы. Как сказано выше, он (агент) взаимодействует со своей средой, получает вознаграждение в зависимости от того, как он действует, например: безопасное движение к месту назначения или выигрыш в игре. При неправильном выполнении, например, съезде с дороги или получении мата, агент получает штраф. Агент принимает решения таким образом, чтобы максимально использовать вознаграждение и уменьшить штрафы за счет динамического программирования. Этот подход имеет преимущество в искусственном интеллекте — любая программа ИИ может обучаться без помощи программиста, инструктирующего агента о действиях, которые необходимо предпринять.

Как мы знаем, мы можем учиться, взаимодействуя с окружающей средой через наш обычный опыт. Представьте, что в комнате находится ребенок. Ребенок видит горящую свечу и подходит к ней. Подойдя к свече, ребенок чувствует тепло свечи и поэтому ему хорошо. Ребенок понимает, что огонь – это положительный объект. Но когда ребенок прикасается к огню, он обжигает себе руку. Итак, теперь ребенок усваивает, что огонь позитивен только тогда, когда он находится на некотором расстоянии и дает тепло. Но когда он слишком близко, это может вызвать ожог.

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

Зачем нам нужно обучение с подкреплением?

· Меньше человеческих усилий: поскольку обучаемому (машине) не говорят о том, какие действия следует предпринять, а вместо этого он должен самостоятельно определить, какое действие дает большое количество вознаграждений, пытаясь выполнить действия. Таким образом, нет необходимости в человеке-эксперте.

· Нет необходимости в сложных правилах: на разработку решения будет потрачено меньше времени, потому что нет необходимости в создании сложных правил, как в случае с экспертными системами.

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

· Это помогает в повышении эффективности инструмента или программы.

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

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

Обучение с подкреплением — это, по сути, взаимодействие между двумя компонентами — средой и агентом (тот, кто учится). Агент обучения имеет два механизма:

1. Исследование. Когда обучающийся агент действует методом проб и ошибок, это называется исследованием.

2. Эксплуатация: когда он действует в соответствии со знаниями, полученными из окружающей среды, это называется эксплуатацией.

Игра в шахматы — один из лучших способов понять обучение с подкреплением. В шахматах машина принимает решение, делая ход. Затем выясняется, был ли этот шаг уместным или нет. И тогда на этом основании дается награда. Если ход хороший, то предположим, что начисляется +5 очков. А если ход нехороший, то предположим, что -5 вознаграждается. Теперь машина узнает, какой ход хороший, и будет делать соответствующие ходы. Так работает обучение с подкреплением.

Математическая основа для определения решения в сценарии обучения с подкреплением называется Марковским процессом принятия решений. Это имеет:

  • Множество состояний, S
  • Набор действий, А
  • Функция вознаграждения, R
  • Политика, π
  • Значение, В

Мы предпримем действие (A) для перехода из начального состояния в конечное состояние (S). Взамен мы получаем вознаграждение (R) за каждое действие. Эти действия могут привести к положительному или отрицательному вознаграждению. Набор действий, которые мы предпринимаем, определяет нашу политику (π), а вознаграждения, которые мы получаем, определяют нашу ценность (V). Нам нужно максимизировать вознаграждение, чтобы:

для всех возможных значений S за время t.

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

1. Игры для ПК. Обучение с подкреплением широко используется в таких играх для ПК, как Assasin’s Creed, Chess и т. д., где враги меняют свои действия и подход в зависимости от ваших действий.

2. Робототехника. Большинство роботов, которых вы видите в современном мире, работают на основе обучения с подкреплением.

3. AlphaGO: го — китайская настольная игра, которая считается более сложной, чем шахматы. Недавно ученые создали программу AlphaGo, которая соревновалась в этой игре с чемпионом мира и побеждала.

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

Помимо этого есть много других приложений обучения с подкреплением.