XAI для прогнозирования: базовое расширение

NBEATS и другие интерпретируемые модели глубокого прогнозирования

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

В последние годы прогнозисты обратились к глубокому обучению и получили многообещающие результаты с помощью таких моделей, как сети с долговременной кратковременной памятью (LSTM) и сети временной свертки (CNN), демонстрирующие большой потенциал. До 2019 года основным подходом к проблеме прогнозирования было сочетание традиционных статистических методов (таких как ARIMA) с глубоким обучением [1]. Однако в 2020 году прогностическая литература оторвалась от этого и разошлась в двух разных направлениях.

Первое направление предполагает разработку средств использования механизма внимания и архитектуры преобразователя для прогнозирования. Этот подход был впервые применен с введением LogSparse Transformer Li et. al [5], которые скорректировали традиционный механизм внутреннего внимания, используемый в задачах НЛП, чтобы сделать его более чувствительным к местности и использовать меньше памяти [5]. Позже эта работа была расширена и улучшена такими моделями, как Autoformer [6], Informer [7], FEDFormer [8] и другими. Это процветающая область, но недавняя работа поставила этот подход под сомнение. Цзэн и др. Недавно он поставил под сомнение эффективность механизма внутреннего внимания для задачи прогнозирования и провел ряд экспериментов, чтобы показать, что механизмы внимания могут быть бесполезны для временных репрезентаций [9] (резюме этих экспериментов можно найти в этой статье). статья"). Кроме того, этот подход также немного отстает с точки зрения объяснимого ИИ (XAI). Хотя все эти модели имеют механизмы внимания, которые можно визуализировать, многие ученые утверждают, что это может быть необъяснимо, и это активное поле для дискуссий. Денис Воротынцев написал отличную статью, подытоживающую дискуссию, и я настоятельно рекомендую ознакомиться с его статьей [10].

В отличие от подхода преобразователей, основанного на внимании, другим основным направлением решения проблемы прогнозирования является подход анализа расширения нейронной базы, впервые предложенный Орешкиным и др. al [1] в 2020 году с архитектурой N-BEATS. Эта методология включает использование нескольких стеков глубоких полностью связанных сетей для итеративного построения прогноза. Вместо прямого прогнозирования временных рядов сети в каждом стеке вместо этого предсказывают веса базиса. Эта архитектура позволяет пользователям указывать компоненты временных рядов, которые они хотят извлечь, а реконструктивный характер прогноза добавляет дополнительный уровень интерпретируемости.

В этой статье я стремлюсь обобщить все механизмы, лежащие в основе архитектуры базового анализа, а также продемонстрировать улучшения в подходе к расширению базиса по сравнению с исходной статьей N-BEATS. В частности, я хочу рассказать о том, как работает N-BEATS [1], и о двух улучшениях NBEATS: N-HiTS [2] и DEPTS [4].

N-УДАРОВ

N-BEATS расшифровывается как Neural Basis Expansion Aанализ для T ime S и является исходной моделью для базовой архитектуры расширения. Из-за этого мы потратим немного больше времени на объяснение этой архитектуры по сравнению с другими.

При разработке N-BEATS цель автора состояла в том, чтобы продемонстрировать возможности глубокого обучения путем создания модели прогнозирования, которая не использовала какие-либо статистические концепции, такие как оценка максимального правдоподобия или традиционные авторегрессионные модели (например, ARIMA), но все же обеспечивала некоторый уровень интерпретируемости. что обеспечивают традиционные подходы временных рядов [1]. Стремясь к этим качествам, Орешкин и др. al не только достигли своих целей, но и доказали, что их модель может работать лучше, чем самые современные в то время. Вот некоторые качества N-BEATS, которые делают ее сильной моделью:

  1. Отличная производительность: в наборе данных M4 (наборе данных, содержащем 100 000 различных временных рядов) N-BEATS смог превзойти самого результативного в то время ES-RNN [11] в среднем на 3%.
  2. Прогнозирование больших и многозонных горизонтов: методы, которые N-BEATS использует для создания своих прогнозов, могут выполнять прямое многоэтапное прогнозирование, избегая проблем смещения прогноза, вызванных итеративным созданием прогнозов (передача прогнозов обратно в модель).
  3. Относительно быстрое обучение: по сравнению со своими аналогами Transformer, N-BEATS содержит только стеки MLP и не имеет рекуррентных сетей в своей архитектуре, что значительно упрощает обучение.
  4. Интерпретируемость: при использовании интерпретируемой версии N-BEATS (N-BEATSi) пользователи могут видеть четкую разбивку компонентов временного ряда, таких как тенденция и сезонность. другие наборы данных временных рядов с поразительным успехом.

Для достижения всех этих целей N-BEATS использует несколько умных архитектурных компонентов и приемов.

Блоки и основа

Блок, пожалуй, самая важная часть архитектуры N-BEATS.

Как показано синим цветом на рис. 1 выше, блок содержит 1 полностью подключенный сетевой стек, который передает свой вывод на 2 различных линейных слоя. Мы можем думать о полностью связанных слоях как о создании кодировки ввода. Затем два линейных слоя принимают это кодирование и проецируют его на 2 набора весов: один набор для основы прогноза и один для основы ретроспективного анализа. Математически набор операций можно описать следующим образом (это 4-х слойная полносвязная сеть):

Здесь x_l — это входные данные для l-го блока, а тета — это базовые веса.

Основа

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

Общая архитектура следует этому точному определению:

Где y — часть временного ряда, предсказанная блоком 1. Конечный результат — это просто взвешенная сумма набора базисных векторов, определенных пользователем или заданных в качестве обучаемого параметра. Однако эта версия основы не поддается интерпретации и не пытается явно зафиксировать определенные компоненты временного ряда. Однако действительно легко изменить N-BEATS, сделав его более интерпретируемой версией, изменив используемые базовые уравнения. Авторы называют эту новую конфигурацию N-BEATSi [1].

Первая интерпретируемая основа – это основа тренда. Это меняет основу на серию полиномов малой мощности (например, at+bt²+ct³), и наша сеть предсказывает веса для каждого члена полинома.

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

В конце концов, сеть эффективно предоставляет нам уравнение регрессии для нашего временного ряда, позволяя пользователю понять точную работу временного ряда [1].

Обзоры и прогнозы

Каждый блок не только выдает прогноз, но и выдает «бэккасты» — прогноз входного окна. Бэккаст можно рассматривать как механизм фильтрации. Когда блок создает прогноз, производимый им ретроспективный анализ является компонентом временного ряда, который уже был проанализирован и не должен быть захвачен последующими блоками, поскольку текущий блок уже захватил эту информацию [1].

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

Двойная остаточная укладка

N-BEATS состоит не просто из 1 блока, а из нескольких блоков, связанных вместе, каждый из которых интерпретирует сигнал временного ряда. Ключевым механизмом, обеспечивающим такое поведение, является двойное остаточное наложение. Проще говоря: ввод текущего блока эквивалентен вводу предыдущего блока за вычетом обратного преобразования предыдущего блока. Кроме того, окончательный прогноз представляет собой сумму всех прогнозов по всем блокам [1].

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

Стеки

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

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

Ковариаты

В то время как исходная архитектура N-BEATS работала только с одномерными временными рядами, Challu et. al [3] ввел методы, позволяющие учитывать ковариаты.

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

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

ОТДЕЛЫ

DEPTS означает Deep Expansion Learning для Pperiodic Timetime Seriesпрогнозирование F, и, как следует из названия, это усовершенствование NBEATS, которое направлено на обновление возможностей периодического/сезонного прогнозирования исходной модели [4]. В частности, DEPTS изменяет функциональные возможности NBEATS двумя способами:

  1. В то время как NBEATS/NBEATSi может обрабатывать периодичность через базис Фурье, этот метод изо всех сил пытается принять во внимание более широкое периодическое поведение, выходящее за пределы нашего окна ретроспективного анализа, с чем DEPTS лучше справляется [4].
  2. NBEATS/NBEATSi может учитывать только аддитивную сезонность (поскольку он строит прогнозы аддитивно. DEPTS также может обрабатывать мультипликативные сезонные факторы [4].

Модуль периодичности и периодический контекст

Первый механизм, который DEPTS использует для достижения двух описанных выше функций, — это специальный модуль периодичности, который принимает временные шаги как для окна ретроспективного анализа, так и для горизонта прогноза и генерирует вектор контекста сезонности, определяемый косинусным рядом [4]:

В этом модуле A, F и P являются обучаемыми параметрами. Позволяя сети изучать эти параметры и делиться ими с другими прогнозами, модель может напрямую изучать глобальные периодические закономерности вместо повторного вывода закономерностей на основе входных данных, как это должна делать модель NBEATS [4].

Однако один сложный момент в этом процессе обучения заключается в том, что при попытке изучить A, F и P модель может легко застрять в местных условиях. минимумы. Чтобы обойти это, выполняется предварительная оптимизация для инициализации значений параметров. Примечание: в этом уравнении phi представляет собой набор обучаемых параметров, а M — двоичный вектор, который умножается на каждый член в функции-генераторе (1, если выбран термин , 0 иначе) [4]:

Проще говоря, перед обучением сети выполните предварительную подгонку параметров обучающего набора, затем выберите J лучшие частоты (пользователь выбирает J). Чтобы избежать решения задачи оптимизации целиком, авторы предлагают выполнять дискретное косинусное преобразование и выбирать члены J с наибольшими амплитудами [4].

Блок периодичности и остатки периодичности

Вся цель модуля периодичности состоит в том, чтобы сгенерировать начальный периодический вектор контекста z. Эти векторы контекста передаются в периодические блоки [4]:

Проще говоря, периодический блок принимает вектор периодического контекста (который фактически является сезонными компонентами временного ряда) и пропускает его через очень маленькую подсеть, создавая ретроспективный прогноз и прогноз, как в традиционном блоке NBEATS. Это берет аддитивные сезонные факторы, которые обрабатывает модуль периодичности, и обрабатывает их для работы с нелинейными сезонными факторами[4].

Как используются эти периодические ретроспективные прогнозы и прогнозы? Погружение ближе к слою DEPTS дает нам больше информации о том, что происходит. Обратите внимание, что на этом рисунке x — это целевой ряд [4]:

После того, как модель сгенерирует ретроспективный вектор прогноза и прогноз, ретроспективный прогноз затем вычитается из входных данных локального блока, а прогноз добавляется к общему прогнозу модели. Локальный блок аналогичен блоку в NBEATS, выполняет те же операции и использует тот же механизм двойного остаточного стекирования. DEPTS также использует механизм двойного остаточного наложения для вектора контекста, и мы удаляем объясненные сезонные факторы из вектора периодического контекста, а также из выходных данных локального блока и вектора периодического контекста, которые передаются на следующий уровень [4].

Все эти механизмы вместе взятые делают DEPTS монстром периодического прогнозирования [4].

Интерпретируемость

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

N-HiTS

Вторым важным усовершенствованием NBEATS является N-HiTS или Neural Hиерархическая Iинтерполяция для временныхвременных рядов Прогнозирование [2]. В то время как DEPTS представила специальные механизмы периодического прогнозирования, N-HiTS фокусируется на лучшей структуризации процесса агрегирования прогнозов и предлагает два основных преимущества:

  1. Благодаря иерархическому методу агрегирования прогнозов N-HiTS в большинстве случаев лучше идентифицирует и извлекает сигналы, чем N-BEATS [2].
  2. Благодаря механизмам интерполяции использование памяти N-HiTS на порядок меньше, чем у NBEATS, что еще больше упрощает обучение [2].

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

Многоскоростная выборка сигнала

Первым основным механизмом является многоскоростная выборка сигнала. Это чрезвычайно просто (что делает его еще более красивым): добавьте слой MaxPool в начале каждого блока, который предварительно обрабатывает ввод блока и эффективно сглаживает его [2]. Почему это полезно? Что ж, мыможем варьировать размер ядра слоев MaxPool в каждом из блоков и эффективно фиксировать различные величины размеров сигналов [2]. Кроме того, MaxPool также делает модель менее восприимчивой к шуму из-за к сглаживанию, которое он обеспечивает, и сам по себе является мощным, но простым инструментом [2].

Интерполяция

Многоскоростная выборка является мощной, но она работает еще лучше в сочетании с механизмом интерполяции.

Возвращаясь к исходной общей блочной архитектуре N-BEATS, каждый блок генерирует 2 набора весов, набор ретроспективных данных и набор прогнозов. Обычно количество сгенерированных весов равно длине окна L (для ретроспективного прогноза) или длине горизонта H (для прогноза) [1] . Однако у этого подхода есть несколько проблем. Во-первых, прогнозирование всех весов может привести к тому, что сгенерированные прогнозы будут более изменчивыми и зашумленными [2]. Кроме того, для больших горизонтов это может привести к чрезвычайно высокому использованию памяти [2].

Вместо этого N-HiTS решила применить интерполяцию, где количество прогнозируемых параметров вместо этого было равно r*Hr*L для ретроспективного прогноза), где r — коэффициент выразительности. [2]. Чем выше коэффициент экспрессивности, тем больше прогнозируемых параметров. Затем можно восполнить недостающие веса любым методом интерполяции. Авторы тестируют линейную интерполяцию, интерполяцию ближайшего соседа и кубическую интерполяцию, но также могут использоваться любые пользовательские методы.

Благодаря прогнозированию лишь нескольких весов использование памяти N-HiTS чрезвычайно мало по сравнению с N-BEATS, что делает ее гораздо более легкой моделью.

ПРИМЕЧАНИЕ. Насколько мне известно, авторы не предоставили механизмов интерполяции для интерпретируемых базовых функций, поэтому N-HiTS ограничен общим базисом.

Иерархическая интерполяция

Затем авторы комбинируют эту весовую интерполяцию, а также упомянутую выше многоскоростную выборку сигнала, чтобы создать механизм иерархической интерполяции. В при иерархической интерполяции как коэффициент выразительности, так и размер ядра MaxPool блоков изменяются обратно пропорционально блокам[2]. Любой блок с высоким коэффициентом выразительности также использует небольшой размер ядра. Любой блок с низким коэффициентом выразительности использует большой размер ядра. Именно синхронизация этих двух параметров позволяет N-HiTS захватывать сигналы разной амплитуды, как показано на рисунке ниже [2]:

Интуитивно это также имеет смысл: если к функции применяется агрессивное сглаживание (также известное как MaxPool с большим размером ядра), требуется меньше параметров для захвата поведения ввода, и наоборот.

Иерархическая интерполяция также обеспечивает большую интерпретируемость общей формы NBEATS. Пользователи могут просмотреть выходные данные стека и понять, какой из них моделирует более крупные шаблоны, а какой пытается зафиксировать небольшой шум. Хотя N-HiTS не может использовать интерпретируемые базовые уравнения, можно привести аргумент, что N-HiTS не нуждается в них, чтобы их можно было интерпретировать.

Заключение

Когда вышел N-BEATS, он изменил пространство глубокого прогнозирования и породил новую ветвь прогнозирования. Внезапно мы смогли получать очень точные прогнозы из относительно простой модели, которую можно было обучить от начала до конца. Затем N-HiTS и DEPTS смогли развить NBEATS и добавить еще больше функциональных возможностей, улучшающих определенные аспекты методов расширения базы. Важно отметить, что иерархическая интерполяция N-HiTS и модули/блоки/контекстные векторы периодичности DEPTS также могут использоваться вместе, создавая еще более мощную модель.

Есть также некоторая работа по обращению внимания на эти методы расширения базы, в основном модель DeepFS, разработанная Jiang et. al [12], который использует уровень внимания (адаптированный из [7]) для генерации кодирования, а затем передает это кодирование в модуль, напоминающий периодический блок N-BEATS, а также в стек прямой связи. Хотя это можно считать улучшением, я не включил полное подробное описание этой модели в эту статью, поскольку польза от внимания к прогнозированию временных рядов все еще обсуждается, как показано в [9].

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

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

Ресурсы и ссылки

Ресурсы и ссылки

  1. N-BEATS и N-HiTS можно использовать через Darts и Pytorch Forecasting, два высококачественных пакета прогнозирования для Python.
  2. Исходный код для DEPTS
  3. Исходный код для N-HiTS
  4. Исходный код для NBEATSx
  5. Исходный код для NBEATS

Рекомендации

[1] Б.Н. Орешкин, Д.Карпов, Н.Чападос, Ю.Бенжио. N-BEATS: Анализ расширения нейронной базы для прогнозирования интерпретируемых временных рядов (2020). Восьмая международная конференция по обучающим представлениям.

[2] К. Чалу, К.Г. Оливарес, Б.Н. Орешкин, Ф. Гарза, М. Мергенталер-Кансеко, А. Дубравски. N-HiTS: нейронная иерархическая интерполяция для прогнозирования временных рядов (2022). Тридцать седьмая конференция AAAI по искусственному интеллекту

[3] К.Г. Оливарес, К. Чаллу, Г. Марчаш, Р. Верон, А. Дубравски. Анализ расширения нейронной базы с экзогенными переменными: прогнозирование цен на электроэнергию с помощью NBEATSx (2023). Международный журнал прогнозирования.

[4] В. Фан, С. Чжэн, С. Йи, В. Цао, Ю. Фу, Дж. Биан, Т-Ю. Лю. DEPTS: Глубокое расширение обучения для периодического прогнозирования временных рядов (2022). Десятая международная конференция по обучающим представлениям.

[5] С. Ли, С. Цзинь, Ю. Сюань, С. Чжоу, В. Чен, Ю. Ван, С. Ян. Повышение локальности и устранение узких мест в памяти преобразователя при прогнозировании временных рядов (2019). Достижения в системах обработки нейронной информации 32.

[6] Х. Ву, Дж. Сюй, Дж. Ван, М. Лонг. Автоформер: преобразователи декомпозиции с автокорреляцией для долгосрочного прогнозирования рядов (2021). Достижения в области нейронных систем обработки информации 34.

[7] Х. Чжоу, С. Чжан, Дж. Пэн, С. Чжан, Дж. Ли, Х. Сюн, В. Чжан. Информер: сверхэффективный преобразователь для прогнозирования длинных последовательностей временных рядов (2021). Тридцать пятая конференция AAAI по искусственному интеллекту, виртуальная конференция.

[8] T. Zhou, Z. Ma, Q. Wen, X. Wang, L. Sun, R. Jin. FEDformer: Преобразователь с разложением по частоте для долгосрочного прогнозирования рядов (2022). 39-я Международная конференция по машинному обучению.

[9] А. Цзэн, М. Чен, Л. Чжан, К. Сюй. Эффективны ли трансформаторы для прогнозирования временных рядов? (2022). Тридцать седьмая конференция AAAI по искусственному интеллекту.

[10] Д. Воротынцев. Является ли внимание объяснением? (2022). На пути к науке о данных.

[12] С. Цзян, Т. Сайед, X. Жи, Дж. Леви, Б. Арончик, Ю. Сун. Соединяя самоанализ и декомпозицию временных рядов для периодического прогнозирования (2022). 31-я Международная конференция ACM по управлению информацией и знаниями

[11] С. Смил, Дж. Ранганатан, А. Паскуа. Конкурс прогнозов M4: Представляем новую гибридную модель ES-RNN (2018). Убер Исследования