Мы все слышали вариант фразы «если бабочка машет крыльями», которая описывает эффект бабочки, и этот термин был придуман американским математиком Эдвардом Нортоном Лоренцем, который первоначально сказал:

«Колебание крыла бабочки в Рио-де-Жанейро, усиленное атмосферными токами, может вызвать торнадо в Техасе двумя неделями позже» - Эдвард Нортон Лоренц

Но какое это имеет отношение к машинному обучению? В физике есть много явлений, при которых небольшое возмущение в исходном положении может вызвать значительное изменение результата, поэтому такие явления должны быть хаотичными. Такие явления сложно моделировать и предсказать, поэтому естественно, что исследования в области математики и машинного обучения сосредоточат свое внимание на разработке систем для их моделирования. Недавно были получены некоторые обнадеживающие и захватывающие результаты с использованием современных схем для прогнозирования хаотических систем, такие как результаты (Pathak, Lu, Hunt, Girvan, & Ott, 2017).

Обучение и прогнозирование систем, зависящих от времени, обычно достигается с помощью рекуррентных нейронных сетей. Однако обучение RNN для многомерных систем само по себе является проблемой, и по этой причине вместо него используется вариант RNN, называемый вычислением резервуара. В этом посте я дам обзор фреймворка резервуарных вычислений и того, как их обучать и настраивать. Затем я покажу, как их можно настроить для предсказания хаотических систем, таких как модель Лоренца 63, аттрактор Ресслера и уравнение Курамото-Сивашинского.

Пластовые вычисления

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

Одно из возможных решений такой проблемы было предложено Джагером как сеть эхо-состояний (Jaeger & Haas, 2004). Случилось так, что Маасс, независимо, предложил свою версию решения, известную как машина жидких состояний (Maass, Natschläger, & Markram, 2002). Оба могут рассматриваться как примеры расчета резервуара. Основная идея состоит в том, чтобы построить RNN со случайными и редкими рекуррентными связями, то есть не все состояния связаны друг с другом. Выход сети - это, по сути, комбинация состояний RNN. По сути, исправьте RNN для всего процесса, и такие RNN называются резервуарами. После этого у нас остаются только веса выходного слоя, которые нуждаются в обучении, что значительно сокращает усилия и время, необходимые для обучения всей сети. Кроме того, можно использовать тренировки на ходу. Затем в RNN подается M -мерный временной ряд в качестве входных данных, и в результате состояния становятся зависимыми от входного временного ряда и его значения в предыдущий момент времени, отсюда и эхо. Способность запоминать входной сигнал позволяет сети предсказать, что будет дальше.

Математическое описание

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

Внешний вход, u, представленный M -мерным вектором, связан с резервуаром посредством N × M матрица W ᵢ, которая не должна быть зависящей от времени. Динамическая система с дискретным временем описывается формулой

Матрица A упоминалась ранее, и это матрица смежности, которая описывает связь между состояниями резервуара. Матрица A представляет собой квадратную симметричную матрицу размером N × N. M- -мерный вектор v - это выходной вектор, а матрица W ₒ - M × Матрица N, которая отображает N -мерные состояния коллектора и отображает их на выходные данные. Другими словами, каждый выходной элемент представляет собой комбинацию состояний коллектора.

Скаляр α - это скорость утечки, которая находится в диапазоне от (0,1], и его задача здесь - контролировать скорость, с которой обновляется состояние резервуара.

На первый взгляд кажется, что в этой архитектуре есть только один настраиваемый параметр, α, но на самом деле есть и другие параметры. Непрямые параметры: размер резервуара N, спектральный радиус A и его разреженность. Роль параметров и общие стратегии их выбора будут описаны в разделе настройки параметров этого поста.

Обучение

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

тогда, если наша сеть дает результат v, нам нужно знать, на сколько нам нужно изменить его, чтобы минимизировать J ( v). Эта величина задается градиентом J (v), обозначенным ∇ J, в свою очередь, вектор, элементы которого являются частными производными J по отдельным элементам v, т. е. ∇ J = (∂ J ∕ ∂ v1, ⋯). Во-первых, то, что мы подразумеваем под градиентом, это скорость изменения ошибки при выборе определенного направления. Вы можете думать об этом в терминах альпинизма: чем выше значение уклона, тем круче путь и труднее подниматься, и чем ниже значение, тем легче подниматься. Затем, если мы оценим v * = v - ∇ J, то мы гарантировал, что J (v) ›J (v *).

Для RNN обучение выполняется с использованием обратного распространения, которое проходит по нейронной сети от выхода к входу для вычисления частных производных функции ошибок. Частные производные необходимы для корректировки весов RNN, чтобы получить желаемую пару вход-выход. Проблема с обратным распространением для RNN - это проявление многих проблем, таких как исчезающие градиенты. С точки зрения нашего предыдущего небольшого примера это означает v * ≈ v, и скорость улучшения будет очень медленной. .

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

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

Для этой архитектуры обучение представляет собой задачу обучения с учителем, при которой мы стремимся получить выходные данные v (t) так, чтобы они приближались к фактическим наблюдаемым данным v ₒ (t) при подаче входного сигнала u (t). Обучение осуществляется путем подачи в резервуар входного сигнала и вычисления значения состояния резервуара с использованием динамической системы. Отсюда выход v вычисляется с использованием карты продуктивного пласта Wr. Тогда задача состоит в том, чтобы найти такие элементы матрицы W ₒ, что функционал ошибки

как минимум. Термин βW ₒ ‖² добавлен к функционалу ошибки для регуляризации проблемы регрессии, такая регуляризация известна как регуляризация Тихонова. Постоянная задача β ›0 - не допустить переобучения. Кроме того, этот член не позволяет W ₒ иметь большие значения, что вызывает усиление небольших возмущений в значениях состояний резервуара. Это проблематично в случае, когда входной сигнал u является сигналом обратной связи, он принимает выход предыдущего шага в качестве входа.

Задачу регрессии можно записать в матричной форме как

где Tr - оператор трассировки, а X - матрица (1 + M + N) × NT и v ₒ - матрица наблюдаемых данных с размерами M × NT. Чтобы найти W ₒ, которое дает локальный минимум для J, мы используем ключевой факт из расчета, что функция находится в локальном экстремуме, когда градиент исчезает. Следовательно, мы берем производную J по W ₒ и устанавливаем ее равной нулю, и при этом получаем выражение для W ₒ дано

Здесь мы ясно видим роль, которую играет параметр β. При его отсутствии все, что нам нужно сделать, это инвертировать X X ᵀ, однако не всегда гарантируется, что он обратим, или, если да, он может быть подвержен числовой нестабильности. . Таким образом, β здесь играет роль, делая X X ᵀ более приятным для инвертирования.

Настройка параметров

В этом разделе мы обсудим роль параметра резервуара в его поведении. Как упоминалось ранее, параметрами резервуара являются: размер резервуара, разреженность матрицы смежности A, спектральный радиус A, обозначаемый ρ , скорость утечки и масштабирование W ᵢ.

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

Еще один параметр, который можно настроить, - это разреженность матриц A и W ᵢ. Разреженная матрица имеет очень небольшой процент ненулевых элементов от общего количества элементов. Этот конкретный параметр действительно влияет на производительность сети, поскольку он заставляет информацию оставаться в одной части резервуара, не передавая ее другим частям. Поскольку он немногочислен, существует множество вариантов распределения ненулевых элементов. Например, симметричная форма, основанная на модели Эрдеша – Реньи, выбрана для примеров в следующем разделе.

Одним из наиболее важных параметров, влияющих на производительность, является спектральный радиус ρ матрицы смежности A. Спектральный радиус - это модуль наибольшего собственного значения матрицы A. Этот параметр является индикатором резервуара, имеющего так называемое свойство состояния эха. Это свойство указывает, будет ли асимптотическое состояние системы отражать входные данные. Было показано, что наличие спектрального радиуса меньше единицы в некоторых случаях гарантирует свойство состояния эха. Однако такое ограничение не является достаточным условием. Больше исследований по этому вопросу было проведено в таких статьях, как (Yildiz, Jaeger, & Kiebel). Тем не менее, очень хорошая стратегия - начать со спектральным радиусом, равным единице, а затем настроить его. Кроме того, характер проблемы диктует значение спектрального радиуса, где рекомендуется использовать ρ ›1 для задач, требующих памяти ввода, и наоборот.

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

Хаотические системы

Теперь давайте посмотрим, как пластовые вычисления можно использовать для краткосрочного прогнозирования хаотической системы. Опять же, как и в предыдущих двух частях, я опущу технические термины. Применение резервуарных вычислений для прогнозирования хаотических систем было представлено в (Jaeger & Haas, 2004), а затем расширено в таких статьях, как (Pathak, Lu, Hunt, Girvan, & Ott, 2017) и (Pathak et al. ., 2018) , чтобы включить пространственно-временные хаотические системы, такие как уравнение Курамото-Сивашинского.

Сначала я рассмотрю идею хаотических систем и то, что подразумевается под хаосом. Рассмотрим простой маятник (который является асимптотически устойчивой системой), если мы отпустим боб из любого места, он в конечном итоге вернется в исходное положение.

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

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

Мы упомянули двойной маятник как хаотическую систему, существуют и другие хаотические системы, и самые известные из них: аттрактор Лоренца 63, аттрактор Ресслера и уравнение Курамото-Сивашинского. Последнее является одним из наиболее интересных, поскольку это пример бесконечномерной системы (управляемой уравнением в частных производных), которая демонстрирует хаос.

Аттрактор Lorenz 63

Самая известная хаотическая система - это система Lorenz 63, траектории которой при построении дают форму бабочки (Lorenz, 1963).

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

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

Эдвард Лоренц случайно заметил, когда изучал решение приближения Буссинеска, что периодическое решение резко меняется при возмущении начальных условий. Это привело Лоренца к выводу более простой модели из уравнения Буссинеска, описав решение уравнения Навье-Стокса в терминах коэффициентов Фурье. Если вы впервые столкнулись с термином коэффициенты Фурье, не волнуйтесь. Один из способов взглянуть на это - применить преобразование Фурье, решение системы представлено в терминах частот (или мод). Коэффициенты Фурье соответствуют амплитудам этих частот. Результатом аппроксимации является знаменитая модель Лоренца, описываемая следующей системой дифференциальных уравнений

с a = 10, b = 28 и c = 8/3. Если вам интересно, x соответствует интенсивности конвекции, y разнице температур в горизонтальной плоскости, а z - разнице температур в вертикальная плоскость.

Теперь рассмотрим вектор u = (x, y, z) быть входным сигналом в резервуар. В настоящее время мы генерируем сигнал Лоренца для T = 20, с dt = 0,005. Мы рассматриваем u от -40 до 0 как обучающий сигнал. Параметры коллектора выбраны такими: N ᵣ = 500, при скорости обучения α = 1.0, спектральном радиусе ρ = 0.6, и начальным условием для весов скрытого слоя является матрица Эрдеша – Реньи со степенью D = 6.

При T = 0 вместо подачи в резервуар входного сигнала u мы используем его выход в качестве обратной связи. Это установка u = v в

Таким образом, резервуар r (t) выводит прогноз. Даем резервуару работать до T = 20. Используя выходной сигнал резервуара и u [3000: 5000], мы сравниваем оба сигнала. .

Аттрактор Рёсслера

Другая известная хаотическая система, и такая система возникла в результате поиска более простой модели, чем система Лоренца, - это система Ресслера (Rössler, 1979). Как уже упоминалось, модель Лоренца исходит из реальной физики, однако система Ресслера не имеет физического смысла. На графике системы Лоренца график бабочка можно рассматривать как две спирали, Рёсслер хотел найти систему, в которой была бы только одна спираль.

Математическое описание эволюции системы во времени дается формулой

с a = 0,2, b = 0,2 и c = 5,7. Для системы Рёсслера была проведена та же процедура, что и для системы Лоренца при настройке системы резервуаров. Параметры для этого резервуара такие же, как и для того, который использовался для аттрактора Лоренца в предыдущем примере, за исключением спектрального радиуса ρ = 1.05. Удивительно, но результат предсказания оказался намного точнее, чем система Лоренца.

Уравнение Курамото-Сивашинского

До сих пор мы упоминали двумерные и трехмерные хаотические системы, и на самом деле существуют бесконечномерные системы (Сивашинский, 1977) и (Курамото, 1978). Прежде чем мы продолжим, сначала мне нужно пояснить, что я имею в виду под конечными и бесконечномерными системами. Для конечномерных систем решение описывается как комбинация конечного числа базисных функций. Например, решение системы Лоренца, записанное как u = (x, y, z ) описывается в единицах величин по каждой оси. С другой стороны, бесконечномерные решения - это решения, которые описываются бесконечной суммой базисных функций.

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

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

Одна из наиболее интересных особенностей этой системы заключается в том, что при t → ∞ решение при любом начальном условии притягивается к пространству, известному как инерциальное многообразие. Что интересно в инерциальном многообразии, так это то, что оно конечномерно, что говорит нам о том, что решение КШ при t → ∞ эквивалентно решению конечномерной системы.

Как и другие хаотические системы, уравнение Курамото-Сивашинского можно предсказать с помощью расчета резервуара, как это сделано в (Pathak, Lu, Hunt, Girvan, & Ott, 2017) и (Pathak et al., 2018). Во-первых, чтобы закачать его в резервуар, нужно дискретизировать уравнение в пространстве, так как теперь решением является вектор в ℝᴺ. В некотором смысле дискретизация в пространстве приближает бесконечномерную систему к конечномерной с N -мерностями.

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

Резюме

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

Как всегда, мы приветствуем и приветствуем ваши отзывы и конструктивную критику!

использованная литература

  1. Патак, Дж., Викнер, А., Фасселл, Р., Чандра, С., Хант, Б. Р., Гирван, М., & Отт, Э. (2018). Гибридное прогнозирование хаотических процессов: использование машинного обучения в сочетании с моделью, основанной на знаниях. Хаос: междисциплинарный журнал нелинейной науки, 28 (4), 041101. https://doi.org/10.1063/1.5028373
  2. Патак Дж., Лу З., Хант Б. Р., Гирван М. и Отт Э. (2017). Использование машинного обучения для воспроизведения хаотических аттракторов и вычисления показателей Ляпунова на основе данных. Хаос: междисциплинарный журнал нелинейной науки, 27 (12), 121102. https://doi.org/10.1063/1.5010300
  3. Джегер, Х., и Хаас, Х. (2004). Использование нелинейности: прогнозирование хаотических систем и экономия энергии при беспроводной связи. Наука, 304 (5667), 78–80.
  4. Маасс, В., Натшлегер, Т., и Маркрам, Х. (2002). Вычисления в реальном времени без стабильных состояний: новая структура для нейронных вычислений на основе возмущений. Нейронные вычисления, 14 (11), 2531–2560. Https://doi.org/10.1162/089976602760407955
  5. Росслер, О. Э. (1979). Уравнение гиперхаоса. Physics Letters A, 71 (2), 155–157. Https://doi.org/https://doi.org/10.1016/0375-9601(79)90150-6
  6. Курамото, Ю. (1978). Вызванный диффузией хаос в реакционных системах. Приложение Прогресс теоретической физики, 64, 346–367. Https://doi.org/10.1143/PTPS.64.346
  7. Сивашинский, Г. И. (1977). Нелинейный анализ гидродинамической неустойчивости в ламинарном пламени - I. Вывод основных уравнений. Acta Astronautica, 4 (11), 1177–1206. Https://doi.org/https://doi.org/10.1016/0094-5765(77)90096-0
  8. Лоренц, Э. Н. (1963). Детерминированный непериодический поток. Журнал атмосферных наук, 20 (2), 130–141.
  9. Иззет Б. Йилдиз, И. Б., Джегер, Х., и Кибель, С. Дж. (2012). Повторное посещение государственной собственности "Эхо". Нейронные сети, том 35, 2012 г., страницы 1–9. Https://doi.org/10.1016/j.neunet.2012.07.005.

Первоначально опубликовано на https://nadertg.github.io/MechanicsData/