Группа исследователей из Google DeepMind в Лондоне обнаружила, что искусственный интеллект может найти более быстрые алгоритмы для решения задач умножения матриц.
Математика довольно часто используется в компьютерном программировании, как правило, как средство для описания и последующего манипулирования представлениями явлений реального мира. Например, она используется для представления пикселей на экране компьютера, погодных условий или узлов в искусственной сети.
Одним из основных способов использования математики в таких случаях является выполнение вычислений с матрицами. Например, при программировании игр матрицы описывают возможные варианты движения. Для реализации таких движений матрицы часто перемножаются или складываются — иногда необходимы оба действия. Это требует большой работы, особенно по мере того, как матрицы становятся больше, поэтому ученые-компьютерщики тратят много времени и энергии на разработку все более и более эффективных алгоритмов для выполнения работы. В 1969 году, например, математик Фолькер Штрассен нашел способ перемножать две матрицы 2x2, используя всего семь операций умножения вместо восьми, которые были стандартом.
В этой новой работе исследователи из DeepMind задались вопросом, можно ли использовать систему искусственного интеллекта, основанную на обучении с подкреплением (англ. reinforcement learning), для создания новых алгоритмов с меньшим количеством шагов, чем те, которые используются сейчас. Чтобы выяснить это, они обратились к игровым системам в поисках вдохновения, отметив, что большинство из них основано на обучении с подкреплением. После создания некоторых предварительных систем команда сосредоточилась на поиске по дереву (англ. tree search), который также используется в программировании игр. Это средство, с помощью которого система может рассматривать различные сценарии в в той или иной конкретной ситуации. Применительно к перемножению матриц исследователи обнаружили, что преобразование системы искусственного интеллекта в игру позволяет искать наиболее эффективный способ достижения желаемого результата — математического результата.
Исследователи протестировали свою систему, позволив ей искать, просматривать и затем использовать существующие алгоритмы, используя вознаграждения в качестве соблазна, чтобы выбрать наиболее эффективный. Система узнала о факторах, влияющих на эффективность матричного умножения. Затем исследователи позволили системе создать собственный алгоритм, снова стремясь повысить эффективность. Исследователи обнаружили, что во многих случаях алгоритмы, выбранные системой, были лучше, чем те, которые были созданы человеческими предшественниками.
В своей статье, опубликованной в журнале Nature, группа описывает использование обучения с подкреплением для улучшения математических алгоритмов. В том же номере журнала был опубликованы научно-исследовательские информационно-справочные документы, в которых резюмируется работа группы в Лондоне.
Источник: Science X Network