Оконное преобразование Фурье

Материал из MachineLearning.

Версия от 01:42, 19 июля 2026; Nikita Elкhin (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья написана с использованием LLM DeepSeek-V3-0324 и проверена участником Nikita Elкhin 19:29, 18 июля 2026 (MSD)


Оконное преобразование Фурье (англ. windowed Fourier transform, short-time Fourier transform, STFT) — это разновидность преобразования Фурье, предназначенная для анализа нестационарных сигналов, спектральный состав которых изменяется во времени. В современном машинном обучении STFT выступает не только как инструмент анализа, но и как ключевой компонент пайплайнов обработки данных, позволяя эффективно представлять одномерные временные ряды в форме, пригодной для обучения моделей.

Содержание

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

Пусть x(t) \in L_2(\mathbb{R}) — анализируемый сигнал, а w(t)оконная функция (весовая функция), обладающая хорошей локализацией как во временной, так и в частотной областях. Тогда непрерывное оконное преобразование Фурье (НОПФ) определяется следующим образом[1]:

 X(\omega, b) = \int_{-\infty}^{\infty} x(t) \, w(t - b) \, e^{-i \omega t} \, dt, где:

b \in \mathbb{R} — параметр сдвига окна, определяющий его положение на временной оси;

\omega \in \mathbb{R} — угловая частота;

w(t - b) — оконная функция, сдвинутая в точку b.

Для дискретных сигналов x[n], n = 0, 1, \dots, L - 1, используется дискретное оконное преобразование Фурье (ДОПФ)[1]:

 X[k, m] = \sum_{n=0}^{L-1} x[n] \, w[n - m] \, e^{-i 2\pi k n / L}, где k — индекс частоты, m — индекс сдвига окна.

Спектрограмма — это квадрат модуля оконного преобразования Фурье:

 S(\omega, b) = |X(\omega, b)|^2.

Роль STFT в машинном обучении

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

Извлечение признаков

STFT служит мощным инструментом для извлечения признаков из нестационарных сигналов. В отличие от классического преобразования Фурье, STFT сохраняет временную локальность, что критично для многих прикладных задач[1]. Получаемое частотно-временное представление может быть использовано непосредственно как вектор признаков для классических алгоритмов, таких как SVM или случайный лес[1]. Для снижения высокой размерности применяются методы сжатия, например, автокодировщики[1].

Преобразование в изображения для глубокого обучения

Наиболее распространённый способ использования STFT — преобразование одномерных рядов в спектрограммы, которые подаются на вход свёрточным нейронным сетям[1]. Это позволяет задействовать мощные архитектуры компьютерного зрения для извлечения иерархических частотно-временных паттернов. Такой подход даёт высокую точность в задачах классификации звуков, диагностики оборудования и биомедицинского анализа[1][1].

Повышение эффективности рекуррентных сетей

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

Обучаемое представление

Традиционные параметры STFT (тип и длина окна, шаг сдвига) подбираются вручную. Однако предложена дифференцируемая формулировка STFT, которая позволяет оптимизировать эти параметры с помощью градиентного спуска совместно с весами модели[1]. Это устраняет необходимость в эвристическом подборе и повышает качество обучения.

Аугментация данных и интерпретируемость

Спектрограммы открывают новые возможности для аугментации (например, размытие в частотно-временной области[1]) и для построения интерпретаций решений моделей путём маскирования значимых областей спектрограммы.

Применение в конкретных задачах машинного обучения

STFT находит применение в широком спектре областей:

Промышленная диагностика — вибрационный и токовый анализ для обнаружения неисправностей электродвигателей и конструкций[1][1].

Биомедицина — анализ ЭЭГ, ЭКГ и фотоплетизмограмм для распознавания состояний (медитация, паника, эпилептические разряды)[1][1].

Аудио и речь — классификация звуков, распознавание речи и музыкальная информация, где часто используются мел-спектрограммы как вариант STFT[1].

Прогнозирование временных рядов — финансовые данные, энергопотребление и климатические показатели, где STFT помогает улавливать локальные периодичности[1].

Обработка 3D-данных — новейшие архитектуры (например, STFT-KAN) интегрируют STFT в нейронные сети для облаков точек, сокращая число параметров[1].

Выбор оконной функции и параметров

Выбор оконной функции w(t) и её параметров критически влияет на качество обучения модели. Согласно принципу неопределённости Гейзенберга (см. Преобразование Фурье), произведение эффективной длительности окна \Delta t и эффективной ширины его спектра \Delta \omega ограничено снизу:

 \Delta t \cdot \Delta \omega \geq \frac{1}{2}. Длинное окно даёт высокое частотное разрешение, но сглаживает быстрые изменения — подходит для стационарных компонент. Короткое окно даёт высокое временнóе разрешение, но снижает частотную точность — подходит для обнаружения кратковременных событий. В задачах машинного обучения оптимизация параметров часто выполняется эмпирически или с помощью дифференцируемого STFT[1]. На практике используются окна Ханна, Хэмминга и Гаусса.

Сравнение с альтернативными преобразованиями

Наряду со STFT в машинном обучении применяются:

Вейвлет-преобразование — обеспечивает переменное разрешение по частоте и времени, но сложнее в настройке;

Constant-Q Transform (CQT) — логарифмическая частотная шкала, полезна для музыки;

Mel-спектрограммы — шкала, приближённая к восприятию человека, часто даёт лучшие результаты в аудиозадачах.

STFT остаётся наиболее распространённым выбором благодаря простоте, вычислительной эффективности и обратимости, что делает его предпочтительным во многих пайплайнах машинного обучения.

Заключение

Оконное преобразование Фурье превратилось из классического инструмента цифровой обработки сигналов в фундаментальный строительный блок современных систем машинного обучения. Его способность преобразовывать нестационарные временные ряды в информативные частотно-временные представления делает его незаменимым для извлечения признаков, классификации, прогнозирования и генерации данных. Развитие дифференцируемых и обучаемых версий STFT открывает новые перспективы для совместной оптимизации преобразования и модели, что позволяет достигать высоких результатов в широком спектре прикладных задач.

См. также

Преобразование Фурье

Дискретное преобразование Фурье

Вейвлет-преобразование

Преобразование Габора

Спектрограмма

Оконная функция

Свёрточная нейронная сеть

Рекуррентная нейронная сеть

Анализ временных рядов

Литература

Личные инструменты