Журнал · Rit.work

Функция потерь заставляет модели временных рядов учиться на масштабе

ScaleIn убирает скрытый приоритет рядов с крупными значениями и повышает точность базовых моделей временных рядов заменой одной строки в обучающем пайплайне.

Rit.work
Студия разработки
7 октября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Масштаб временных рядов может незаметно менять, какие примеры модель считает важными: ряды с крупными значениями сильнее двигают параметры, даже если относительная ошибка одинакова. В препринте Carnegie Mellon University, Amazon и Nixtla, который не прошёл рецензирование и содержит замеры самих авторов, новый вариант обучения дал меньшую ошибку во всех 24 сочетаниях архитектуры и набора данных. Для существующего пайплайна исправление сводится к переносу функции потерь до обратного масштабирования.

Почему крупный ряд сильнее обновляет модель

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

Модель получает преобразованный контекст и выдаёт прогноз в том же масштабе. Распространённый вариант затем возвращает прогноз к исходным единицам и только после этого считает функцию потерь. Работа называет такую схему ScaleCon.

Именно обратное преобразование создаёт перекос. Если масштаб ряда равен b, градиент — сигнал, по которому оптимизатор обновляет параметры, — умножается на b для средней абсолютной и квантильной ошибки. Для средней квадратичной ошибки множитель равен b².

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

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

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

Где исчез перекос и насколько выросла точность

В синтетическом опыте с одинаковыми относительными ошибками средняя квадратичная функция потерь давала крупному ряду градиент примерно в 2700 раз больше. ScaleIn убрал эту разницу: примеры перестали получать приоритет только из-за единиц измерения.

При предварительном обучении нескольких архитектур ScaleIn снизил MASE на 18,8% в GIFT-Eval и на 21,9% в наборах соревнований M. MASE — это средняя абсолютная ошибка, разделённая на ошибку простого базового прогноза; меньшее значение означает более точную модель. Улучшение проявилось у всех проверенных архитектур.

В обычном обучении нейросетевых прогнозистов эффект оказался скромнее: ScaleIn выиграл по MASE в 16 из 20 сопоставлений архитектуры и набора данных. Проверка охватывала N-HiTS, N-BEATS, PatchTST, TCN и LSTM на M1, M3, M4 и Tourism. Это отделяет результат предварительного обучения TSFM от более привычного сценария, где модель обучают под конкретный набор.

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

Что менять в обучающем пайплайне

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

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

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

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

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

← Ко всем материалам
Понравилось? Обсудим вашу задачу