Pull to refresh

Comments 29

Честно говоря, статья совсем чайниковая. Разбиение выражения на поддеревья, целый параграф, не скрытый в спойлеры, о том, что такие диффуры, а так же называть y' = f(x) дифференциальным уравнением (как назвать x^2 = 16 квадратным уравнением) это конечно такое себе.

>даже те, которые имеют дело с интегральным исчислением
В оригинале вообще-то математический анализ. Так что за многое тут спасибо переводчику.
UFO just landed and posted this here
Супер! Наконец-то реализовали мою идею, которую я тут на хабре иногда в комментариях к статьям по нейросетям высказывал:)
Научить нейронки работать с математическими формулами. Не с картинками, а именно с абстракциями в чистом виде. Очевидно что формулы нужно преобразовать в AST, что авторы и сделали.
Теперь нужно формализовать как можно больше математики и загнать ее в нейросеть. Перейти на следующие уровни, попробовать решить нерешенные до сих пор математические проблемы. А дальше — попробовать что-нибудь из физики. Особенно конечно интересно с самого фронта, скажем — поиск новой физики элементарных частиц. Представляете, что там может нас ожидать?
так. не понял. Вы так незаметно перешли от распознавания формул, скормленных сетями, натрененных на математике, к физике элементарных частиц…
Нейронки, это обученные сети, они обучены на готовых человеческих результатах, каким образом они что-то обнаружат, а уж тем более решат, чего не предполагает сам человек?
Да, помогают с рутиной и перебором, но ведь и без нейронок эти задачи были решаемы ранее.
Я об общем принципе — работе нейросети с символьными вычислениями. Понятно что не все так просто, и может ничего и не получится (по разным причинам).
По поводу математики — нейросеть обучили решать дифф.уравнения, не сообщая правил решения, а просто обучив на большом количестве примеров. Нашлись такие, которые не удалось решить чистыми символьными вычислениями, но удалось решить нейросетью.

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

Далее — о физике. Здесь сложнее, так как материала для обучения в принципе меньше, и его природа другая. Это уже где-то очень близко к «сильному ИИ», поэтому не буду утверждать ничего. Но вот недавно нейросеть от Гугла научилась предсказывать фолдинг белков. Это скорее химия-биология, но это невероятно круто, на Хабре об этом писали. И материала для обучения там было достаточно. Можно ли как-то применить этот подход в физике частиц? Не знаю. Там структура данных действительно совершенно другая. Нет «количества», не на чем особо обучаться, и сходу не приходит в голову, за что можно зацепиться. Разве что анализ огромного количества результатов столкновений частиц на коллайдерах, возможно нейросеть поможет найти там интересные закономерности, скрытые от глаз ученых.
Когда нам читали эволюцию советских ЭВМ, идея о том, что развитие в сторону «стоит компьютеру показать на бумаге систему дифуров — и дальше он сам всё решит!» было если не на первом месте, на первом — оборонка, то на твёрдом втором.
Итого, ~50 лет развития — и чудо уже здесь.
PS не забывайте, что результат работы нейросети напрямую зависит от входных данных. Помните нейросеть, которая на всех картинках дорисовывала собак, весьма хтоничное зрелище?
стоит компьютеру показать на бумаге систему дифуров — и дальше он сам всё решит!

На правах юмора:


Ну, если численно и показывать не на бумаге, то это было ещё в 40х. Много где применяется, например, всякие методы конечных элементов итп.

Представляете, что там может нас ожидать?

Теорема Гёделя о неполноте

В ответе не хватает произвольной константы.
тоже вспомнили тот анекдот? Мой любимый :-)

Я не эксперт, но кажется уравнению на картинке никакая модель не нужна, это же отношение полиномов, там есть примеры посложнее?

Сам себе и отвечу: есть! По ссылке на статью на arxiv: с. 10, п. 4.6 «equivalent solutions»

В котором кстати рассказаны как раз интересные подробности (которые горе-пересказчики даже не заметили). Цитирую: «An interesting property of our model is that it is able to generate solutions that are exactly equivalent, but written in different ways».
То есть можно сказать что модель немного поняла математику:)

А я вот тут подумал… а что если на самом деле именно нейросеть и понимает математику, а то что у нас — это всего лишь иллюзия понимания…
Я как-то писал, что нейронными сетями часто занимаются мошенники. Неожиданно, но этот пример как раз такого случая. Именно поэтому революционная поделка не доступа для полноценного тестирования. Вкратце: исходное уравнение подтасовано для использования специального метода решения. В знаменателе многочлен является суммой квадрата другого многочлена и константы. Если это знать и восстановить исходный многочлен (что не сложно), то после выполняется замена переменных, далее находится стандартный табличный интеграл — и результат достигается за доли секунд. Это конечно сразу не видно и стандартные программы спотыкатся на этом. А чтобы любая программа символьного интегрирования на ура работала с этим примером, надо просто вставить в нее ветку тестирования подкоренного многочлена на представление в виде суммы квадрата и константы.
Соответственно, если любой коэффициент в исходном дифуре в знаменателе немного изменить, вся нахваливаемая нейронная сеть подавится, т.к. табличный интеграл уже не найти.
Scalar
Я не эксперт, но кажется уравнению на картинке никакая модель не нужна, это же отношение полиномов, там есть примеры посложнее?
Там не просто отношение полиномов. Вы корень пропустили. Но даже без корня, для того чтобы взять интеграл с произвольным многочленом в знаменателе, этот многочлен надо разложить на множители. А тут 8я степень.
Неужели им там на ревью не ткнут носом в это?
Как вы думаете, много ли людей стали руками проверять в чем тут прикол с этим дифуром? На то, думаю и рассчитано. На для 100% надежности схемы сама «нейронная сеть» не доступна для тестирования.
Верно, корень проглядел.
Очень интересно они это все затеяли, явно зная про этот прикол. Неужели им там на ревью не ткнут носом в это?
Оффтоп: вот о таких вещах хочется видеть посты на Хабре:)

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

Типичный приём построения задач (и запугивания студентов). В Демидовиче чуть ли не половина таких интегралов, где надо просто догадаться, что куда подставить или заменить.

Пример из статьи напомнил изречение, что лучший способ взять интеграл — это продифференцировать ответ.

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

Ну там, разбиение датасета на test/train/control, как обычно

Так дифференцирование всегда однозначное и намного легче интегрирования.

Странно, что статья так много говорит о решении уравнений и ни слова о том, что учёные изобретали, по факту, pattern matching на стероидах нейронных сетях. Однако, если эта штука действительно работает как заявлено, то результат действительно крутой. И распознавание смысла сообщений стало на один шаг ближе, что тоже круто.


И поиск неугодных стал на один шаг ближе:( Это же Facebook.

Я правильно понял, что нейросети на вход дают AST, она проводит манипуляции, на выходе тоже AST? А есть какие-то гм… более-менее известные архитектуры и подходы для оперирования графами?

UFO just landed and posted this here

Результат скорее удручающий. Решать (не распознавать) дифуры нейронкой — это признание поражения в задаче формализации приёмов решения дифуров в виде правил для символьного (формального) вывода. Имеются в виду правила не для символьных математических преобразований вида "сокращение на константу" — это объект статьи умеет делать иначе бы не умел строить цепочку вывода — а именно для выбора правил на шагах преобразования. Рандом (нейросеть) для выбора правил — это так, рабоче-крестьянская эвристика.


В свете этого не понятны 2 вещи в статье: во-первых с каких пор солверы меряются скоростью, а не возможностями вывода и формальной модели, и во-вторых что значит "достигает точности в 85%" — символьные солверы же выдают аналитическое решение? Или это процент решённых задач?


И повторюсь, в статье зачем-то смешивается задача распознавания, задача парсинга, и задача формального вывода

Решали и раньше, без FB. И на аналоговых ЭВМ, и на ПЛИС, и на нейроморфных нейросетях. И не за 30 секунд, а за единицы микросекунд.
Это из разряда, как Google распознавала речь — делила на фрагменты, делала картинку-кадр для каждого фрагмента, а потом натренировала сеть и распознавала изображения спектрограмм, определяя, какой же звук в каждом кадре.
Но, хайп — есть хайп и Wow и PR, Facebook таки.

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

Sign up to leave a comment.