Алгоритм OpenAI навчився збирати кубик Рубіка однією рукою

Дослідники з OpenAI створили алгоритм для роборуки, що дозволяє їй збирати кубик Рубіка, перевертаючи і скручуючи його пальцями. Спочатку алгоритм навчався методом проб і помилок у віртуальному середовищі, а потім його перенесли на реальний пристрій. З максимально складних конфігурацій, що вимагають 26 поворотів, роборука збирає кубик в 20 відсотках випадків, а для конфігурацій, що вимагають 15 поворотів, успішність становить 60 відсотків, розповідають дослідники в блозі OpenAI.


В області роботизованих рукоподобних маніпуляторів основна увага розробників сконцентрована на протезах або телекерованих людиноподібних роботах. Самі по собі ці конструкції часто вже досить вправні і дозволяють проводити складні маніпуляції, але алгоритми управління роборуками поки відстають від електромеханічної складової. Для поліпшення рівня алгоритмів деякі компанії концентрують увагу на своїх прикладних завданнях, а дослідники часто вирішують важкопримінні на практиці «дитячі» завдання. Однак у процесі їх вирішення часто народжуються технології, які згодом можна застосувати в багатьох областях.


Програмісти з некомерційної організації OpenAI в 2017 році поставили перед собою в якості такого завдання складання кубика Рубіка однією роборукою. У 2018 році вони показали проміжний результат своєї роботи, навчивши роборуку перевертати кубик потрібною стороною до 50 разів поспіль. Тепер дослідники показали, що досягли кінцевої мети, використовуючи схожі алгоритми і принципи їх навчання.

Оскільки автори ставили перед собою завдання створити алгоритм для спритних маніпуляцій з об'єктами, для розрахунку ходів у процесі рішення вони використовували доступну реалізацію двофазного алгоритму Коцемби. Крім того, вони використовували комерційно доступну роборуку Shadow Dexterous Hand.

Основні алгоритми можна розбити на дві основні частини. Перша заснована на архітектурі згорточної нейромережі і відповідає за візуальне сприйняття кубика. Вона отримує три зображення руки з кубиком з різних ракурсів і розраховує на їх основі положення кубика, а також кути між його площинами. У другому алгоритмі використовується архітектура рекуррентної нейромережі з довгою короткостроковою пам'яттю (LSTM). Вона отримує дані від першої і на їх основі, а також послідовності складання, розрахованої алгоритмом Коцемби, створює послідовність рухів для пальців.

Як і в минулій роботі, дослідники використовували для навчання не безліч реальних роборук, а віртуальне середовище з їх копіями. Це дозволило, по-перше, розпараллелити процес навчання і тим самим прискорити його, а, по-друге, підвищити якість алгоритмів, змінюючи параметри середовища. У процесі навчання алгоритми навчалися шляхом проб і помилок, і поступово досягали порогового рівня успішності, після якого середовище автоматично змінювало параметри, наприклад, розміри і масу кубика. Через це алгоритм був змушений знову адаптуватися до умов. Саме це дозволило підготувати алгоритми до перенесення на реальну роборуку, без необхідності абсолютно точно симулювати всі аспекти взаємодії кубика і руки.

Нещодавно OpenAI показала іншу примітну роботу в галузі машинного навчання. Дослідники створили нейромережевих агентів, які самостійно навчилися грати в хованки. У процесі навчання дві сторони кілька разів виявляли нові виграшні стратегії поведінки, причому одна з таких стратегій використовує особливість віртуального середовища, яку автори упустили при розробці.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND