Нет никакой математики. Я обещаю. Хорошо, только что поняла, есть такие.

Вчера я проглотил последний сезон Кремниевой долины.
Это шоу последовательно комично рассматривает все последние техно (искусственный интеллект, криптовалюту). Из классификатора Хот-дог - не хот-дог, ботов для криптовалюты, децентрализованного Интернета, чат-ботов, которые научились общаться с другими ботами, алгоритмов суперсжатия и даже инкубации фермы кликов.
В последний сезон они дал нам вкус обучения с подкреплением. И снова в комической форме он показал, как установка неправильной функции вознаграждения привела к тому, что RL-агент узнал, что лучший и самый быстрый способ удалить ошибку из кода - это удалить весь код! 😂
Это действительно так. Как в фильмах Я, робот и Терминатор, машины, созданные для служения человечеству, узнают, что самая большая угроза для людей - это сами люди!

Это все, что есть в RL. Изучение способов уничтожения людей. Нет, подождите. Это неправильно 😆.

Обучение с подкреплением - это изучение «наилучших возможных способов» (или политик) для выполнения конкретной задачи. Здесь нам нужно количественно определить «наилучший из возможных способов», который определяется как «функция вознаграждения».

Хорошо, мы поговорим об этом в нескольких абзацах.

1. Как мы научимся делать «вещи»? (Все дороги ведут к мистеру Дарвину)

Мы чувствуем
Вы двигаетесь по коридору. Это стол. У него есть ноги. У тебя мизинец. Они встречают.

Мы учитываем
«Прикосновение» (мучительная боль, также известная как отрицательная награда) проходит через наше тело к нашему могучему мозгу.

Мы связаны и соединяем
На самом деле, наш мозг взаимодействует. Он помнит эту боль со времен нашей славы, когда мы были детьми в подгузниках (я думаю, также из эволюции)

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

P (toe_hit | north_remembers 🧠) ‹1

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

P (toe_hit | north_remembers🧠) ‹-------------------------------- 1 [Все еще не ноль, как видите 😟]

2. Успехи RL в промышленности.

Благодаря достижениям в области манипуляции руками робототехники, Google Deep Mind побеждает профессионального игрока Alpha Go (который, кстати, ушел на пенсию), а команда OpenAI побеждает профессионального игрока в DOTA, область обучения с подкреплением в последние годы действительно резко выросла.
Вот забавное приложение (агент против агента), созданное на OpenAI:

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

Давайте научимся ползать, прежде чем бегать! - каламбур (͡ ° ͜ʖ ͡ °)

3. Привет, мир!

Мы начнем с примера Grid World, приветственного мира RL. В основном это основано на великолепном классе Беркли CS 188 | Введение в искусственный интеллект . Это будет использоваться для понимания концепций в оставшейся части статьи. Итак, давайте разберемся с правилами этой обманчиво сложной игры.

Правила игры

  • Проблема, похожая на лабиринт
    - Агент живет в сетке.
    - Путь агента преграждается стенами.
  • Шумное движение: действия не всегда идут по плану
    - в 80% случаев действие "Север" выполняет агент "Север"
    (если есть там нет стены)
    - 10% времени Север берет агента Запад; 10% на восток
    - Если есть стена в том направлении, куда должен был уйти агент, агент остается на месте.
  • Агент получает вознаграждение за каждый временной шаг
    - Маленькое «живое» вознаграждение за каждый шаг (может быть отрицательным)
    - В конце приходят большие награды (хорошие или плохие)
  • Цель: максимизировать сумму вознаграждений

OK. Большой. Эта игра выглядит как пример стохастического процесса. Подожди, Сточа .. что? 😕

4. Стохастические и детерминированные процессы.

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

Короче говоря, агент принимает меры - ›Север. Он едет на север в 100% случаев. Никакой случайности.

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

Кратчайший путь

Детерминированная проблема

  • Нужно добраться из точки А в точку Б.
  • Каждый сегмент показывает время в минутах. От A до C занимает 4 минуты. Нам нужно найти кратчайший путь
  • Кратчайший путь в этой проблеме - ACDEGHB каждый раз, когда мы запускаем моделирование.

Стохастическая проблема

  • Допустим, мы вводим некоторый трафик с некоторой вероятностью на каждом пути.
  • Существует вероятность 25%, что это займет 10 минут, и вероятность 75%, что потребуется 3 минуты, чтобы добраться до точки C из точки A. У нас есть еще несколько вероятностей для других сегментов.
  • Теперь, если мы запустим моделирование несколько раз, кратчайший временной путь будет отличаться для каждой итерации из-за случайности трафика, введенного в систему. Это называется стохастическим процессом.
  • Найти кратчайший временной маршрут уже не так просто. В реальном мире мы можем даже не знать этих вероятностей. Теперь наша цель - найти наиболее вероятный кратчайший путь. И это то, что мы делаем, используя RL.

5. Обучение с подкреплением

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

Реальный пример вышеуказанной системы:

Тематический парк во Франции научил ворон собирать мусор. Как? Ну, каждый раз, когда вороны приносят листок бумаги, бросают его в коробку, они получают кусок еды. Для них это становится игрой. Покрытие Nat-geo:



Давайте приспособим эту систему действий и вознаграждений к сеттингу RL.

  • Представьте себе область с несколькими воронами, сигаретными окурками и коробкой с двумя отделениями. Один с едой, другой с мусором. Вся эта система - наша среда
  • Ворона (агент) сначала будет наблюдать за обстановкой еды и состоянием окружающей территории (где находится ящик, где мусор и т. Д.)
  • Затем наивная ворона выполнит определенные действия, например, полетит прямо за едой, не прикасаясь к сигаретному окурку (действие), и будет наблюдать за реакцией коробки (следующее состояние).
  • Если мусор не приносят, дверь для еды не открывается, и ворона разочаровывается (получает отрицательную награду). Все еще желая еды, ворона пробует другую тактику (обновляя политику), чтобы получить еду.
  • Ворона будет повторять этот процесс до тех пор, пока не найдет политику (выбрать почку - ›получить еду), которая сделает ее счастливой и полной (максимизация общего (со скидкой) вознаграждения).

Сопоставление вышеуказанной архитектуры с нашей постановкой задачи

В случае Grid World,

  • Сетка - это наша среда,
  • Робот наш агент,
  • Позиция агента в каждый конкретный момент - это наше состояние
  • Направление, в котором мы решаем двигаться, - это наше действие,
  • Состояние окружающей среды после того, как мы предпримем это действие, является нашим следующим состоянием,
  • Награда - это то, что мы получаем, если успешно выходим (+1) или падаем в канаву (-1). Также за каждый шаг может быть небольшая живая награда (-0,01). Это подтолкнет агента к изучению наилучшего пути за небольшое количество шагов.
  • Политика - это последняя изученная стратегия, которая дает агенту максимальное вознаграждение.

Холодные бобы

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

Домашнее задание

А пока взгляните на этот забавный эксперимент: Marshmallow Experiment и попробуйте связать его с этим изображением в комментариях:

Понравилось? Поставьте 😄 и подписывайтесь, чтобы узнать больше!

Еще от автора