Deep Learning в символьной математике: как Facebook AI обошли Mathematica

Yannic Kilcher 6,1 тыс. 24 мин 4 мин 24.02.2020
Главное

Математика долгое время считалась «запретной территорией» для нейронных сетей. В то время как компьютеры великолепно справляются с численными расчетами, символьные вычисления — манипуляции с формулами, интегрирование и решение дифференциальных уравнений — традиционно оставались прерогативой алгоритмических систем вроде Wolfram Alpha или Mathematica. Однако исследователи из Facebook AI Research представили подход, который переворачивает это представление, используя Deep Learning для решения сложнейших математических задач.

🧠 Символьная математика против численных методов 0:00

Большинство современных компьютерных вычислений являются численными (numeric math): они оперируют конкретными значениями и приближениями . Символьная же математика (symbolic math) — это работа с абстрактными выражениями. Примером может служить интегрирование функции, где на выходе нужно получить не число, а новую формулу .

Янник Кильхер отмечает, что для многих студентов такие инструменты, как Wolfram Alpha, стали спасением при изучении математического анализа, так как они не только выдают результат, но и могут показать пошаговое решение . До недав времени считалось, что нейронные сети, имеющие репутацию систем для решения статистических или аппроксимационных задач, плохо приспособлены для строгих математических манипуляций . В своей работе «Deep Learning for Symbolic Mathematics» Гийом Лампль и Франсуа Шартон (в транскрипте — Francois Giotto) предложили рассматривать математические формулы как своего рода «иностранный язык», а процесс решения — как задачу машинного перевода .

🌳 Математика как древовидная структура и «польская нотация» 1:46

Любое математическое выражение можно представить в виде дерева . В такой структуре:

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

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

По мнению Янника Кильхера, этот метод имеет решающие преимущества:

  1. Устраняется необходимость в скобках .
  2. Выражения становятся однозначными и легко нормализуются.
  3. Для решения выражения можно использовать простой алгоритм на базе стека .

На примере выражения (2 + 5) * 3 Янник демонстрирует, как в префиксной логике это превращается в последовательность, которую «бумеры» (по шутливому выражению автора) помнят по старым калькуляторам .

🤖 Обучение без правил: нейросеть-переводчик 7:04

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

Используемая архитектура — стандартный Transformer, тот же тип моделей, что применяется в Google Translate или современных языковых моделях . Обучение происходит на огромном массиве данных, где пары «задача — решение» генерируются автоматически . Как утверждает Янник Кильхер, это поразительно: система обучается манипулировать строками так, что в итоге выдает математически верные результаты, фактически выполняя «перевод» проблемы в решение .

📊 Результаты: Deep Learning против Mathematica 11:23

Исследователи сравнили свою модель с признанными лидерами индустрии — Mathematica, Maple и MATLAB . Основными задачами были символьное интегрирование и решение дифференциальных уравнений первого и второго порядка (ODE) .

Основные факты из сравнения:

Янник Кильхер поясняет, что Mathematica — это классический символьный манипулятор с жесткими правилами. Если она не находит решение за отведенное время, она просто «сдается» (тайм-аут) . Нейросеть же генерирует гипотезы. Даже если первая попытка неверна, использование «лучевого поиска» (beam search) позволяет модели рассматривать несколько наиболее вероятных вариантов одновременно .

Преимущество математических задач в том, что решение легко проверить. Если нейросеть выдала 50 вариантов интеграла, компьютер может быстро продифференцировать каждый из них и найти правильный . Это превращает поиск решения в задачу, схожую с SAT-solver, где проверка ответа происходит почти мгновенно .

⚠️ Критика и подводные камни

[[JUMP:18:41] ]

Несмотря на впечатляющие цифры, Янник Кильхер высказывает серьезные сомнения в универсальности этого подхода. Главная проблема — смещение данных (dataset bias) .

Основные аргументы критической позиции Кильхера:

  1. Ограниченность выборки: Модель обучалась на выражениях, содержащих до 15 внутренних узлов, и числах в диапазоне от -5 до 5 . Она отлично работает внутри этого «пузыря», но неизвестно, как поведет себя на реальных сложных задачах .
  2. Проблема генерации данных: Существует три способа создания обучающих пар для интегралов — прямой (forward), обратный (backward) и через интегрирование по частям .
  3. Отсутствие обобщения: Эксперименты показали, что если модель обучали только на данных, сгенерированных «прямым» методом, она проваливает тесты на «обратных» данных . По мнению Янника, это доказывает, что нейросеть не «поняла» математику, а просто подстроилась под специфическое распределение данных в конкретном датасете .

В заключение Янник Кильхер отмечает, что хотя работа Facebook AI Research выглядит впечатляюще и открывает новые горизонты, она также обнажает фундаментальную проблему Deep Learning: зависимость от обучающей выборки. На данный момент нейросеть является скорее мощным генератором гипотез, чем полноценным математиком, понимающим суть законов .

💬 Цитаты

«Нейросеть per se не понимает математику, она просто учится на множестве примеров предлагать хорошие гипотезы.»

Янник Кильхер 12:59

«Если ваша выборка сильно смещена, то утверждения, которые вы делаете в конце исследования, весьма ограничены.»

Янник Кильхер 23:51
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Символьная математика
Область математики, занимающаяся манипуляциями с формулами в буквенном виде, а не просто вычислением числовых значений.
Префиксная нотация
Способ записи математических выражений, где знак операции стоит перед числами (например, + 2 3 вместо 2 + 3), что избавляет от необходимости в скобках.
Beam Search (Лучевой поиск)
Алгоритм поиска, который на каждом шаге генерации текста сохраняет несколько наиболее вероятных вариантов продолжения.
Transformer
Архитектура нейронных сетей, основанная на механизме внимания, ставшая стандартом для обработки текстов и последовательностей.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Deep Learning Facebook AI Research Mathematica Transformer Янник Кильхер