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

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

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


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

Но, конечно, все это не просто так — роботов учили реагировать на неожиданные внешние факторы. А это очень непросто, поскольку нужно предусмотреть огромное количество разных сценариев. Сейчас по следам Boston Dynamics пошли исследователи из Чжэцзянского (Китай) и Эдинбургского (Великобритания) университетов. Команда исследователей разработала сложную программу обучения роботов на падение, толчки, заносы и т.п. Насколько можно судить, программа весьма эффективная.


Главная задача — научить роботов быстро восстанавливаться после того, как их в буквальном смысле роняют. Зачем? В реальной жизни, если роботу нужно будет выполнять какие-то задачи вне лаборатории, а в обычном мире, падать придется неоднократно. Где-то машина поскользнётся, может быть, кто-то и толкнет — например, на улице, в час пик, когда робот-курьер отправится доставлять посылку. И это не говоря уже о сценарии, когда робот получает профессию спасателя/разведчика местности.

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


Группа экспертов из Китая и Англии как раз и занимается созданием программной платформы для тренировки робота — в нашем случае это робот-собака. Специалисты уже разработали самообучаемую систему с восемью основными алгоритмами, которые позволяют механической собаке учиться взаимодействовать с реальным миром. Для обучения задействована специализированная нейросеть на основе обучения с подкреплением. Сначала нейросеть тренирует виртуальных роботов, то есть их модели, разрабатывая разные сценарии реагирования на внешние факторы. После того, как этот этап заканчивается, результат обучения в виде набора алгоритмов «заливается» уже в реального робота. И мы получаем уже обученную систему. Все это можно сравнить с программами, которые получал Нео в «Матрице». Раз — и он знает кунг-фу, два — умеет управлять вертолетом, три — получает экспертные знания по вооружению.

С роботом примерно то же самое. Заливается готовая программа — и недвижимая доселе машина уже умеет вставать после падений, огибать препятствия, ходить по льду и т.п.

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

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


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

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


Разработчики не могут предусмотреть все на свете, понятно, что роботу придется как-то реагировать и на непредвиденные проблемы. Но базовые навыки, полученные в ходе такого обучения, помогут справиться с самыми серьезными задачами. Ну а полученный опыт один робот сможет передать второму, тот — третьему и т.п. Все, как описывал Шекли в «Страж-птице», только пока что без электрических разрядов.

Источник: https://habr.com/ru/company/selectel/blog/536460/


Интересные статьи

Интересные статьи

Или как добиться большего на следующем вашем хакатоне Некоторое время назад я принимал участие в ежегодном игровом мероприятии Itch.io Game Off 2020, участники которого за ноябрь делали ...
В этом выпуске ITMO Research — Антон Гопка, декан факультета технологического менеджмента и инноваций. Обсуждаем поход к образовательной деятельности и развитию стартапов...
Приветствую, Хабровцы! Решил поделиться своим опытом «успешного» изучения языка(ов) программирования. Не сказать, что в IT-индустрии я полный профан, однако мой план обучения «с...
Здесь на хабре много различных инструкций по использованию Django. Эти инструкции часто включают много кода и представляют последовательность шагов, которые нужно сделать, чтобы созда...
30 ноября 2019 прошёл 2-й ROS Russian MeetUp, организатор — Лаборатория робототехники Сбербанка, — собравший больше 200 ROS-разработчиков. В этом материале мы сделали подборку наиболее интересн...