μNet: Ultra-Low-Memory and Low-Complexity Speech Enhancement for Embedded Digital Signal Processors
μNet интересна не новой рекордной метрикой, а редким одновременным выполнением четырёх аппаратных ограничений: 90 КБ постоянной памяти, 28 MMAC, целочисленные операции int8 и задержка вплоть до 4 мс. Архитектура действительно запущена в реальном времени на бытовом DSP. При этом статья полезно показывает границу компромисса: минимальная задержка формально работает, но субъективное качество падает гораздо сильнее, чем подсказывают отдельные объективные показатели.
Метод. Двухступенчатая сеть развивает ULCNet. Сначала перестановка частотных признаков собирает два низкочастотных поддиапазона и шесть разреженных выборок по 43 ячейки; четыре обычные свёртки выбраны вместо разделимых, потому что они лучше загружают целочисленный DSP. Два поддиапазона проходят через один общий GRU на 64 состояния, а общая линейная проекция с перекрывающимися участками строит маску модуля. Вторая небольшая свёрточная ступень оценивает комплексную маску и корректирует фазу. После обработки пользователь может вернуть часть остаточного шума, явно выбирая баланс между подавлением и искажением речи.
Результаты. У модели 46 тыс. параметров и 28 MMAC; на Cadence Tensilica HiFi 4 в NXP RT685 реальный масштаб времени требует около 70 МГц. На нереверберирующем тесте DNS при 16 мс плавающая и int8-версии дают прибавку PESQ 0,35 и 0,40, SI-SDR - 3,59 и 3,55 дБ. При 4 мс плавающая версия сохраняет +0,21 PESQ и +2,52 дБ SI-SDR, но int8 остаётся лишь с +0,10 и +0,50 дБ. В первом прослушивании μNet получает среднюю MUSHRA 77,78 против 74,24 у GTCRN, хотя GTCRN лучше по SI-SDR.
Ограничения. Объективная проверка ограничена 16 кГц, нереверберирующим DNS и синтетическими смесями из примерно 1000 часов. В каждом прослушивании всего 10 слушателей и 10 примеров. Заявленные 90 КБ не включают зависящую от платформы динамическую рабочую память. Приведена требуемая частота DSP, но нет энергопотребления, загрузки памяти во время работы и сравнения времени на нескольких устройствах. Ключевые решения защищены патентными заявками, а int8 при 4 мс требует дообучения с учётом квантования.
Фишка из статьи. Таблица задержки выявляет скрытый обрыв качества после квантования. При 16 мс int8 почти бесплатен, но более частое обновление состояния GRU при 4 мс накапливает ошибку, и прирост SI-SDR уменьшается примерно в пять раз относительно плавающей модели.
| Задержка | ΔPESQ float32 | ΔSI-SDR float32 | ΔPESQ int8 | ΔSI-SDR int8 | MUSHRA float32 |
|---|---|---|---|---|---|
| 16 мс | +0,35 | +3,59 дБ | +0,40 | +3,55 дБ | 72,44 |
| 8 мс | +0,34 | +3,09 дБ | +0,24 | +2,31 дБ | 69,20 |
| 4 мс | +0,21 | +2,52 дБ | +0,10 | +0,50 дБ | 57,87 |
Как это читать: надпись «поддерживает 4 мс» технически верна, но для продукта разумной исходной точкой выглядят 8-16 мс. В этом диапазоне сохраняются и целочисленная точность, и предпочтение слушателей; 4 мс стоит выбирать только там, где акустическая обратная связь важнее заметного падения качества.