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

Контролируемое обучение

Самый успешный тип глубокого обучения в промышленности - это обучение с учителем, но использование этого типа обучения требует определенных затрат. Суть обучения с учителем - это потребность в маркированных данных, сбор которых обычно трудоемкий и дорогостоящий. Такие сервисы, как Scale и Amazon Mechanical Turk, существуют для того, чтобы немного упростить сбор аннотаций, предлагая стороннюю или краудсорсинговую рабочую силу. Однако определение способов пометки данных - это только первый шаг.

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

Совместное против декартова пространства

Если вы решите использовать траектории движения, следует ли обозначать траектории в пространстве суставов (положение суставов робота) или в декартовом пространстве (положение захвата или инструмента робота)?

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

Регрессия против классификации

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

Сквозное и конвейерное обучение

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

Хотя ни то, ни другое не является правильным или неправильным, все реальные успехи в робототехнике сегодня основаны на конвейерном подходе.

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

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

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

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

Sim-to-Real

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

Большая проблема с синтетическими данными заключается в том, что симуляторы (Unity, Gazebo, Mujoco, PyBullet, V-REP) и их физические движки (PhysX, Bullet и т. Д.) Не точно представляют визуальные и физические сложности реального мира. Симуляторам сложно точно моделировать такие вещи, как трение, трение, динамику зубчатой ​​передачи, модели контакта и поведение деформируемых материалов под нагрузками.

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

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

Хотя недавние видеоролики Boston Dynamics могут свидетельствовать об обратном, их роботы выполняют эти маневры с помощью хорошо настроенных контроллеров, построенных на основе физических моделей в откалиброванных средах, а не машинного обучения. Boston Dynamics доказала, что освоение традиционного управления, оценки состояния, обратной динамики и оптимизации траектории (MPC, LQR и т. Д.) В конвейерном подходе по-прежнему превосходит машинное обучение в управлении роботами… пока!

Подводя итог, синтетические данные, собранные с виртуальных датчиков при моделировании, не выглядят в точности как данные, собранные с реальных датчиков. Это несоответствие приводит к фундаментальной проблеме, известной как «проблема передачи» или «разрыв реальности», когда политики, изученные на смоделированных данных, чрезмерно соответствуют параметрам симулятора, а не обобщаются для реального мира.

Рандомизация домена

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

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

Этот метод обучения позволяет сети хорошо работать как на моделированных, так и на реальных наблюдениях, обучаясь только на первых.

Основываясь на ванильной рандомизации доменов, статья OpenAI представила автоматическую рандомизацию доменов (ADR), которая имеет два ключевых преимущества для обучения. Вместо того, чтобы вручную определять границы рандомизации для каждого измененного параметра, ADR начинает с узкого распределения значений параметров и автоматически расширяет это распределение только когда изученная модель может выполнять задачу хорошо о текущем распределении случайных смоделированных данных. Это 1) заставляет модель постепенно изучать сложные задачи в широком распределении (проще, чем непостепенное обучение) и 2) не требует от инженеров вручную настраивать границы рандомизации, что не интуитивно понятно и не масштабируется.

Авторы GraspGAN по-другому подходят к передаче разрыва реальности. Вместо тренировки на психоделических, случайно смоделированных данных, они тренируют GAN. Генератор GAN, нейронная сеть, принимает простые изображения из симулятора и учится генерировать изображения, которые дискриминатор, другая нейронная сеть, не может отличить от реальных изображений с камеры. Используя этот метод, они могут создать большой синтетический набор данных, который выглядит более реальным. Затем можно обучить зрительно-моторную политику на этих реальных (но все же фальшивых) данных.

Совсем недавно RCAN, или сеть рандомизированная-каноническая-адаптация, достигает того же 86% успеха схватывания на невидимых объектах, что и оригинальная модель QT-opt, но делает это с использованием менее 1% исходных 580 000 обучающих примеров. собраны на реальном роботе. Метод RCAN преодолевает разрыв реальности с помощью пиксель-2-пиксельного cGAN, который учится преобразовывать синтетические изображения, рандомизированные по предметной области, в их эквивалентные нерандомизированные канонические версии. Это, в свою очередь, позволяет переводить реальные изображения в упрощенные канонические изображения. Политика захвата QT-opt затем загружается этими упрощенными изображениями в каноническом стиле и не имеет проблем с обработкой разнообразных визуальных входов.

Хотя за последние несколько лет методы sim2real достигли значительного прогресса, необходимо сделать очень важное различие в отношении «разрыва в реальности». В академических кругах «реальное» часто не определяется строго. В большинстве случаев ученые определяют «реальным» все, что работает на реальном роботе, а не на смоделированном. Это означает, что «настоящая» обычно определяется как сильно упрощенная лабораторная среда с упрощенной версией задачи, которая должна работать только 40% времени. В промышленности «реальная» определяется как полная задача, выполняемая в сложной и динамичной среде, которая должна работать 99,9% времени. Таким образом, истинный разрыв не в реальности, а в лабораторной индустрии.

Гибридное обучение Sim2Real

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

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

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

Подкрепление в реальном мире и самостоятельное обучение

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

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

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

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

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

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

Более подробную информацию о проблемах RL см. В сообщении блога Алекса Ирпана.

Дистанционное управление и имитационное обучение

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

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

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

Хотя с концептуальной точки зрения телеоперация с использованием краудсорсинга является привлекательной, одной практической проблемой удаленной телефонной операции является обработка задержек. Управление роботом на расстоянии 1 мили с задержкой 20 мс было бы совершенно другим опытом по сравнению с управлением марсоходом, расположенным на расстоянии 34 миллионов миль, с задержкой 7 минут.

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

Имитационное обучение от третьего лица

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

Учимся на игре

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

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

Что дальше?

Святой Грааль машинного обучения и искусственного интеллекта - это то, что люди называют AGI или общим искусственным интеллектом. По сути, это относится к уровню интеллекта в машинах, который соответствует или превышает способность человека осваивать новые навыки на лету с помощью всего лишь одной или нескольких демонстраций любой новой задачи.

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

Резюме

Не являясь исчерпывающим, я выделил несколько наиболее серьезных проблем, с которыми сталкиваются робототехники при разработке более интеллектуальных роботов, которые могут помочь нам за пределами заводов. Что еще более важно, я обрисовал в общих чертах некоторые потенциальные направления исследований, в которых я настроен оптимистично. Для тех из вас, кто хочет глубже погрузиться в обучение роботов, вот недавний обзорный доклад, в котором цитируются 440 других публикаций!

Мой утопический взгляд на автоматизацию

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

Обо мне

Я аспирант робототехники в Stanford’s Vision and Learning Lab и основатель Nimble, стартапа, создающего роботизированный коллективный разум для автоматизации сложных задач на складах.

Спасибо моим замечательным друзьям и коллегам Чипу Хуену, Эвану Акерману, Андрею Куренкову и Джордану Доусону за их отзывы и предложения по этому посту!

Twitter: @simonkalouche