Крутой финал для длинного урока
Урок 3в

Крутой финал для длинного урока

· 3 мин чтения

Вступление

Добро пожаловать на уже ТРЕТЬЮ часть третьего урока моего курса... Да, на удивление, она вышла ДО Half-Life 3. Не буду тянуть и начну.

Причина перерывов в написании курса

Обучение с подкреплением и его задачи

На втором уроке мы познакомились с обучением с подкреплением (RL). Но какие конкретно задачи оно решает? Небольшой рекап.

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

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

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

Как заставить принца идти до сокровища? Предложить ему награду! Например, у нас будет такая система:

Действие Награда
Нашёл клад 100
Наткнулся на дракона -100
Сделал больше 50 шагов -1 за каждый лишний шаг

Это очень упрощённая система, не стоит принимать её за пример для решения этой задачи.

Цель принца (агента) — получить как можно больше суммарной награды. И ТОЛЬКО! Сам по себе клад ему вообще не интересен: мы лишь настроили систему наград таким образом, чтобы нахождение клада оказалось для него выгодным.

Именно поэтому крайне важно правильно составить систему наград. Если она окажется неточной или в ней найдётся какая-нибудь лазейка, агент вполне может научиться совсем не тому поведению, которое мы от него ожидали. Машина не думает: «Мне нужно пройти карту». Она думает: «Как мне получить побольше циферок?»

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

Заключение

Третий урок, наконец, завершён. По абсольютному размеру он является самым большим в курсе. Мне одновременно понравилось и не понравилось над ним работать, так как разделение написания на части мешает созданию цельного потока повествования, поэтому, если я и буду делить следующие уроки на части, то только уже готовые и написанные (это и повысит стабильность выхода). Извиняюсь за этот перерыв, возможно вы ожидали какой-то невероятный финал этой эпопеи третьего урока. Спасибо за внимание!

Пу-пу-пу
Оцените урок