Программирование путем демонстрации - Википедия - Programming by demonstration
В Информатика, программирование путем демонстрации (PbD) является разработка для конечных пользователей Методика обучения компьютера или робота новому поведению путем демонстрации задачи для непосредственной передачи вместо программирования с помощью машинных команд.
Условия программирование на примере (PbE) и программирование путем демонстрации (PbD) появился в исследованиях разработки программного обеспечения еще в середине 1980-х.[1] чтобы определить способ определения последовательности операций без необходимости изучения языка программирования. Обычное различие в литературе между этими терминами состоит в том, что в PbE пользователь дает прототипный продукт выполнения на компьютере, такой как строка в желаемых результатах запроса; в то время как в PbD пользователь выполняет последовательность действий, которые компьютер должен повторить, обобщая ее для использования в различных наборах данных.
Эти два термина сначала были недифференцированными, но затем PbE, как правило, использовалась в основном исследователями программного обеспечения, в то время как PbD, как правило, принималась исследователями робототехники. Сегодня PbE относится к совершенно другой концепции, поддерживаемой новыми языками программирования, похожими на симуляторы. Этому фреймворку можно противопоставить Байесовский программный синтез.
Программирование роботов путем демонстрации
Парадигма PbD прежде всего привлекательна для индустрии робототехники из-за затрат, связанных с разработкой и обслуживанием программ роботов. В этой области оператор часто неявно знает задачу, которую необходимо решить (он / она знает, как это сделать), но обычно не имеет навыков программирования (или времени), необходимых для перенастройки робота. Таким образом, демонстрация того, как выполнить задачу на примерах, позволяет изучить навык без явного программирования каждой детали.
Первые стратегии PbD, предложенные в робототехнике, были основаны на Учить в, руководство или же воспроизведение методы, которые заключались в основном в перемещении робота (через специальный интерфейс или вручную) через набор соответствующих конфигураций, которые робот должен принимать последовательно (положение, ориентация, состояние захвата). Затем метод был постепенно улучшен за счет сосредоточения в основном на дистанционном управлении и использования различных интерфейсов, таких как зрение.
Однако в этих методах PbD все еще использовалось прямое повторение, которое было полезно в промышленности только при проектировании сборочной линии с использованием точно таких же компонентов продукта. Чтобы применить эту концепцию к продуктам с различными вариантами или применить программы к новым роботам, проблема обобщения стала решающим моментом. Чтобы решить эту проблему, первые попытки обобщить навык были в основном основаны на помощи пользователя через запросы о намерениях пользователя. Затем были предложены различные уровни абстракций для решения проблемы обобщения, в основном дихотомические методы обучения на символическом уровне или на уровне траектории.
Развитие гуманоидные роботы Естественно, демонстрация вызвала растущий интерес к программированию роботов. Поскольку человекоподобный робот по своей природе должен адаптироваться к новым условиям, важен не только внешний вид человека, но и алгоритмы, используемые для его управления, требуют гибкости и универсальности. Из-за постоянно меняющейся среды и огромного разнообразия задач, которые должен выполнять робот, роботу требуется способность постоянно осваивать новые навыки и адаптировать существующие навыки к новым условиям.
Исследования в области PbD также постепенно отошли от своей первоначальной чисто инженерной точки зрения и стали применять междисциплинарный подход, используя идеи нейробиологии и социальных наук для имитации процесса подражания у людей и животных. С увеличением внимания к этой работе в робототехнике понятие Программирование роботов путем демонстрации (также известный как RPD или RbD) также постепенно заменялся более биологической меткой Обучение путем подражания.
Параметризованные навыки
После того, как задача была продемонстрирована человеком-оператором, траектория хранится в базе данных. Упрощение доступа к необработанным данным достигается с помощью параметризованных навыков.[2] Навык запрашивает базу данных и генерирует траекторию. Например, сначала в базу данных о перемещениях отправляется навык «opengripper (slow)», и в ответ предоставляется сохраненное перемещение манипулятора. Параметры навыка позволяют изменять политику для выполнения внешних ограничения.
Навык - это интерфейс между названиями задач, приведенными в естественный язык и лежащие в основе пространственно-временной движение в трехмерном пространстве, состоящем из точек. Отдельные навыки можно объединить в задачу для определения более длительных последовательностей движений с точки зрения высокого уровня. Для практических приложений различные действия хранятся в библиотека навыков. Для дальнейшего повышения уровня абстракции навыки можно преобразовать в примитивы динамического движения (ДМП). Они генерируют траекторию робота «на лету», которая была неизвестна во время демонстрации. Это помогает повысить гибкость решателя.[3]
Использование без использования роботов
Для конечных пользователей, чтобы автоматизировать рабочий процесс в сложном инструменте (например, Фотошоп ), наиболее простым случаем PbD является регистратор макросов.
Смотрите также
- Программирование на примере
- Преднамеренное программирование
- Индуктивное программирование
- Макро рекордер
- Контролируемое обучение
Рекомендации
- ^ Халберт, Дэн (ноябрь 1984 г.). «Программирование на примере» (PDF). U.C. Беркли (кандидат наук). Получено 2012-07-28. Цитировать журнал требует
| журнал =
(помощь) - ^ Первез, Аффан и Ли, Dongheui (2018). «Изучение параметризованных примитивов динамического движения с использованием смеси GMM» (PDF). Интеллектуальная сервисная робототехника. Springer. 11 (1): 61–78. Дои:10.1007 / s11370-017-0235-8.CS1 maint: несколько имен: список авторов (связь)
- ^ Ализаде, Тохид и Садуанов, Батырхан (2017). Программирование роботов путем демонстрации нескольких задач в общей среде. Международная конференция IEEE 2017 года по слиянию и интеграции мультисенсоров для интеллектуальных систем (MFI). IEEE. С. 608–613. Дои:10.1109 / mfi.2017.8170389.CS1 maint: несколько имен: список авторов (связь)
- Сайфер, Аллен (1993), Посмотрите, что я делаю: демонстрационное программирование, Дэниел С. Халберт, MIT Press, ISBN 978-0-262-03213-1
- Либерман, Генри (2001), Ваше желание - моя команда: программирование на примере, Бен Шнейдерман, Морган Кауфманн, ISBN 978-1-55860-688-3
внешняя ссылка
Обзоры статей
- Биллард, Од (2008), С. Калинон, Р. Диллманн и С. Шааль, «Демонстрационное программирование роботов» (PDF), Справочник по робототехнике, MIT Press: 1371–1394, Дои:10.1007/978-3-540-30301-5_60, ISBN 978-3-540-23957-4.
- Schaal, S (2004), Ijspeert, A; Биллард, А; Фрит, С.Д., Вольперт, Д. (ред.), «Вычислительные подходы к моторному обучению путем имитации» (PDF), Неврология социального взаимодействия, Издательство Оксфордского университета, 358 (1431): 199–218, Дои:10.1098 / rstb.2002.1258, ЧВК 1693137, PMID 12689379.
- Роботы, имитирующие людей, Синтия Бризил и Брайан Скасселлати, Тенденции в когнитивных науках, 6: 1, 2002, стр. 481–87.
- Биллард, А, «Подражание», в Арбибе, Массачусетс (ред.), Справочник по теории мозга и нейронным сетям, MIT Press, стр. 566–69..
- Schaal, S (1999), «Имитация изучает путь к гуманоидным роботам?», Тенденции в когнитивных науках (PDF).
Спецвыпуски в журналах
- IEEE Transactions по системам, человеку и кибернетике, Апрель 2007, 37: 2.
- RSJ Advanced Robotics, 21, дом 13.
- Нейронные сети, Эльзевьер.
- Робототехника и автономные системы (PDF), Эльзевир, 2006.
Ключевые лаборатории и люди
- Методы машинного обучения для программирования роботов путем демонстрации, Лозанна, Вирджиния, Швейцария: EPFL LASA, архивировано с оригинал на 2012-05-01.
- Обучение с подкреплением и изучение моторных примитивов, Южная Каролина, США: USC CLMC Lab.
- Калинон, Сильвен, Интерактивная кинестетическая демонстрация преподаватель-ученик (тренер / коуч-стажер / клиент), CH.
- Бентивенья, Даррин, Обучение аэрохоккею робота-гуманоида, JP: ATR, заархивировано из оригинал на 2008-01-27.
- Общественная деятельность по тесно связанным темам
- Технический комитет по взаимодействию и координации между человеком и роботом, IEEE Robotics and Automation, заархивировано из оригинал на 2011-07-26.
- Технический комитет по обучению роботов, IEEE Robotics and Automation, заархивировано из оригинал на 2011-07-26.
Ролики
Робот, который учится готовить омлет:
Робот, который учится откручивать бутылку кокса:
- "Отвинтить бутылку из-под кока-колы", YouTube, DE.