Google учит роботов выполнять новые для себя задачи в «детском саду»
В детском саду роботы учатся открывать двери
Умение обучаться — одно из важнейших для роботов. Если они станут учиться, накапливая нужную для себя информацию с течением времени, то их можно будет использовать для выполнения сложных заданий, которые не были заранее запрограммированы. Задания могут быть самыми разными — от ухода за пожилыми людьми и пациентами в больницах до уборки помещений. Правда, если обучать придется каждого робота по отдельности, это займет огромное количество времени. А что, если роботы будут учить роботов? И что, если группы роботов станут обучаться совместно?
Эта проблема далеко не нова, ее не один раз описывали фантасты. Специалисты по робототехнике и искусственному интеллекту тоже стараются решить этот вопрос. Корпорация Google больше других заинтересована в том, чтобы добиться от роботов самообучаемости. Вероятно, один из самых простых способов добиться желаемого — создать общую базу данных знаний роботов, где будет собираться информация, собранная каждой из машин.
Все роботы должны быть связаны с этой базой. Если чему-то учится один робот, знания и опыт сразу же получают все остальные. Сотрудники корпорации Google опробовали эту идею (тоже не новую) на практике, и получили неплохие результаты. В частности, действия, выполненные одним из роботов, сразу же становились достоянием и для его «коллег».
Роботы могут выполнять одно и то же действие очень по-разному. Иногда получается лучше, иногда — хуже. Любая информация об этих действиях фиксируется и поступает на сервер, где обрабатывается при помощи нейросети. Когнитивная система оценивает действия каждой машины, и выбирает только информацию о положительном опыте, отбрасывая данные по неудачным попыткам выполнить то либо иное задание. Роботы загружают обработанные нейросетью данные с определенной частотой. И с каждой новой загрузкой они действуют все эффективнее. В видео ниже робот изучает процесс открытия двери.
Через несколько часов обучения машина передает информацию о своих действиях в общую сеть. В ходе освоения открытия двери роботы изучают детали этой процедуры, постепенно «понимая», какую роль играет ручка двери, и что нужно сделать, чтобы открыть дверь максимально быстро.
Процесс обучения методом проб и ошибок хорош, но не идеален. Люди и животные, например, могут еще и анализировать элементы окружения, оценивая их возможное влияние на свои действия. По мере взросления и у человека, и у животных формируется определенная картина мира. Понятно, что у человека она гораздо сложнее, чем у большинства животных, но схожие элементы есть в обеих случаях.
Поэтому инженеры Google решили показать роботам, как законы физики оказывают влияние на их действия. В одном из экспериментов роботу поручили изучать различные объекты, обычные для любого дома или офиса. Это карандаши, ручки, книги и прочие предметы. Роботы быстро обучились и передали полученную информацию своим «коллегам». Вся команда роботов в сжатые сроки получила понятие о последствиях своих действий.
В новом эксперименте инженеры давали команду роботу двигать определенный объект в заданную точку. При этом система не получала никаких инструкций о природе объекта. Объекты постоянно менялись. Это могла быть бутылка с водой, банка с пивом, ручка или книга. Как оказалось, это задание роботы выполнили, воспользовавшись данными предыдущего опыта о взаимодействии с реальным миром. Они смогли просчитать последствия передвижения объекта по поверхности к нужной точке.
А что же человек?
Два предыдущих эксперимента проводились с участием только роботов, без помощи человека. Как считают сотрудники Google, обучение роботизированных систем может пойти гораздо быстрее, если человек будет помогать машине. Ведь человек может быстро просчитать, что получится в итоге выполнения каких-то действий. Например, в одном опыте человек помогал разным роботам открывать двери разного типа. Каждая система получила уникальную дверь и замок.
В результате была разработана объединенная стратегия для всех роботов, которую назвали «политикой». Все действия роботов обрабатывались при помощи глубинной нейронной сети. Она обрабатывала изображения с камер, фиксировавших действия роботов, и передавала уже обработанную информацию на центральный сервер уже в виде политики.
Роботы последовательно улучшали «политику» при помощи метода проб и ошибок. Каждый робот пытался открыть дверь, используя последнюю актуальную политику. Действия роботов по-прежнему обрабатывались нейронной сетью и загружались на сервер. С течением времени роботы стали работать гораздо эффективнее, чем в первый раз.
После того, как роботы стали действовать успешно, каждый из инструкторов, работавших с роботами, несколько изменял условия задачи. Изменения были сильными (менялось положение двери, угол открытия и т.п.), но достаточными для того, чтобы предварительно разработанная политика не совсем подходила для решения новой задачи. Роботы постепенно учились справляться с новыми для себя условиями, и впоследствии научились выполнять самые сложные задания по открытию разных дверей и замков. Финальный эксперимент показал эффективность такого типа обучения: роботы смогли открыть дверь и замок, с которыми до сих пор не сталкивались.
Авторы проекта утверждают, что взаимодействие роботов друг с другом и центральным хранилищем данных помогло им обучаться быстрее и более эффективно. А использование нейронной сети значительно улучшило предварительные результаты.
К сожалению, пока что список задач, которые могут выполнять роботы, крайне ограничен. Им с трудом даются даже простейшие движения и задания вроде открытия дверей или поднятия разных объектов. Человек до сих пор вынужден говорить роботу, что делать, и как действовать. Но алгоритмы постепенно улучшаются, а нейронные сети уже перестали быть чем-то удивительным. Поэтому есть надежда на то, что в скором будущем роботы все же смогут выполнять сложные задачи. Может быть, будущее уже здесь.