Time-frequency loss для speech enhancement: чистить важные для фонем зоны
Эта работа берет очень DSP-интуитивную проблему: обычный SDR-loss в speech enhancement относится ко всем time-frequency bins почти одинаково, хотя для разборчивости речи разные спектральные зоны имеют разный вес. Взрывной согласный, шумовая фрикатива и стабильная гласная требуют разной чувствительности к speech-noise competition и transient cues.
Идея loss-а
Авторы предлагают TF weighting framework поверх SDR objective. Вес каждого участка зависит от трех факторов: local speech presence, speech-to-interference ratio и spectral flux. Первый отвечает за наличие речи, второй — за конкуренцию речи и помехи, третий поднимает transient regions, где живут consonant bursts и быстрые спектральные изменения.
Иначе говоря, модель учится не просто делать сигнал “глобально ближе” к clean target, а тратить capacity на bins, которые реально помогают восстановить фонемный контраст. Это особенно актуально для hearing-aid, meeting enhancement и ASR front-end, где фонемная разборчивость важнее красивого среднего SDR.
Эксперименты
- Training/validation следуют протоколу Monir et al.: LibriSpeech clean speech, speech-shaped noise и ecological noise из Disconoise, RIR через Pyroomacoustics, 4-channel binaural hearing-aid microphone configuration.
- Evaluation идет на white noise (WN) и speech-shaped noise (SSN), с input SIR от -8 до 8 dB.
- Сравниваются обычный loss L_T и варианты с logSIR, learnable weights, SIR*SP и SIR*SP*SF.
Что получилось
На utterance-level метриках SIR*SP*SF дает лучший SIR и frequency-weighted SIR. Для WN SIR растет до 17.2 против 13.3 у baseline L_T, FW-SIR — до 8.4 против 5.1, FW-SDR — до 5.2 против 4.7. STOI остается на уровне 0.64, то есть прирост в частотно-взвешенных метриках не покупается очевидной потерей intelligibility proxy.
На phoneme categories эффект особенно понятен. Для consonants под WN phoneme accuracy растет с 34.0 до 36.1; под SSN — с 43.6 до 45.5. Для vowels под WN PA растет с 43.7 до 45.5, под SSN — с 46.4 до 47.9. Это небольшие, но направленные улучшения именно там, где SDR-loss обычно слишком груб.
Практический вывод
Работа хороша тем, что не предлагает “еще одну огромную модель”, а меняет критерий обучения. Для speech enhancement перед ASR или слуховыми устройствами это правильный угол атаки: оптимизировать не только общую энергию ошибки, но и фонемно важные TF-структуры. Такой loss можно попробовать как plug-in к уже существующим denoising/enhancement моделям.
Фишка из статьи. В статье про TF-weighted loss весовая маска строится не абстрактно, а из трех аудио-смыслов: где есть речь, где локально плохой SIR и где высок spectral flux. Итоговый вес имеет вид w(f,t)=gSIR·gSP·(1+k·σ(SF(t))), где k=0.2.
| Условие | Loss | SIR | FW-SIR | FW-SDR | Phoneme accuracy |
|---|---|---|---|---|---|
| Consonants, WN | LT | 12.8 | 6.5 | - | 34.0 |
| Consonants, WN | LSIR·SP·SF | 16.1 | 9.7 | - | 36.1 |
| Consonants, SSN | LT | - | - | - | 43.6 |
| Consonants, SSN | LSIR·SP·SF | - | - | - | 45.5 |
| Vowels, WN | LT | 14.4 | 11.4 | - | 43.7 |
| Vowels, WN | LSIR·SP·SF | 17.8 | 14.8 | - | 45.5 |
| Vowels, SSN | LT | 13.8 | 12.5 | 7.6 | 46.4 |
| Vowels, SSN | LSIR·SP·SF | 15.1 | 13.8 | 8.4 | 47.9 |
Сетап тоже важен: LibriSpeech clean смешивается с SSN и Disconoise, используются RIR из Pyroomacoustics и measured Binaurec, target стоит на 0°, masker на 45°, а separator - FaSNet в binaural hearing-aid конфигурации. То есть loss проверяется не только как метрика, но и как суррогат для фонемной разборчивости.