Нет никакой математики. Я обещаю. Хорошо, только что поняла, есть такие.
Вчера я проглотил последний сезон Кремниевой долины.
Это шоу последовательно комично рассматривает все последние техно (искусственный интеллект, криптовалюту). Из классификатора Хот-дог - не хот-дог, ботов для криптовалюты, децентрализованного Интернета, чат-ботов, которые научились общаться с другими ботами, алгоритмов суперсжатия и даже инкубации фермы кликов.
В последний сезон они дал нам вкус обучения с подкреплением. И снова в комической форме он показал, как установка неправильной функции вознаграждения привела к тому, что 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 и попробуйте связать его с этим изображением в комментариях:
Понравилось? Поставьте 😄 и подписывайтесь, чтобы узнать больше!