ИИ сам научился собирать кубик Рубика
Компьютерные программы уже давно умеют играть в шахматы, относительно недавно специализированную платформу от Deep Mind даже обучили профессионально играть в го. Настолько профессионально, что игроков среди людей, равных компьютеру, сейчас нет, и скорее всего, не будет.
На днях стало известно, что машина самостоятельно научилась решать еще одну сложную головоломку — кубик Рубика. Причем при обучении ей не демонстрировали, как правильно собирать кубик, программная платформа, созданная учеными из США, всему научилась самостоятельно. Некоторые специалисты считают, что перед машинами пал еще один «бастион, считавшийся владением человека».
Кубик Рубика, вернее, алгоритм его сборки, сложен тем, что каждое действие при сборке несет определенные последствия, но предугадать их влияние на общий процесс сборки достаточно сложно. Даже для машины. Люди обычно учатся собирать кубик по ранее разработанным алгоритмам, позволяющим решить головоломку в кратчайшие сроки.
Некоторые из обучившихся делают просто удивительные успехи на этом поприще. Так, в мае этого года был установлен очередной рекорд по сборке кубика Рубика двумя руками. Чемпион, 22-летний австралиец по имени Феликс Земдегс, смог собрать кубик всего за 4,22 секунды. Он начал тренироваться с 12 лет, просмотрев записи сборки на YouTube.
Что касается машины, то роботы собирают кубик еще быстрее. В этом году рекорд был поставлен за 0,38 секунды. Можно было бы и быстрее, но может не выдержать механика самого кубика. В попытках поставить рекорд разработчикам пришлось усиливать конструкцию кубика, иначе он просто разваливался от слишком быстрых манипуляций машины.
В случае платформы, о которой идет речь выше, работа ведется по заранее введенным в память системы алгоритмам. Но ученые из МИТ смогли обучить собственную систему собирать Кубик самостоятельно.
При создании самого кубика его изобретателем наиболее интересной задачей была разработка способа решить головоломку из любого положения. Инженеру Рубику удалось это сделать за месяц. В дальнейшем алгоритм сборки неоднократно совершенствовался.
С недавних пор специалисты по ИИ начали искать способ научить машину складывать кубик. В ход шло глубокое машинное обучение. Системе давали задачу и объясняли правила. Далее робот должен был действовать уже самостоятельно. В случае прогресса машина получала награду — примерно так и обучают слабые формы ИИ. Ведь компьютер должен знать, что движется в правильном направлении. И ему дают это понять благодаря системе наград. Все это помогает машине обучаться.
В случае с кубиком Рубика это несколько сложнее, чем в обычном случае. Дело в том, что до определенного момента нельзя понять, правильно или нет действует система. А награждать за случайный поворот грани, не приносящий результата, смысла нет. В шахматах все проще — там уже со второго-третьего хода можно понять, в каком направлении движется партия и хорошо или нет действует машина. Соответственно, есть за что награждать.
Для того, чтобы научить компьютер складывать кубик Рубика, была использована специализированная технология глубокого обучения, которая получила название «автодидактическая итерация». Эта технология позволяет «раскручивать» уже собранный кубик, чтобы добиться конфигурации, которая похожа на текущую. Получается нечто вроде реверс-инжиниринга, если этот термин применим к обучению машин. Создается специализированное «дерево решений», которое машина использует для вычисления шагов к каждой конфигурации.
Результат получился впечатляющим. По словам самих разработчиков, алгоритм может решить головоломку примерно в 30 ходов. Причем машина собирает кубик в 100% случаев, какой бы вариант разобранной головоломки ей бы ни попался. В целом, для того, чтобы собрать хорошо фрагментированную головоломку, необходимо от 19 до 23 шагов. Некоторые решения приводят к желаемому результату быстрее, чем прочие. Наиболее быстрый алгоритм сборки состоит из 21 шага.
Платформа, разработанная инженерами МИТ, получила название DeepCube. «Наша платформа в состоянии самообучаться в условиях сложного окружения, получая всего одну награду за весь процесс работы», — говорится в отчете специалистов.
Сейчас эта же команда ученых работает над реализацией своего метода обучения к решению других сложных комбинаторных задач. В числе прочих — предсказание третичной структуры белка.