Как компьютеры теперь могут решать дифференциальные уравнения с помощью нейронных сетей с последовательностью последовательностей

Компьютерные системы всегда были лучшими друзьями человека при решении сложных математических задач, требующих большого объема вычислений. От простых вычислений на калькуляторе до крупных статистических операций в R - этот технологический рубеж облегчил жизнь многим из нас.

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

Хорошие люди из Facebook AI недавно выпустили исследовательскую работу, в которой они научили компьютер решать дифференциальные уравнения с помощью метода, известного как нейронный машинный перевод. Однако чтение академической статьи может быть утомительным для некоторых, поэтому вот деконструированная версия того, что на самом деле используется при обучении символической математике на компьютере.

В чем была проблема?

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

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

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

- Взято из исследования Facebook AI Глубокое обучение для символической математики.

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

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

Кроме того, при решении уравнений люди склонны иметь «интуицию» относительно того, как подойти к конкретной проблеме. Мы склонны иметь приблизительное представление о том, из чего может состоять окончательное решение, и весь наш мыслительный процесс направлен на его доказательство. Без интуиции или предвидения компьютерная система по существу теряется при решении сложного уравнения.

Как был создан ИИ, решающий уравнения

Давайте перейдем к мелочам и поймем, как исследователи смогли достичь этого ранее невозможного подвига.

Сложные уравнения считаются частью НЛП (обработки естественного языка), и поэтому исследователи были более склонны к ранее проверенным методам в области НЛП для решения этой проблемы. За этим последовал гений использования нейронного машинного перевода (NMT) для преобразования проблем в решения.

Нашим решением стал совершенно новый подход, который рассматривает сложные уравнения как предложения в языке.

- Франсуа Чартон, Гийом Лампле (Facebook AI)

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

Преобразование уравнений в предложения

Методы НЛП обычно применяются к словам или последовательности слов для получения соответствующих результатов. Методика NMT, которую исследователи решили использовать для решения этой проблемы, по сути представляла собой нейронную сеть от последовательности к последовательности (seq2seq).

Модель seq2seq, по сути, принимает последовательность слов в качестве входных данных и выводит последовательность с некоторым смыслом, вложенным в нее. Таким образом, чтобы применить уравнения к модели seq2seq, исследователям сначала нужно было преобразовать их в последовательности слов.

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

Эта «древовидная структура» была успешной в предоставлении более доступной точки зрения на символическое уравнение, которое затем было преобразовано в форму, которая могла бы хорошо работать с предложенной моделью seq2seq.

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

Этот подход помог исследователям использовать надежную модель seq2seq NMT, которая ранее использовалась для предложений и последовательностей слов; за исключением того, что на этот раз слова были заменены на переменные и операторы.

Обучение предложенной модели

Учитывая, что это совершенно новый подход к решению уравнений посредством глубокого обучения, специально подобранный набор данных для этой конкретной цели был недоступен. Это было первой и основной проблемой при обучении модели - просто невозможно обучить модель без каких-либо данных.

Чтобы обеспечить точность, исследователи решили создать свой собственный набор данных с конкретными проблемами, который обеспечит точность при испытании модели. Интересная (и довольно неприятная) проблема, которая обнаружилась при обработке данных, заключалась в том, что, поскольку уравнения в конечном итоге будут интегрированы (или дифференцированы), не все уравнения будут иметь решения. Таким образом, набор данных должен быть полностью новым с точки зрения примеров решенных уравнений, преобразованных в деревья.

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

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

Модель действительно работает?

Теперь, когда вы понимаете больше о том, что происходит под капотом, вам может быть интересно, может ли компьютерная программа действительно преобразовать дифференциальные уравнения в их решения. Чтобы протестировать модель, исследователи предоставили ей 5000 невидимых уравнений (то есть уравнений, которые не были частью данных, на которых она была обучена) и заставили модель распознавать закономерности и решать уравнения.

Полученные результаты

При тестировании модель продемонстрировала колоссальную точность 99,7% для интегральных задач и 94% и 81,2% для дифференциальных уравнений первого и второго порядка соответственно, что посрамило других традиционных решателей уравнений.

Для сравнения, Mathematicia достигла следующих лучших результатов с точностью 84% для задач, основанных на интегрировании, при получении точности 77,2% и 61,6% для дифференциальных уравнений первого и второго порядка. Модель также смогла дать максимальные прогнозы за 0,5 секунды при тестировании. по сравнению с другим программным обеспечением, которое заняло несколько минут или полностью истекло.

Интересное наблюдение, сделанное Чартоном и Лэмплом, заключалось в том, что модель иногда предсказывала несколько решений для одной проблемы. Принимая во внимание подход к переводу, на основе которого он был разработан, это имело смысл, поскольку часто существует несколько переводов (с разными значениями) для данной последовательности слов.

Что дальше?

Предложенная модель Чартона и Лэмпла в настоящее время работает для решения только уравнений одной переменной. Но не об этом думаешь, читая Что дальше?

Несомненно, эта работа дала понимание того, как нейронные сети могут применяться нетрадиционными способами. Эти развивающиеся модели сделаны решительными и умными - двумя качествами, которые помогают выявить слепые пятна в существующих академических и практических подходах к математике.

Обнаружив способ использования глубокого обучения там, где это ранее считалось невозможным, эта работа предполагает, что ИИ может принести пользу другим задачам.

- Чартон и Лэмпл, Facebook AI

Эта модель предложила и решила задачу, которая долгое время считалась невозможной для нейронных сетей, путем применения самых безумных способов НЛП. Это исследование открывает двери к еще более широким перспективам и большему количеству открытых проблем, которые в конечном итоге могут быть решены совершенно неортодоксальными способами кем-то, кто просто готов пойти на риск.

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

Являясь независимой редакцией, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и группам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим участникам и не продаем рекламу.

Если вы хотите внести свой вклад, отправляйтесь на наш призыв к участникам. Вы также можете подписаться на наши еженедельные информационные бюллетени (Deep Learning Weekly и Comet Newsletter), присоединиться к нам в » «Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов, событий и гораздо больше, что поможет вам быстрее создавать лучшие модели машинного обучения.