AI-music detection: log-STFT против speed-change атак
Статья про детекцию ИИ-музыки полезна для речевых и аудио-задач как пример частотно-временного признака, где устойчивость задается архитектурно. Обычные детекторы спектральных артефактов хорошо работают на исходных треках, но ломаются от простого изменения скорости: пики артефактов сдвигаются по частоте. Авторы переводят усредненный STFT на логарифмическую частотную ось, где frequency scaling превращается в сдвиг, и затем ищут этот сдвиг learned cross-correlation filter.
Метод. Аудио переводится в STFT, усредняется по времени, интерполируется на log-frequency сетку и очищается от гладкой lower-hull baseline, чтобы оставить fakeprint - пики артефактов генератора. Детектор состоит из нормализации, одной 1D-свертки как cross-correlation с learned filter и max pooling, который дает инвариантность к сдвигу. Обучение совмещает BCE для бинарной детекции и CE loss для lag, то есть для локализации примененного speed factor.
Результаты. На чистом Suno v5 метод совпадает с сильным baseline: AUC 1.000 и F1 0.998. При атаке speed modification baseline Afchar et al. в режиме Attack/Attack падает до AUC 0.817 и F1 0.675, а предложенный метод держит AUC 0.997 и F1 0.986. Даже если обучать только на чистых треках и тестировать на speed attack, метод на Suno v5 сохраняет AUC 0.986; оценка speed-change factor достигает MAE 4e-4.
Ограничения. Инвариантность построена под один класс преобразований - frequency scaling от изменения скорости. Pitch shifting через phase vocoder уже показывает пределы подхода, потому что включает time-stretching, а equalization, dynamic range compression и codec compression остаются вне проверки. Кроме того, работа про музыку, а не про речь, поэтому перенос на детекцию синтетического голоса требует отдельной проверки артефактов и атак.
Фишка из статьи. Самый сильный результат - не near-perfect accuracy на чистом аудио, а разница под speed-change атакой. Логарифмическая частотная ось превращает атаку в обычный сдвиг признака.
| Train/Test на Suno v5 | Модель | AUC | F1 | Precision |
|---|---|---|---|---|
| Clean/Clean | Afchar et al. | 1.000 | 0.998 | 0.999 |
| Clean/Clean | Our Method | 1.000 | 0.998 | 0.999 |
| Clean/Attack | Afchar et al. | 0.745 | 0.008 | 0.400 |
| Clean/Attack | Our Method | 0.986 | 0.732 | 0.993 |
| Attack/Attack | Afchar et al. | 0.817 | 0.675 | 0.768 |
| Attack/Attack | Our Method | 0.997 | 0.986 | 0.989 |
Как это читать: чистый тест почти ничего не говорит об устойчивости детектора. Важная строка - Clean/Attack: модель видела только исходные треки, но благодаря log-STFT сохраняет высокую AUC, тогда как линейно-частотный baseline почти перестает находить positives.