На днях учёные из Фейсбука опубликовали статью про распознавание речи без учителя. То есть: чтобы обучить модель транскрибировать речь в текст, их методу нужно только много аудиозаписей речи (без аннотаций) и много текста, никак не привязанного к этой речи. И ещё тулза, конвертирующая текст в фонетическую запись. Закинув всё это в волшебный чёрный ящик, получают 94% верно распознанных фонем для английского (на уровне supervised SOTA 2017 года), и 85% - для малоресурсных языков типа татарского и киргизского. Как это работает?
Хитрость 1. Модель wav2vec 2.0, которая работает примерно как BERT для аудио. Запись нарезается на кусочки по 25 миллисекунд, одна модель (свёрточная) вычисляет их векторные представления, другая относит каждый кусочек к одной из возможных групп, а третья (трансформер) пытается предсказать выбранную группу по контексту (соседним кусочкам). Представления, выученные трансформером, оказываются полезными для дальнейшей расшифровки речи.
Хитрость 2. Переход к более длинным кусочкам. Над 25-миллисекундными сегментами делают обычную k-means кластеризацию, и соседние сегменты, оказавшиеся в одном кластере, склеивают в большие куски - потенциальные фонемы. Представление каждого куска считают как средний вектор всех кусочков в её составе, сжатый с помощь обычного же PCA в более короткий вектор.
Хитрость 3: GAN на фонемах. Одна свёрточная нейросеть (генератор) принимает на вход последовательность закодированных кусков аудио, а выдаёт последовательность фонем. Сначала она, конечно, не знает, какие фонемы выдавать, и предсказывает всякий трэш. Но вторая свёрточная сеть (дискриминатор) учится отличать этот трэш от нормальных текстов, сконвертированных в фонемы - и сначала делает это успешно. Но задача генератора - выдавать такие тексты, которые дискриминатор принимает за реальные, и обучаясь этому, он "нечаянно" начинает использовать свои входные данные (представления речи) и расшифровывать текст из них. Обучается эта сладкая парочка 12 часов на одной видеокарте.
Не знаю, велика ли прикладная ценность у этого подхода, но сам факт, что можно обучить модель для распознавания речи, не имея аннотаций - приколен.
Подробности можно почитать в постах FAIR: https://ai.facebook.com/blog/wav2vec-unsupervised-speech-recognition-without-supervision
https://ai.facebook.com/blog/wav2vec-20-learning-the-structure-of-speech-from-raw-audio
Post #250
973