Решение дифференциальных уравнений нейронными сетями

Краткое содержание статьи: Нейронные обыкновенные дифференциальные уравнения

Дата публикации Dec 27, 2018

NIPS 2018 (Монреаль, Канада) или NeurIPS, как его называют сейчас, закончились, и я хотел бы воспользоваться возможностью, чтобы воспользоваться одним из документов, которые получили награду за лучший документ на этой престижной конференции. Название статьиНейронные обыкновенные дифференциальные уравнения(arXiv ссылка) и его авторы связаны со знаменитым Институтом Векторов в Университете Торонто. В этой статье я попытаюсь объяснить некоторые из основных идей этой статьи, а также обсудить их потенциальные последствия для будущего области глубокого обучения. Так как статья довольно продвинутая и затрагивает такие понятия, какОбыкновенные дифференциальные уравнения(ОДА),Рекуррентные нейронные сети(РНН) илиНормализующие потоки(NF), Я предлагаю вам ознакомиться с этими условиями, если вы не знакомы с ними, так как я не буду вдаваться в подробности по ним. Тем не менее, я постараюсь объяснить идеи статьи настолько интуитивно, насколько это возможно, чтобы вы могли получить основные концепции, не вдаваясь в технические детали. Если вы заинтересованы, вы можете прочитать об этих деталях впоследствии в оригинальном документе. Пост разбит на несколько разделов, каждый из которых объясняет одну или несколько глав в статье.

От последовательностей преобразований к нейронно-дифференциальным уравнениям

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

Таким образом,hₜявляется «скрытой» информацией на временном шагеt и f (hₜ, θₜ)изученная функция текущей скрытой информации и параметровθₜ, Основной вопрос, поставленный в статье, заключается в том, можем ли мы улучшить наши текущие современные результаты с этими сетями, постепенно уменьшая размер шага[т, т + 1], Мы можем представить это как постепенное увеличение количества оценок в RNN или увеличение количества остаточных уровней в остаточной сети. Если мы сделаем это, мы в конечном итоге придем к бесконечно малой (дифференциальной) версии приведенного выше уравнения:

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

Вычисление градиентов решателя ODE с помощью сопутствующего метода

Численное решение ODE обычно осуществляется путем интеграции. Множество методов интеграции были изобретены за эти годы, в том числе простой метод Эйлера и более высокие варианты метода Рунге-Кутты. Тем не менее, все это в вычислительном отношении довольно интенсивно. Это особенно актуально во время обучения, которое требует дифференциации шагов интеграции, чтобы иметь возможность суммировать все градиенты параметров сетиθₜ, влечет за собой высокую стоимость памяти.

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

(к сожалению, авторы обмениваютсяч (т)пог (т)в этом разделе, но не позволяйте себе смущаться этим). На втором этапе используется определение решения ODE, а на третьем этапеODESolveОперация вводится в качестве оператора для решения ODE. Как я упоминал ранее, этот оператор зависит от начального состоянияг (t₀), функцияе, начальное и конечное времяt₀а такжеt₁а также параметры поискаθ, Сопряженный метод теперь определяет градиент функции потерь w.r.t. скрытое состояние:

Это количество теперь следует за расширенным ODE

Расчет градиента∂L / dz (t₀)(первый градиент, требуемый вышеприведенным уравнением) теперь может быть достигнут путем решения расширенного ODE назад во времени. Для полноты в приведенном ниже уравнении указано, как рассчитать градиенты w.r.t. к параметрам функции нейронной сети:

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

Если вас интересуют дальнейшие математические детали этого сложного вычисления, пожалуйста, вернитесь к исходной статье или даже к исходной статье о сопряженном методе. Авторы представленной статьи даже предоставляют код Python для простого вычисления производных от решателя ODE.

Сети ODE для контролируемого обучения

Теперь перейдем к самой интересной части статьи: приложения. Первое приложение, которое авторы упоминают в своей статье, относится к области контролируемого обучения, а именно к классификации письменных цифр MNIST. Цель состоит в том, чтобы показать, что метод ODESolve может обеспечить сопоставимую производительность с остаточной сетью с гораздо меньшими параметрами. Сеть, используемая для оценки в статье, дважды отбирает входное изображение, а затем применяет 6 остаточных блоков. В целом сеть содержит ок. Параметры 0.6M. Сеть ODESolve заменяет 6 уровней одним модулем ODESolve. Кроме того, авторы тестируют RK-сеть, которая аналогична, за исключением того, что она распространяет ошибку напрямую, используя метод Рунге-Кутты. Как упомянуто выше, вы можете связать количество уровней в традиционной нейронной сети с количеством оценок в ODE-Net. Количество параметров этих двух сетей составляет 0,22М. Важным результатом является то, что с примерно 1/3 параметров RK-Network и ODE-Net достигают примерно той же производительности, что и остаточная сеть. Кроме того, сложность памяти ODE-Net является постоянной (сравните следующий рисунок).

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

Непрерывные нормализующие потоки

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

, гдед0 (г0)это начальное распределение иQk (Zk)является преобразованным распределением, с преобразованиямиfk, k = 0..K.Определитель Якоби в приведенной выше сумме гарантирует, что интеграл от функции распределения остается 1 на протяжении преобразования. К сожалению, вычислить этот детерминант для всех, кроме некоторых простых преобразований, довольно дорого.

Одним из популярных приложений нормализации потоков является вариационный автоэнкодер (VAE), который обычно предполагает, что скрытые переменные распределены как гауссиан. Это предположение ухудшает вывод VAE, потому что оно не позволяет сети изучать желаемое распределение. При нормализации потоков параметры гауссовского сигнала могут быть преобразованы в широкий спектр распределений перед их «декодированием» и, таким образом, могут улучшить возможности генерации VAE.Этот пост в блогеобъясняет нормализацию потоков подробнее.

Обсуждаемая нами статья представляет собой продолжение нормализации потоков в непрерывную область. Интересно, что это упрощает вычисление нормализующей константы. Если мы сделаем случайную переменную непрерывной и зависимой от времени, с динамикой времени, описываемой функциейе(если f непрерывна по Липшицу), то изменение логарифмической вероятности следует простому дифференциальному уравнению

Таким образом, вычисление определителя здесь заменяется простой операцией трассировки. Кроме того, если мы используем сумму преобразований, то нам нужно только суммировать следы:

Авторы также вводят стробирование для различных преобразований:

Они называют такую ​​сумму преобразованийнепрерывный нормализующий поток(УТС).

Чтобы показать эффективность CNF, в статье проверяется преобразование плотности вероятности из гауссовского распределения в два целевых распределения, как показано на рисунке ниже.

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

Генеративные модели временных рядов через ODE

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

Решением этого, основанного на модуле ODESolve, является генерирующая модель с непрерывным временем, которая при заданном начальном состоянии zₜ₀ и времени наблюдения t0… tN рассчитывает скрытые состояния z_t1… z_tN и выходные данные x_t1… x_tN:

Функцияе(функция нейронной сети) отвечает за расчет скрытого состоянияZв любое времяTначиная с текущего временного шага. Модель представляет собой вариационный автоэнкодер, который кодирует прошлую траекторию (зеленая на рисунке ниже) в начальном скрытом состоянии zₜ₀ с использованием RNN. Как и во всех вариационных автоэнкодерах, распределение латентного состояния тем самым фиксируется с помощью параметров распределения (в данном примере гауссиана со средним значением μ и стандартным отклонением σ). Из этого распределения берется образец и проходит через ODESolve.

Архитектура протестирована на синтетическом наборе данных двунаправленных двумерных спиралей, отобранных в нерегулярные моменты времени и искаженных гауссовским шумом. На следующем рисунке качественно показаны превосходные характеристики моделирования в модели скрытого нейронного ODE:

Выводы

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

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

  • Мини-пакетирование может вызвать проблемы с этим подходом, поскольку пакетирование нескольких образцов требует одновременного решения системы ODE. Это может значительно увеличить количество необходимых оценок. Тем не менее, авторы отмечают, что количество оценок оставалось управляемым даже при миниатчировании в течение всего эксперимента.
  • Уникальность решения ODE гарантируется только в том случае, если сеть имеет конечные веса и использует липшицевые нелинейности, такие как tanh или relu (например, не пошаговая функция).
  • Обратимость прямой траектории может быть затруднена путем сложения неточностей, вносимых числовой ошибкой в ​​решателе прямого ODE, числовой ошибкой в ​​обратном решателе ODE и потерей информации из-за множественных начальных значений, отображаемых в одно и то же конечное состояние.

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

Важным преимуществом метода, представленного в статье, является то, что можно свободно выбирать баланс между быстрым и точным решением, влияя на точность численного интегрирования во время оценки и / или обучения. Кроме того, метод очень широко применим (требующий только того, чтобы нелинейности нейронной сети были липшицевыми) и может применяться для моделирования временных рядов, контролируемого обучения, оценки плотности или других последовательных процессов.

Анализ малых данных

КвазиНаучный блог Александра Дьяконова

Нейронные обыкновенные дифференциальные уравнения

На конференции NeurIPS 2018 одной из лучших работ была признана статья «Neural Ordinary Differential Equations». Это нестандартный пост для блога, который, впрочем, может положить начало традиции… я выкладываю несколько обзоров на русском языке этой статьи и прошу читателей помочь выбрать мне лучшие.

Сразу оговорюсь: составление этих обзоров — одно из заданий для моих потенциальных магистров на факультете ВМК МГУ. Все делали обзор одной и той же работы, некоторые мягкие требования:

  • понятность, простое объяснение всего-всего (м.б., в том числе, и доказательств),
  • оригинальные примеры,
  • небольшой объём,
  • иллюстрации и код.

Анонимные обзоры (читайте в произвольном порядке):

Большая просьба читателям, как минимум, заполнить совсем небольшую анкету. Комментарии к посту, как всегда, приветствуются: может подробно описать плюсы и/или минусы конкретных эссе. Нужно ли выкладывать в этом блоге подобные обзоры?

Share this:

Понравилось это:

Похожее

Нейронные обыкновенные дифференциальные уравнения : 5 комментариев

Какая крутая идея, делать обзор статьи! А сколько времени даётся студентам на написание обзора? Вы на основании этих обзоров отбираете студентов для научного руководства?
К сожалению, просмотрела обзоры достаточно бегло, но в целом качество работы впечатляет. У меня есть два фаворита, интересно, совпадают ли они с Вашими…

История такая: ко мне много желающих в магистратуру, причём не только ММПшников, но и ребят с 3 потока. У меня всего один бакалавр-выпускник (да и того не я в своё время взял, он просто остался без научника), поэтому даже при квоте 3 чел на научного руководителя места есть (мой бакалавр тоже участвует в отборе).
Пришлось придумывать, как отобрать лучших. Первое задание (этот обзор) сделали 8 человек. Где-то половина желающих ничего не сделала, что уже немного упростило ситуацию (интересно, что как раз ребята с 3 потока не сделали обзор). Я давал на обзор больше 2х недель (но там было наслоение на их защиты). Один из критериев — время выполнения задания (поэтому даже, не смотря на то, что некоторые обзоры хуже, они сделаны быстрее).
Я наверное потом в комментариях напишу свой фидбек по отзывам. Сейчас все 8 человек участвуют в соревновании по ML…

Александр, спасибо за обзоры в открытом доступе, изучил несколько — весьма необычно и интересно.
Вопрос: а можно будет как-то попробовать поделать Late Submit’ы в соревновании, про которое вы писали в ответе на комментарий выше?

Нейросеть в 1000 раз ускорила решение дифференциальных уравнений в частных производных

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

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

Загвоздка в том, что ДУ в ЧП сложно решать. Поэтому дисциплины, использующие эти уравнения, часто обращаются к суперкомпьютерам. А с недавнего времени — и к технологии глубокого обучения, которая способна ускорить процесс решения дифференциальные уравнения в частных производных, пишет Technology Review.

Исследователи из Калтеха разработали новую технику глубокого обучения для решения ДУ с ЧП, которая намного точнее предыдущих методов.

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

Например, уравнения Навье — Стокса хороши не только для моделирования турбулентности, но и для расчетов климатических изменений. «Хорошие, точные метеорологические предсказания в глобальном масштабе — это очень сложная проблема, — сказала профессор Анима Анандкумар, курировавшая исследование. — Даже самые большие суперкомпьютеры не могут сегодня выполнять эти задачи в мировом масштабе. Так что если мы сможем использовать эти методы для ускорения процесса, это будет чрезвычайно полезно».

Созданная в MIT около года назад модель машинного обучения сама пришла к пониманию базовых законов физики. Она наблюдает за объектами, движущимися по сцене, и делает предсказания о том, как они должны повести себя, на основе «интуитивно» понятых законов. И выражает удивление, если эти законы нарушаются.


источники:

http://dyakonov.org/2019/06/13/%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BE%D0%B1%D1%8B%D0%BA%D0%BD%D0%BE%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B4%D0%B8%D1%84%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB/

http://hightech.plus/2020/11/03/neiroset-v-1000-raz-uskorila-reshenie-differencialnih-uravnenii-v-chastnih-proizvodnih