Временные ряды

1D CNN for Time Series

Свёртки для временных рядов

актуальноТекущий рабочий стандарт

Направления: Глубокое обучение · Свёрточные сети, Прикладные направления · Временные ряды

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

Ключевые тезисы

  • Фильтр ищет паттерн (скачок, ступеньку, пик) в любом месте окна — свойство трансляционной инвариантности.
  • Общие веса делают сеть на порядок компактнее полносвязной на том же окне: параметров десятки, а не десятки тысяч.
  • Несколько каналов на входе — естественный способ подать сразу все датчики установки.

Подробный разбор

1 подтема — объяснения, формулы, примеры и интерактивные графики.

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

Полносвязный слой1D-свёртка
Параметров на 512 → 64 канала≈ 33 000 на нейронядро 5 × число каналов
Инвариантность к сдвигунетесть по построению
Многоканальный входконкатенация, всё смешиваетсяестественно: канал на датчик
# вход: (batch, каналы=датчики, время)
net = nn.Sequential(
    nn.Conv1d(n_sensors, 64, kernel_size=5, padding=2), nn.ReLU(),
    nn.Conv1d(64, 64, kernel_size=5, padding=2), nn.ReLU(),
    nn.AdaptiveAvgPool1d(1), nn.Flatten(),
    nn.Linear(64, 1),
)
На практике

видят только своё рецептивное поле. Если важна зависимость на сотни отсчётов назад, одного-двух слоёв мало — нужен с расширением (TCN) или .

Связанные темы

Свёртки и физика в рядах

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

Глава «Временные ряды» последний раз правилась . Нашли ошибку — напишите.