В детском саду роботы учатся открывать двери
Умение обучаться — одно из важнейших для роботов. Если они станут учиться, накапливая нужную для себя информацию с течением времени, то их можно будет использовать для выполнения сложных заданий, которые не были заранее запрограммированы. Задания могут быть самыми разными — от ухода за пожилыми людьми и пациентами в больницах до уборки помещений. Правда, если обучать придется каждого робота по отдельности, это займет огромное количество времени. А что, если роботы будут учить роботов? И что, если группы роботов станут обучаться совместно?
Эта проблема далеко не нова, ее не один раз описывали фантасты. Специалисты по робототехнике и искусственному интеллекту тоже стараются решить этот вопрос. Корпорация Google больше других заинтересована в том, чтобы добиться от роботов самообучаемости. Вероятно, один из самых простых способов добиться желаемого — создать общую базу данных знаний роботов, где будет собираться информация, собранная каждой из машин.
Все роботы должны быть связаны с этой базой. Если чему-то учится один робот, знания и опыт сразу же получают все остальные. Сотрудники корпорации Google опробовали эту идею (тоже не новую) на практике, и получили неплохие результаты. В частности, действия, выполненные одним из роботов, сразу же становились достоянием и для его «коллег».
Роботы могут выполнять одно и то же действие очень по-разному. Иногда получается лучше, иногда — хуже. Любая информация об этих действиях фиксируется и поступает на сервер, где обрабатывается при помощи нейросети. Когнитивная система оценивает действия каждой машины, и выбирает только информацию о положительном опыте, отбрасывая данные по неудачным попыткам выполнить то либо иное задание. Роботы загружают обработанные нейросетью данные с определенной частотой. И с каждой новой загрузкой они действуют все эффективнее. В видео ниже робот изучает процесс открытия двери.
Через несколько часов обучения машина передает информацию о своих действиях в общую сеть. В ходе освоения открытия двери роботы изучают детали этой процедуры, постепенно «понимая», какую роль играет ручка двери, и что нужно сделать, чтобы открыть дверь максимально быстро.
Процесс обучения методом проб и ошибок хорош, но не идеален. Люди и животные, например, могут еще и анализировать элементы окружения, оценивая их возможное влияние на свои действия. По мере взросления и у человека, и у животных формируется определенная картина мира. Понятно, что у человека она гораздо сложнее, чем у большинства животных, но схожие элементы есть в обеих случаях.
Поэтому инженеры Google решили показать роботам, как законы физики оказывают влияние на их действия. В одном из экспериментов роботу поручили изучать различные объекты, обычные для любого дома или офиса. Это карандаши, ручки, книги и прочие предметы. Роботы быстро обучились и передали полученную информацию своим «коллегам». Вся команда роботов в сжатые сроки получила понятие о последствиях своих действий.
В новом эксперименте инженеры давали команду роботу двигать определенный объект в заданную точку. При этом система не получала никаких инструкций о природе объекта. Объекты постоянно менялись. Это могла быть бутылка с водой, банка с пивом, ручка или книга. Как оказалось, это задание роботы выполнили, воспользовавшись данными предыдущего опыта о взаимодействии с реальным миром. Они смогли просчитать последствия передвижения объекта по поверхности к нужной точке.
А что же человек?
Два предыдущих эксперимента проводились с участием только роботов, без помощи человека. Как считают сотрудники Google, обучение роботизированных систем может пойти гораздо быстрее, если человек будет помогать машине. Ведь человек может быстро просчитать, что получится в итоге выполнения каких-то действий. Например, в одном опыте человек помогал разным роботам открывать двери разного типа. Каждая система получила уникальную дверь и замок.
В результате была разработана объединенная стратегия для всех роботов, которую назвали «политикой». Все действия роботов обрабатывались при помощи глубинной нейронной сети. Она обрабатывала изображения с камер, фиксировавших действия роботов, и передавала уже обработанную информацию на центральный сервер уже в виде политики.
Роботы последовательно улучшали «политику» при помощи метода проб и ошибок. Каждый робот пытался открыть дверь, используя последнюю актуальную политику. Действия роботов по-прежнему обрабатывались нейронной сетью и загружались на сервер. С течением времени роботы стали работать гораздо эффективнее, чем в первый раз.
После того, как роботы стали действовать успешно, каждый из инструкторов, работавших с роботами, несколько изменял условия задачи. Изменения были сильными (менялось положение двери, угол открытия и т.п.), но достаточными для того, чтобы предварительно разработанная политика не совсем подходила для решения новой задачи. Роботы постепенно учились справляться с новыми для себя условиями, и впоследствии научились выполнять самые сложные задания по открытию разных дверей и замков. Финальный эксперимент показал эффективность такого типа обучения: роботы смогли открыть дверь и замок, с которыми до сих пор не сталкивались.
Авторы проекта утверждают, что взаимодействие роботов друг с другом и центральным хранилищем данных помогло им обучаться быстрее и более эффективно. А использование нейронной сети значительно улучшило предварительные результаты.
К сожалению, пока что список задач, которые могут выполнять роботы, крайне ограничен. Им с трудом даются даже простейшие движения и задания вроде открытия дверей или поднятия разных объектов. Человек до сих пор вынужден говорить роботу, что делать, и как действовать. Но алгоритмы постепенно улучшаются, а нейронные сети уже перестали быть чем-то удивительным. Поэтому есть надежда на то, что в скором будущем роботы все же смогут выполнять сложные задачи. Может быть, будущее уже здесь.
Поделиться с друзьями
Комментарии (8)
FDsagizi
05.10.2016 09:16Напоминает как в фильме «Роббот по именни Чаппи» его учили человеческим штучкам дручкам)
Bedal
05.10.2016 10:14Не люблю, когда начинают со слова «бред», но в данном случае трудно удержаться. Полностью автономный робот не полезнее железного дровосека. С людей, видите ли, весь их опыт работы в Сети собирают — а с роботов только что догадались?
И RusikR2D2 совершенно прав: общеизвестно, что положительные примеры годятся только для _обучения_, а для сбора _опыта_ полезнее именно истории провалов.
Wesha
06.10.2016 20:57> К сожалению, пока что список задач, которые могут выполнять роботы, крайне ограничен.
Вы опечатались, следует читать «к счастью» ;)
MichaelBorisov
06.10.2016 22:34Авторы проекта утверждают, что взаимодействие роботов друг с другом и центральным хранилищем данных помогло им обучаться быстрее и более эффективно
Подобные чудесные открытия ученых, над которыми они бились годами, всякий раз вызывают у меня ассоциацию с эпизодом из романа «Штирлиц, или как размножаются ежики»:
Борман надолго задумался. Через полчаса он догадался поискать отпечатки пальцев. Еще через полчаса он их нашел. Отпечатки были четкими и жирными, видимо русский разведчик перед тем, как залезть
в сейф, ел тушенку. Банка из-под тушенки стояла тут же, в сейфе.
RusikR2D2
А почему делается вот так:
«Когнитивная система оценивает действия каждой машины, и выбирает только информацию о положительном опыте, отбрасывая данные по неудачным попыткам выполнить то либо иное задание. „
Это же не логично. В таком случае робот не застрахован от повторения неудачных попыток. Применимо к двери, робот “забудет» что не стоит совать ключ в розетку рядом, и попробует сделать это еще раз, нанеся себе и окружающим ущерб. Это общий пример с крайне негативными последствиями отбрасывания неудачных попыток.
ServPonomarev
Сначала он два часа ищет хотя-бы один работающий способ открыть дверь. Потом — начинает искать работающюю методику открывания дверей. Методика от способа отличается генерализацией — и для генерализации нужно много попыток применить способ в чуть разных условиях.
2PAE
Мы активно «пилим» роботов под свой разум. Создаём людей на иной элементарной базе.
Проблема в том, когда лю… роботы станут как люди, они решат что от людей надо избавится.
Ведь это так по людски, уничтожат ну или хотя бы поработить других людей.