В Токио, внутри скромного на вид офисного здания, живет необыкновенно умный промышленный робот, разработанный японской компанией Fanuc. Дайте ему задачу: взять виджеты из одной коробки и положить их в другую, и он будет всю ночь пытаться понять, как это сделать. Утром машина уже освоит эту работу, точно также, как если бы была запрограммирована специалистом, сообщает technologyreview.
Fanuc продемонстрировала свой продукт в декабре прошлого года на Международной выставке роботов в Токио. Промышленные роботы способны решать поставленные перед ними задачи с высочайшей точностью и скоростью, но, обычно, их необходимо очень тщательно программировать, чтобы научить, например, захватывать объект. Это трудно и отнимает много времени, и означает, что такие роботы, как правило, могут работать только по строго заданному алгоритму.
Робот от Fanuc использует способ, известный как «обучение с подкреплением», чтобы сформировать свое представление о поставленной задаче. Он пытается захватывать манипулятором объекты и во время этого процесса фиксирует свою работу на видео. Каждый раз, в независимости от успешности своих действий, машина фиксирует изображение объекта, которое в дальнейшем используется для усовершенствования алгоритма действий при помощи «deep learning» или обработки данных в нейронной сети. За последние несколько лет «deep learning» доказало свою эффективность в распознавании образов.
«После восьми часов обучения, роботом успешно выполняется 90 и более процентов действий в рамках полученного задания, что сопоставимо с его программированием специалистом», объясняет Шохеи Хидо (Shohei Hido), главный научный сотрудник Preferred-Networks — токийской компании, специализирующейся на машинном обучении.
Специалисты в области робототехники считают, что обучение с подкреплением может упростить и ускорить программирование роботов, которые используются на заводах. Ранее в этом месяце компания Google опубликовала подробности своего собственного исследования по использованию обучения с подкреплением, которая учит роботов захватывать объекты.
В августе прошлого года Fanuc инвестировала $7,3 млн в Preferred-Networks. И уже в декабре компании продемонстрировали самообучающегося робота на Международной выставке в Токио.
Одним из самых больших потенциальных преимуществ в этом подходе к обучению, является то, что процесс может быть ускорен, если несколько роботов работают параллельно, а затем делятся между собой полученной информацией. Таким образом, восемь роботов, работающих вместе в течение часа могут обучится тому, что одна машина осваивает за восемь часов. «Наш проект ориентирован на распределенное обучение», говорит Хидо. «Представьте себе сотни заводских роботов, которые обмениваются информацией между собой».
Видео, демонстрирующее процесс самообучения робота
Эта форма распределенного обучения, которую иногда называют «облачной робототехникой», имеет большой потенциал как в научных исследованиях, так и в промышленности.
«У Fanuc хорошая позиция на рынке для развития данной технологии, так как они занимаются поставками роботов для множества заводов по всему миру», говорит Кен Голдберг, профессор кафедры робототехники в Калифорнийском университете в Беркли. Он добавляет, что облачная робототехника в ближайшие годы, скорее всего, изменит современное представление о роботах.
Тем не менее, отмечает он, применение машинного обучения для робототехники является сложной задачей, так как управлять поведением сложнее, чем, например, распознавать объекты на изображениях. «Обучение с подкреплением — это огромный прогресс в распознавании образов», говорит Голдберг. «Проблема робототехники заключается в том, что люди многопоточны. Соответственно, в отличие от роботов, мы в состоянии производить необходимые действия для решения огромного количества задач одновременно».
Fanuc не единственные, кто разрабатывает подобных роботов. В 2014 году ABB — шведско-швейцарская компания, специализирующаяся в области электротехники, энергетического машиностроения и информационных технологий. Компания инвестировала в проект Vicarious. Однако, плодов этих инвестиций до сих пор не видно.
Комментарии (19)
iG0Lka
18.03.2016 18:57как то опасно…
Роботы сами учатся да еще совместно — обмениваясь информацией…Sadler
18.03.2016 19:11+2И в чём опасность? Что манипулятор прилетит внезапно кому-нибудь по башке? Или это опять бред из серии "я посмотрел терминатора, скоро они нас всех захватят", присущий каждой теме о Deep Learning на GT?
edogs
18.03.2016 20:03+4Опасность достаточно стандартная. Непредсказуемость.
При данном обучении алгоритм действий по сути является blackbox-ом, что не позволяет ни диагностировать ошибку, ни искать ее, ни прогонять тесты по ней, поскольку причины и путь возникновения ошибки остаются в том же blackbox-е.
Упрощенно говоря если этот робот будет переходить дорогу только на зеленый свет — Вы никогда не будете знать почему он это делает, потому что он видит нижний сигнал светофора или потому что на дороге все машины стоят или потому что три муравья тащат соломинку на юг в 9 километрах от дороги.
Суть проблемы не в ошибках или злонамеренности робота, суть в самом явлении blackbox-а.
Проблема особенно усугубляется если вспомнить о big data, когда казалось бы из ничего может возникнуть довлеющая закономерность. Закономерность, которая не только просто не видна, а принципиально не отслеживаема в меру ее величины непостижимой человеческим разумом.Sadler
18.03.2016 20:22+2Во-первых, некоторые из алгоритмов deep learning (скажем, при sparse coding), вполне дебажатся, да и входные данные весьма понятны в таких ограниченных условиях, как рабочее пространство цеха. Во-вторых, подобного рода механизмы устанавливаются не для работы в прямом контакте с людьми, когда ошибки могут быть фатальными. В-третьих, если этот робот 99.9% работы выполняет правильно, он скорее всего справляется не хуже человека, 0.1% ему можно и простить.
Я бы больше опасался вышеописанного эффекта в алгоритмах вождения беспилотных авто. Вот там полный комплект: и непосредственная угроза жизни, и неопределённости во входных данных, и 0.1% приведших к ДТП ошибок за маршрут может быть недостаточно хорошим результатом на выборке в сотни тысяч маршрутов в месяц.edogs
18.03.2016 22:25-1если этот робот 99.9% работы выполняет правильно, он скорее всего справляется не хуже человека, 0.1% ему можно и простить
Кстати, здесь еще один момент опять же, связанный с непредсказуемостью.
0.1% ошибок человека это «оппа уронил деталь» — это по крайней мере ожидаемо, но 0.1% ошибок робота это опять же непредсказуемость — вплоть до «забил оператора деталью».
nad_oby
20.03.2016 16:18Как раз сейчас похоже DNN/RNN/Reiforcment learning распространяются из Vision в Control.
Посмотрим что удасться, концепция спорная.
Выборка у меня, правда, ограниченная…Sadler
20.03.2016 16:54Эта спорная концепция как минимум неплохо играет в го =) Жду, пока в matlab завезут все соответсвующие алгоритмы из коробки, а то мои самописные глючат слишком часто.
nad_oby
21.03.2016 18:13С го, как раз всё понятнее.
Можно использовать 3K CPU + ~300 GPU на одного игрока.
Потому что онлайн и на ход в худшем вариате минута.
А теперь автопилоты.
Бюджет по мремени микросекунды (от сенсоров зависит) для камер это 10-36 FPS.
И запускать сетку на Automotive-grade железке, пусть и специализированной — это жуть и мрак.
Потому что там и 256 RAM + 300-500 MHz на 4 ядрах + специализированные ускорители это бесконечная мощь!
Именно поэтому смотрю на попытки разработчиков из автоиндустрии и волосы шевелятся.
Но как-то это у них получается, и по разговорам на некоторых задачах NN экономнее выходит (это про Vision).
Про Control пока нормальных данных нет, всё только начинается.
Такие дела.
Ivnika
19.03.2016 12:34Можно еще добавить опасность сознательного вреда обучению робота. Да- да, как бы смешно не звучало- взлом программ.
Хотя нет, уже возможны и другие способы, представьте что в «тазике» с деталями для обучения (железные болты) часть сделана из пластилина. Что произойдет?
doktr
20.03.2016 16:18Тесты прогнать не только можно, но и нужно, так как в машинном обучении всегда присутствуют как минимум два набора примеров (то есть наборов ситуаций в данном случае) — тренировочный и тестовый, это базовые требования данного вида обучения, без выполнения которых проявится так называемый эффект переобучения.
Нейронная сеть, если и является blackbox-ом, то не для тех, кто ее создает — на вход подаются совершенно определенные параметры. Робот, возможно увидит трех муравьев, находящихся в трех километрах, но среагирует на них в том случае, если они будут выглядеть совершенно так же, как светофор, загоревшийся зеленым светом, но тогда и человек на них тоже среагирует.
V_Leontiev
18.03.2016 20:06+3Но что, если задача, выполняемая роботом сводится не просто к переносу, но обработке деталей? Это сколько же заготовок он сможет запороть за время, необходимое для обучения?
bopoh13
19.03.2016 08:39Какой человек в процессе обучения не запарывает эти заготовки? В процессе наладки автоматизированной линии часто первые партии идут бракованные, так что тенденция в данной статье указана положительная.
Wesha
18.03.2016 20:12+2«Хозяин, ошибочка вышла, но ничего страшного, я учусь. Дай мне нового оператора, а то этот сломался — вон, уже и не дышит.»
kababok
19.03.2016 11:27С одной стороны да — действительно интересный вариант решения проблемы приспосабливаемости.
С другой — пару недель назад незамеченной проскользнула информация, что на самом большом заводе «Мерседеса» под Штутгартом решили отказаться от роботов на главных сборочных конвейерах — и заменить их людьми, потому что те «быстрее переобучаются на другие конфигурации».
Но мы-то знаем… ;)
lonelymyp
20.03.2016 02:24+2Всем хороши роботы, но программировать их сущий ад, нужен грамотный специалист и куча времени на написание программы.
С таким подходом программировать роботов сможет менее квалифицированный персонал и самое главное, времени на это будет уходить меньше.
Это же мечта человечества, сказал роботу что делать, а он сам там уже думает как бы это сделать побыстрее.
AntkliKruin
21.03.2016 11:45Инструктор по обучению роботов – профессия будущего.
Еще: пока консолидированные знания роботов хранятся в облаках и растят общими усилиями один большой и. интеллект, существует опасность, что однажды он будет атакован вирусом, имеющим, к примеру, свой взгляд на первый закон робототехники.kababok
21.03.2016 19:17По сути ведь ваше опасение — ещё одна вариация на тему злобного Skynet и иже с ними. :)
И ещё: хранение данных в облаке и даже М2М-вики — это всего лишь база данных. Не стоит всё же здесь ставить знак равенства с ИИ.
AMDmi3
Как-то не вызывает особого энтузиазма — научиться с нуля реально только если вероятность успешного действия при случайных входных параметрах достаточно велика — в перетаскивании цилиндриков попасть на плоскую грань, а шатунов — в отверстие много ума не нужно. Что-то чуть сложнее, например работа захватом с деталями сложной формы или хрупкими, или необходимость поставить деталь в определённое положение — и будет этот робот неделю тыкаться, ломать и ронять детали пока научится. Перспективнее выглядит подход с учителем, кажется такое реализовано в Baxter.
kraidiky
Предобучение сети на большой базе элементарных операций и очень несложные эвристики перемещения предмета в пространстве и вот уже вы учитесь не «с нуля». На сколько я понимаю, гугл занимается примерно тем же самым, не поднимая пока шума, потому что у него и так бабоса завались.