Машинное обучение дало роботу ловкую руку
Инженеры научили роборуку ловко обращаться с предметом при помощи машинного обучения. Сначала система обучалась в виртуальной реальности, а затем перешла к упражнениям с реальными предметами. Перейти от цифрового мира к реальному позволила особая программа виртуального обучения, которая слегка изменяла параметры движений. О результатах рассказывается в блоге компании-разработчика OpenAI.
Считается, что ловкость человеческих рук в живом мире уникальна, ведь даже пятилетний ребенок может выполнять руками такие достаточно сложные операции, как завязывание шнурков. Для этого нужны согласованные движения двух рук и выполнение длинной последовательности действий. Даже наиболее близкие к нам человекообразные приматы не могут похвастаться подобными умениями. Исследователи давно хотели наделить роботов подобной ловкостью, но до настоящего времени им не удавалось написать программу, которая смогла бы управлять движением большого количества сочленений.
Разработчики из компании OpenAI решили эту проблему при помощи методов машинного обучения, которые позволяют алгоритму самому вырабатывать оптимальный режим работы, испытав длительный цикл проб и ошибок. Так как существующие сегодня роботы медленны и во многом ненадежны, то полный цикл обучения в реальности занял бы слишком длительное время. Поэтому инженеры решили обучать программу в виртуальной реальности.
Чтобы впоследствии роборуке было легче перейти к реальному миру, в процессе обучения исследователи варьировали параметры, например, размер манипулируемого кубика или коэффициент трения. Это позволило программе быстро определять размеры куба и другие факторы. Курс обучения, который прошла программа, в реальном мире занял бы 100 лет, но в виртуальном был существенно ускорен.
В работе инженеры использовали доступный манипулятор Shadow Dexterous Hand, напоминающий человеческую руку, он может двигаться со всеми доступными человеческой руке степенями свободы. После того, как программа научилась работать с детским кубиком с написанными на гранях буквами, для проверки ей давали задания, например, повернуть кубик определенной гранью вверх. Ранее никакая робототехническая система не могла в автономном режиме совершить что-либо подобное.
Рука научилась выполнять в среднем 15 манипуляций с кубиком, не роняя его и не зацикливаясь. Также алгоритм самостоятельно научился разным трюкам, например, вращать кубика, придерживая его двумя пальцами, и учитывать гравитацию для того, чтобы облегчать свою задачу.
Понравился материал? Добавьте Indicator.Ru в «Мои источники» Яндекс.Новостей и читайте нас чаще.