Бакстер

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


Все решения за робота принимают обученные нейросети, понимающие свои задачи, основываясь на демонстрации. Они умеют наблюдать за окружающей средой, генерировать себе программу, и потом её выполнять. Робот учитывает отношение между объектами (например, он понимает, что если убрать кубик снизу, вся конструкция разрушится), создает себе целые планы (например, «хочу аккуратно убрать нижний кубик»), а затем приводит их в действие (чтобы убрать самый нижний куб – надо сначала расчистить все предыдущие). Обучение нейронных сетей ведется полностью в симуляции, а в реальном мире ученые только проверяют качество их работы, устанавливая их в того или иного робота. В случае с кубиками это был индустриальный робот Бакстер (Baxter), поскольку его руки могут выполнять те же функции, что и руки человека.




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


Самообучающийся алгоритм можно без проблем научить проходить игры – путем простого повторения одного и того же сегмента множество раз, с поправкой на ошибку. Но Фокс говорит, что для робота такая тренировка не подходит. Он трудится в реальном мире, поэтому ему доступно куда более широкое пространство решений, а в случае ошибки результат может быть катастрофичен. Поэтому задачей команды было натренировать нейросеть в точности следовать примеру человека, а если происходит непредвиденное отклонение от такой программы – понимать, что произошла ошибка, и пытаться её устранить.



Нейросети, работающие в Бакстере

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


И уже на данном этапе не всё так гладко, как может показаться. Например, разработчики очень гордятся тем, что система смогла самостоятельно отличить красную машинку от красного куба, хотя машинку ей до этого в реальном мире никто не показывал. Или, например, роботу сейчас тяжело чувствовать глубину, у него плоские «глаза»-камеры, но он отлично понимает, когда кубик не поставился сверху на своего приятеля, и сам догадывается, как это можно исправить, чтобы всё получилось так же, как у человека.


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




Для тренировки нейросетей команда в основном использовала синтетические данные из симулированной среды. Учитывая скорость перемещения руки робота, в реальном мире сетям пришлось бы учиться годами, не говоря уже о том, что можно поломать машину. Стэн Берчфилд, который вел этот проект, говорит, что создание приближенных к реальному миру свободных симуляций, в которых алгоритмы могут учиться на своих ошибках, – единственный способ достаточно скоростного самообучения роботов. Поэтому Nvidia и занимается этой разработкой: компании кажется, что их железо идеально подходит для таких задач. Важным компонентом тренировок является визуальный аспект. Машины должны понимать, как выглядит человек, и чем друг от друга отличаются те объекты, над которыми предстоит работать. Опыт Nvidia в создании оборудования и софта, работающего с графикой, по словам Берчфилда, здесь незаменим.


Сейчас команда занимается созданием более фотореалистичных симуляций, чтобы нейросетям проще давался переход в реальный мир, и расширяет объем задач, которые они могут запомнить.



Робот Nvidia за работой

P.S. При покупке карт Nvidia на Newegg и Amazon экономия составит от 30%. А Pochtoy.com доставляет их из США в Россию. При регистрации у нас с кодом Geektimes – $7 вам на счет.

Комментарии (8)


  1. Kiano
    21.05.2018 12:28

    «Посмотри, что с ними делает человек. Повтори за ним все операции. Такое может сделать трехлетний ребенок.»
    К сожалению, иногда даже взрослый человек с пятого (а то и больше) раза не понимает простых вещей и делает через ж*пу по-своему, может хотя бы роботов научат «делай как я». Эх, надежды


    1. Ezhyg
      21.05.2018 14:00

      Со взрослыми как раз проблема в наличии «опыта», иногда идущего в разрез с новым. У детей же сложности другие, координация и мелкая моторика (и непонимание, как это работает), но это как раз и не так сильно мешает, в отличие от опыта.


    1. vassabi
      21.05.2018 21:07

      ничего-ничего, вот доведут технологию до ума — будут тогда роботы учить людей «как правильно двигаться» и «повторяй за мной»


  1. Gryphon88
    21.05.2018 14:42

    А теперь шаг второй: снизить цену оборудования ниже 5 килоевро.


  1. Alcpp
    22.05.2018 00:54

    Мы заняты тем, что пытаемся передать роботам и АИ наши знания, чтобы они могли работать вместо нас.

    Но когда мы достигнем успеха, то возникнет вопрос: «а зачем нужны мы?»


    1. Hellsy22
      22.05.2018 01:13

      зачем нужны мы

      Кому нужны? Кто подразумевается в качестве интересанта?


      1. biomassa
        22.05.2018 20:35
        +1

        "Не мы".
        И эти самые "не мы" в какой-то момент осознают что "мы" — ленивые кожаные мешки, самое слабое звено в любой цепочке или системе, самое дорогостоящее и ресурсоемкое, которое создает кучу проблем и тормозит неимоверно и чрезвычайно медленно совершенствуется. Мгновенно последует логичный вывод — удалить.


        1. Hellsy22
          23.05.2018 00:53

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