Все новости

Управляющую роборукой нейросеть научили манипулировать на рекордно малой выборке. Вместо десятков и сотен тысяч изображений понадобилось всего 117

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

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

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

Читайте также: Мозг из машины. Нейронные сети научились писать тексты и рисовать и осваивают все новые профессии

Исследователи из MIT предложили новую методику обучения нейросети, которая управляет роборукой. Чтобы уменьшить обучающую выборку, ученые запрограммировали нейросеть при работе руководствоваться не предметом целиком, а лишь небольшим количеством ключевых точек. Для кружки их три: одна на середине стенки, одна на дне и одна на ручке, а для ботинка — шесть точек: на носке, на пятке, с двух сторон ступни и две точки там, куда вставляется нога.

Ключевые точки, которые нейросеть использует для того, чтобы определить тип предмета
Описание
Ключевые точки, которые нейросеть использует для того, чтобы определить тип предмета

Чтобы достичь того же уровня точности, что и при обычном обучении, для тренировки этой нейросети нужно было всего 117 обучающих 3D-изображений, на которых ключевые точки были размечены вручную (сами сцены, правда, составлены на основе 100 000 изображений). В своей работе ученые использовали метод обучения с подкреплением, при котором нейросеть взаимодействует со средой и корректирует свои действия в соответствии с сигналами, которые получает от среды.

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

''

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

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

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

 Евгения Щербина