Scaling Transformers for Low-Bitrate High-Quality Speech Coding

Мечта многих — заменить олдскул в аудиокодеках на нормальный трансформер. У авторов это, наконец, получилось, хоть и не сразу. Они обнаружили, что «трансформер в лоб» не работает — и пошли разбираться почему. На постере причину не написали, но мы спросили — ведь ML-аудитории важны не только архитектура и таблички с метриками.

Так вот. Если обучить трансформерный кодек и проверить его через adversarial-атаку на дискриминатор, можно увидеть: искажения группируются по границам STFT-патчей, которые мы снимаем с wave-формы. Это значит, что трансформеры умеют подстраиваться под дискриминатор, ломая wave-форму в правильных узких областях. А эти узкие места всегда повторяются из-за регулярности периодичности.

Можно заметить, что сейчас мода на дискриминаторы с периодикой по простым числам. Авторы действуют нестандартно: используют дискриминаторы не по числам, а по золотому сечению. Говорят, что просто перебирали разные периодичности и пришли к этому решению. (Ссылку на работу Луки Пачоли дать забыли).

Ещё одна находка: моменты тишины убивают LayerNorm-статистики, поэтому сеть учится их игнорировать. Выход простой: значительно увеличивать эпсилон в формуле.

В остальном — авторы честно признались, что использовали FSQ, потому что это модно, а размер кодбука был спущен сверху продуктово.

В целом это всё напоминает статью Zoom с Interspeech, где использовали достаточно большой дискриминатор — и без просадок в инференсе получили буст качества.

Степан Комков специально для Speech Info

#YaICLR