Американские ученые научили роботов использовать вспомогательные инструменты

5xati7dhgzamzewepevnbpmt4fy.png
Обезьяна (шимпанзе) достает термитов из термитника при помощи палки. Навторой фотографии горилла использует палку для сбора нужной ей травы

Разработчики из США создали специализированный алгоритм для роботов, который дал возможность последним использовать дополнительные инструменты для выполнения поставленной задачи. А она относительно простая — определенным образом переместить предмет из точки А в точку Б.

Алгоритм состоит из двух частей. Первая позволяет роботу перемещать предметы случайным образом, выполняя своего рода эксперименты. Вторая часть дает возможность оценить последствия того либо иного действия при помощи нейросети. Как оказалось, роботы, работая по алгоритму, эффективно использовали вспомогательные инструменты без обучения.
d78e7a16d81f1b8b6676dfc56f559607.png

238effe75688201c81723cd9a4f21298.gif

a66be0b2e95d44468cb7dc2e5309d3d6.png

f5895e61f3508d36d3104115283b1341.gif

Человек использует множество дополнительных инструментов каждый день. Животные тоже на это способны — попугаи, вороны, обезьяны и некоторые другие живые существа умеют использовать палки, камешки, колючки для достижения желаемых задач (например, извлечение личинки жука из-под коры).

Для нас использование ножа для нарезания хлеба вполне очевидно. Но для робота, которому необходимо объяснять каждое действие в виде машинного языка — вовсе нет.

10fdf9e0855b13ff7ff67ae6d9e8e241.jpg

9787cb7e2187d9ea48b50432cbec10db.gif

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

f165294e6aa38237dea0ccaa85152468.gif

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

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

b95f8243e2ae3e8a24510e1b81c053f2.png

4f98a2b69482c4414faa3290722bfdae.gif

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

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

qqg0i7eriq4febfjqqehire4fnw.png
bv1yywjgl2_cbtzvvtk4rup2jz8.png

© Habrahabr.ru