Хабрахабр

ИИ сам научился собирать кубик Рубика

Настолько профессионально, что игроков среди людей, равных компьютеру, сейчас нет, и скорее всего, не будет. Компьютерные программы уже давно умеют играть в шахматы, относительно недавно специализированную платформу от Deep Mind даже обучили профессионально играть в го.

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

Так, в мае этого года был установлен очередной рекорд по сборке кубика Рубика двумя руками. Некоторые из обучившихся делают просто удивительные успехи на этом поприще. Он начал тренироваться с 12 лет, просмотрев записи сборки на YouTube. Чемпион, 22-летний австралиец по имени Феликс Земдегс, смог собрать кубик всего за 4,22 секунды.

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

В случае платформы, о которой идет речь выше, работа ведется по заранее введенным в память системы алгоритмам. Но ученые из МИТ смогли обучить собственную систему собирать Кубик самостоятельно.

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

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

Дело в том, что до определенного момента нельзя понять, правильно или нет действует система. В случае с кубиком Рубика это несколько сложнее, чем в обычном случае. В шахматах все проще — там уже со второго-третьего хода можно понять, в каком направлении движется партия и хорошо или нет действует машина. А награждать за случайный поворот грани, не приносящий результата, смысла нет. Соответственно, есть за что награждать.

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

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

«Наша платформа в состоянии самообучаться в условиях сложного окружения, получая всего одну награду за весь процесс работы», — говорится в отчете специалистов. Платформа, разработанная инженерами МИТ, получила название DeepCube.

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть