В предыдущих статьях я объяснил основное различие между контролируемым и неконтролируемым обучением, которое заключалось в наличии или отсутствии помеченных данных (учитель). В обучении с подкреплением (RF) нет руководителя, который сообщает алгоритму, было ли решение хорошим или плохим; вместо этого есть вознаграждение, которое сигнализирует алгоритму в направлении общего желаемого направления.

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

Точно так же этот тип алгоритма обучения может быть применен к множеству проблем. Например:

  • Выполнять вертолетные трюки (для справки, вот как Red Bull Helicopter Aerobatics выполняет трюки)
  • Играйте в нарды (настольные) игры за пределами человеческих возможностей (на Netflix есть целый документальный фильм — AlphaGo, история обучения с подкреплением, победившего чемпиона мира среди людей в игре ГО) *
  • Управление инвестициями ($)
  • Ходите как гуманоид
  • Играйте в игры Atari не только на человеческом уровне
  • "Играть в прятки *"

* = обязательно посмотрите

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

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

По определению, RL пытается выбрать действия, которые максимизируют будущие вознаграждения. В частности, алгоритмы должны научиться планировать заранее, потому что какое-то действие может впоследствии принести вознаграждение, или часто учиться приносить в жертву немедленное краткосрочное вознаграждение, чтобы получить долгосрочное вознаграждение (похоже, не так ли?). Например:

  • Сделайте некоторые финансовые вложения сейчас (отрицательное вознаграждение, так как деньги тратятся), чтобы получить большую отдачу позже
  • Пожертвуйте временем вертолета, чтобы заправиться топливом, чтобы позже он мог работать дольше.

Как это придумали?

RF был вдохновлен тем, как учатся животные на Земле. Агент — это экземпляр разумной формы, который взаимодействует с окружающей средой. Он получает наблюдение Ot от окружающей среды, с этой информацией, которой он обладает на данный момент, он совершает действие At и получает от него награду или наказание Rt.

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

Например, средняя шахматная партия состоит примерно из 40 ходов (как ни странно, 277 шахматных ходов в онлайн-турнирах). При обучении агента игре в шахматы у агента есть история Ht (последовательность наблюдений, действий и вознаграждений) из 40 наблюдений, 40 действий, и в итоге он получает вознаграждение за игру ( 1 — награда за победу, 0 — наказание за проигрыш).

Ht = [O1, A1, O2, A2, …, O39, A39, O40, A40, R1]

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

Чем это отличается от контролируемого и неконтролируемого обучения?

Несмотря на то, что алгоритмы RL похожи на контролируемое и неконтролируемое обучение, у них есть свои тонкости.

  • Вместо помеченных данных (супервизор) эти алгоритмы учатся методом проб и ошибок и совершенствуются, используя сигнал получения вознаграждения.
  • Обратная связь может быть отложенной или мгновенной
  • Время имеет значение. Событие в данный момент очень важно для действий в следующем событии.
  • «Агент» в RL взаимодействует с окружающей средой (данными).

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

Примечание:

Я нашел этот курс, который читал создатель AlphaGo (алгоритм, который победил чемпиона мира в GO) в области обучения с подкреплением → Если вам показалась интересной эта статья, я предлагаю вам ознакомиться с ней DeepMind.

Подвести итог

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

Вы всегда можете связаться со мной через LinkedIn.