Предыстория, потребности, проблемы и перспективы

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

Фон

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

RL привлекла наше внимание, когда компьютерная программа AlphaGo победила всемирно известного профессионального игрока в го Ли Седоля. Это было особенным, потому что другие компьютерные программы в то время вряд ли могли играть на любительском уровне или побеждать профессионалов только с форой. AlphaGo предоставили данные любительских игр, чтобы лучше понять игру и успешно разработать стратегию, чтобы победить профессионального игрока. Несколько лет спустя RL удивил нас еще больше, когда AlphaZero, снова компьютерная программа, научилась играть в шахматы, сёги и го и в каждом случае обыграла компьютерную программу чемпиона мира.

С коммерческой точки зрения RL работает лучше, чем некоторые существующие фреймворки ML — например, YouTube настаивает на использовании RL для рекомендаций. Netflix использует RL, чтобы показывать более релевантные, привлекательные и персонализированные изображения, которые удерживают пользователей приклеенными к экрану. Facebook использует RL для персонализированных push-уведомлений [1]. Даже виды рекламы, которые вы видите, определяются алгоритмом RL, который максимизирует рейтинг кликов (CRT) [2, 3]. RL использовался в торговле акциями, когда агент RL решает, держать, продавать или покупать акции. У IBM есть одна из самых сложных и успешных платформ для торговли на основе RL.

Теперь давайте поговорим о реальной робототехнике — зачем нам там нужен RL и как он работает.

Нужен

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

Более того, простое кодирование задач и планирование движения машин для сборочных линий — долгий и утомительный процесс. Решения, которые работают в отрасли, часто разрабатываются под конкретную задачу. Для простой задачи сбора пакета мороженого с конвейерной ленты в алгоритме закодирована даже высота и ширина пакета. Небольшое изменение спецификации продукта потребует изменения алгоритма, что может потребовать изменения скорости обработки линии, параметров движения манипулятора, силы захвата или давления руки робота и т. д.

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

Было бы неплохо, если бы роботы научились справляться с этими проблемами, учась на собственном опыте, т. е. используя методы RL? В этом случае мы можем оставить робота в реальном мире, где он пробует что-то и учится выполнять задачи, используя этот приобретенный опыт. Робот может научиться выполнять производственную задачу более надежно и освоить новые задачи, такие как вождение или захват всех видов объектов, которые мы не знаем, как точно запрограммировать. В конце концов, RL уже продемонстрировала многообещающие результаты в других интеллектуальных областях. Сила RL заключается в том, чтобы найти решение в отсутствие системной модели. RL может найти решение, когда мы не знаем, как выполнить задачу, но знаем, как выглядит завершенная задача.

Проблемы

Несмотря на полезность RL в реальной робототехнике и проверенные возможности RL, использование RL довольно сложно для реальных задач робототехники. Одним из хорошо известных примеров RL в приложениях робототехники является решение OpenAI вручную куба рубрик. Огромная работа, сложное программное обеспечение для моделирования и вычислительная мощность сделали этот проект успешным. Хотя это считается успехом, рука OpenAI может решать сложные задачи с кубиком Рубика с вероятностью успеха всего 20% [4].

Давайте поговорим о проблемах использования RL на реальных роботах и ​​о том, что мешает достижению надежных результатов. Большинство из них взяты из статьи [5] и моего собственного опыта:

Пример эффективности и безопасного обучения

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

Надежное и стабильное обучение

Алгоритмы RL, как известно, трудно обучать. Более того, обучение весьма чувствительно к выбору гиперпараметров и даже к тому, какое случайное начальное число используется для инициализации и обучения алгоритма.

Использование имитации

Проблема «эффективности выборки и безопасного обучения» может быть решена путем «простого» обучения робота сначала моделированию и точной настройке алгоритма в реальных условиях. Моделирование может ускорить реальное время, необходимое для обучения. К сожалению, это не так просто. В худшем случае создание симуляции может занять столько же или даже больше времени, чем обучение робота в реальных условиях. Текущие симуляции отлично работают визуально, но когда дело доходит до расчета реальных сил взаимодействия между роботами и объектами, им еще предстоит пройти долгий путь.

Огромное пространство для исследований

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

Обобщение

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

Постоянно меняющийся мир и меняющиеся параметры роботов

Реальный мир очень сложен, и у нас пока нет датчиков для точного измерения каждого взаимодействия роботов с миром. Кроме того, он всегда будет отличаться от экспериментальных тестовых настроек [6]. Если алгоритмы RL не получают всю информацию, несправедливо ожидать постоянного успеха. Кроме того, параметры внутреннего контроля робота могут меняться со временем, и они могут варьироваться от одного робота к другому одного и того же производителя. Таким образом, обучение одного робота один раз и ожидание того, что все другие роботы будут выполнять ту же задачу (чувствительную к этим параметрам), может не сработать!

Перспектива

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

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

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

Ссылки

[1] Корпоративные приложения обучения с подкреплением: рекомендации и имитационное моделирование, Бен Лорика, 2020.

[2] Как обучение с подкреплением выбирает рекламу, которую вы видите, Бен Диксон, 2021 г.

[3] Байесовские бандиты: за кулисами принятия решений о распределении расходов в Facebook, Эрик Бенджамин Зойферт, 2020 г.

[4] Решение кубика Рубика рукой робота, блог OpenAI, 2019.

[5] Как обучить робота с помощью глубокого обучения с подкреплением: уроки, которые мы извлекли. Ibarz J et al., The International Journal of Robotics Research. 2021; 40 (4–5): 698–721.

[6] Важность A/B-тестирования в робототехнике, блог Google AI, 2021 г.