Перейти к содержанию

6.2.2.5 Прогресс и проблемы

Материал из Охота на электроовец: Большая Книга Искусственного Интеллекта

В 2000 г. лучшая система распознавания речи, существовавшая на тот момент, а именно CU-HTK[1], продемонстрировала на Hub5’00 значение WER, равное 25,4%[2], то есть примерно каждое четвёртое слово распознавалось неправильно. И всё это в условиях, когда тестовая выборка была составлена из разговоров, максимально приближённых по параметрам к обучающей выборке. При этом протокол тестирования, использованный NIST, был максимально «дружественным» для систем распознавания, например, ошибкой не считались несовпадения в написании слов, используемых для обозначения хезитации (uh, eh, mm, hm, huh и т. д.)[3], то есть различных эканий и беканий, которыми люди склонны заполнять неловкие паузы в разговоре. В общем, ситуация была весьма плачевной.

Задача распознавания речи отчасти похожа на задачу оптического распознавания текста. В 1960-х гг., как мы уже рассказывали, команда SRI решала задачу распознавания напечатанных на бумаге текстов программ на фортране и обнаружила, что не всегда можно наилучшим образом распознать слово, просто сложив лучшие гипотезы по поводу каждого из составляющих его символов. Ведь модель, распознающая отдельные символы, не знает ничего о закономерностях языка, выражение которого записано при помощи этих символов. С фонетической точки зрения речь можно также рассматривать как последовательность элементарных единиц, своеобразных звуковых символов. Их называют фонемами (от др.-греч. φώνημα — звук; фонема — минимальная смыслоразличительная единица языка, не имеющая самостоятельного лексического или грамматического значения). Точно так же лучшие гипотезы по поводу отдельных фонем в звуковом представлении произносимого слова необязательно гарантируют успешное угадывание слова в целом. Люди постоянно коверкают слова при произнесении их вслух. Отдельные звуки просто выпадают, другие обладают существенной степенью вариативности. Лингвисты придумали множество специальных терминов для обозначения подобных явлений.

Например, термином «элизия» (от лат. elisio — выдавливание, выталкивание) называют отпадение звука (гласного, согласного или даже целого слога) в слове или фразе с целью облегчения произношения для говорящего. Иногда звуки могут быть опущены с целью улучшения благозвучия. В русском языке «чтобы» часто превращается в [штоп], «уже» в [уш], «бы» в [б] и так далее.

Термином «коартикуляция» (от лат. со(n) — с, вместе + articulatio — членораздельно, ясно произношу) называют наложение артикуляции, характерной для последующего звука, на весь предшествующий звук. Примером коартикуляции может служить лабиализация (огубление) согласного под влиянием последующего губного [о] или [у]. Например, при произнесении слова «суп» наши губы вытягиваются в трубочку до начала произнесения звука [у], что приводит к изменению звучания звука [с], его лабиализации.

Звуки могут влиять друг на друга. Это влияние вызывает комбинаторные изменения, к которым относятся аккомодация, ассимиляция, диссимиляция, диэрезы, эпентезы, гаплология. Кроме этого, на звуки могут влиять общие условия произношения. Это вызывает позиционные изменения звуков. К ним относятся протеза в начале слова, оглушение звонких согласных в конце слова, редукция безударных гласных и так далее.

Как человеческий мозг справляется со всеми этими фонетическими сложностями? На самом деле нам помогает знание контекста. Благодаря пониманию синтаксической и смысловой структуры высказываний мы можем догадаться, что именно за слово сказал собеседник, даже если расслышали его недостаточно чётко. В системах распознавания речи за угадывание слов по контексту отвечают так называемые языковые модели (language model, LM). В начале 2000-х гг. наиболее популярными были языковые модели, основанные на n‑граммах (серии из n слов, встречающихся в тексте последовательно). В зависимости от выбранного n, n‑граммы называются биграммами (n = 2), триграммами (n = 3) и так далее. Рассчитав статистику n-грамм на достаточно большом текстовом корпусе, можно построить модель, неплохо предсказывающую вероятность появления того или иного слова в текущем контексте. Такой же трюк можно проделывать не только со словами, но и с фонемами, при этом сочетания фонем будут называться n-фонами (бифонами, трифонами или даже квинфонами).

В системе CU-HTK для распознавания речи использовалась комбинация из нескольких «классических» алгоритмов машинного обучения. Это были скрытые марковские модели для предсказания трифонов и квинфонов, деревья решений, гауссовы смеси распределений и, наконец, языковая модель на основе квадрограмм и триграмм. В качестве входного представления звука использовались мел-кепстральные коэффициенты. Настройка столь сложного ансамбля моделей была весьма непростой задачей и требовала не только обширных познаний, но и изрядного упорства, а также везения.

Большую проблему для сравнения различных систем распознавания речи составляет неоднородность датасета Hub5’00. Его подмножество CallHome в целом сложнее для распознавания, чем подмножество SwitchBoard, при этом в литературе в качестве значения метрики приводятся значения, полученные как на всём Hub5’00, так и на отдельных его подмножествах — Hub5’00 SWB и Hub5’00 CH. Из-за этого некоторые графики, призванные изобразить динамику точности распознавания речи по годам, попахивают откровенной шизофренией. Давайте всё-таки попробуем найти какие-то точки опоры — например Hub5’00 SWB. В 2000 г. показатель WER CU-HTK на Hub5’00 SWB составил 19,3%. В 2011 г. модель[4], созданная исследователями из Microsoft и основанная на комбинации глубокой нейронной сети и скрытых марковских моделей, продемонстрировала на Hub5’00 SWB показатель WER в 16,1%. Таким образом, за 11 лет уровень ошибки удалось снизить лишь на 3,2 процентных пункта. А в 2013 г. исследователям из IBM удалось[5] уменьшить WER на Hub5’00 SWB до 11,5%. Это удалось сделать за счёт замены полносвязной сети, получающей на вход мел-кепстральные коэффициенты, на свёрточную нейронную сеть, работающую со спектрограммой звукового сигнала. Таким образом, за два года удалось достичь большего прогресса, чем за предыдущие одиннадцать. И это было только начало.

В 2014 г. величина ошибки снизилась до 10,4%, а в 2015 г. — до 8,0% (за счёт ансамбля полносвязной, свёрточной и рекуррентной сетей, работающих с мел-кепстральными коэффициентами, а также использования нейронной сети в качестве элемента языковой модели)[6]. В октябре 2016 г. команда разработчиков из Microsoft сообщила о создании системы распознавания речи, которая делает то же или даже меньшее количество ошибок, чем люди, профессионально выполняющие эту работу. Исследователи сообщили о том, что им удалось снизить WER на Hub5’00 SWB до 5,8%, что на 0,1% ниже показателя профессиональных людей-разметчиков. Этого результата удалось достичь за счёт комбинации свёрточной нейронной сети с рекуррентной LSTM-сетью, при этом свёрточная часть сети напоминала собой сеть ResNet. Итоговая архитектура получила название LACE (Layer-wise context expansion with attention, Послойное контекстное расширение с вниманием)[7]. Доработка этой архитектуры в 2017 г. привела к уменьшению WER до 5,1%[8].

По датасету Hub5’00 CH также наблюдается сходный прогресс — от ошибки по метрике WEB 31,4% в 2000 г. до 14,1% в 2015-м и 9,9% в 2017-м. Впрочем, в работах последних лет датасет Hub5’00 и его подмножества уже не так часто используются для оценки качества распознавания речи. Исследователи предпочитают использовать для этих целей «чистую» часть LibriSpeech, величина ошибки на которой с момента его появления в 2015 г. снизилась более чем втрое — с 4,83%[9] до 1,4%[10] (2021).

Основными источниками прогресса стало появление новых мощных языковых моделей, основанных на новой нейросетевой архитектуре — так называемых трансформерах (мы поговорим о них подробнее в главе 6.3, посвящённой прогрессу в обработке естественного языка), и появление новых мощных технологий аугментации звуковых данных (в первую очередь SpecAugment[11]).

В последние годы при создании моделей для распознавания речи активно применяются методы обучения с частичным привлечением учителя (semi-supervised learning), такие как «обучение представлениям» (мы затрагивали этот подход в разделе, посвящённом автокодировщикам), а также «псевдоразметка» (Pseudo-Labeling).

Идея первого подхода заключается в обучении на неразмеченных данных некоторой модели-кодировщика, выход которой мог бы затем использоваться при обучении на размеченных данных модели распознавания. Такое комбинирование обучения без учителя и с учителем позволяет эффективно использовать потенциал как неразмеченных, так и размеченных данных, имеющихся у исследователей, что, учитывая сравнительную дороговизну разметки, является важным преимуществом подобных моделей. Наиболее популярными кодировщиками, применяемыми в составе подобных решений, являются wav2vec[12], vq-wav2vec[13] и wav2vec 2.0[14]. По состоянию на сентябрь 2023 года наибольшая точность при распознавании речи из датасета LibriSpeech была достигнута в июле 2021 г. исследователями из компании Google за счёт сочетания wav2vec 2.0, комбинации трансформерной и свёрточной архитектуры под названием Conformer[15], а также усовершенствованной версии SpecAugment для аугментации обучающей выборки. В итоге для «грязной» части LibriSpeech удалось снизить WER до 2,6%, а для «чистой» и вовсе до 1,4%[16]. Впрочем, несмотря на выдающиеся результаты, использование этого метода требует тщательного подбора параметров и размеров выборок.

Поэтому в качестве альтернативы команда исследователей из Facebook предложила иной подход, получивший название «псевдоразметка». Его суть заключается в том, что модель сначала обучается на размеченных данных, а затем используется для разметки неразмеченной части данных, которые после этого пополняют обучающую выборку.

Стоп-стоп-стоп, а почему это вообще работает?.. Ведь, казалось бы, модель ориентируется на свои собственные результаты? Как это может улучшить точность распознавания? В глубоком обучении нередко прибегают к использованию пар моделей «учитель» — «ученик», в которых более простая и быстрая модель-ученик может использовать разметку, выполненную более большой и медленной, но точной моделью-учителем. Но разве может модель выступать в роли учителя для самой себя?

На самом деле этот трюк работает благодаря двум вещам. Во-первых, ввиду аугментации — при псевдоразметке модель выполняется на неискажённых аугментацией данных. После завершения псевдоразметки эти данные попадают на этап обучения модели уже в аугментированном виде, то есть с некоторыми искажениями спектрограммы, при этом они снабжены транскрипцией, выполненной по неискажённым данным. Во-вторых, при псевдоразметке используется языковая модель, которая позволяет исправить неверно распознанные фонетической моделью фонемы благодаря привлечению языкового контекста. Также процесс псевдоразметки можно сделать итеративным — доученная модель используется для псевдоразметки очередной порции неразмеченных данных и так далее несколько раз, пока ошибка распознавания продолжает падать. Благодаря этому методу третье место на сентябрь 2023 г. в рейтинге точности распознавания речи для массива LibriSpeech занимает связка свёрточно-трансформерной архитектуры — усовершенствованной версии SpecAugment и итеративной псевдоразметки, достигшая значений WER 3,1 и 1,5% на «грязной» и «чистой» частях датасета соответственно[17].

В 2021 г. модель W2v-BERT, основанная, как можно догадаться из названия, на комбинации wav2vec и BERT, поставила новый рекорд в точности распознавания речи из набора LibriSpeech: 2,5% для «грязной» и 1,4% WER для «чистой» частей датасета. Скорее всего, этот результат будет ещё немного улучшен в ближайшие годы, хотя, по всей видимости, LibriSpeech ждёт судьба ImageNet — задача распознавания на его основе стала слишком простой для современных моделей, именно поэтому в сообществе специалистов по распознаванию речи активно обсуждается возможность использования альтернативных наборов тестовых данных[18].

Рис. 128. Снижение ошибки распознавания по метрике WER
для «чистой» части датасета LibriSpeech

В 2022 г. исследователи из компании OpenAI представили на суд общественности модель для распознавания речи под названием Whisper. Для её обучения использовалось целых 680 000 часов аудиозаписей, снабжённых субтитрами, причём записи содержали речь сразу на 97 языках (впрочем, основная часть всё-таки пришлась на английский). При сборе записей исследователи постарались отсеять те из них, субтитры у которых были сгенерированы автоматически при помощи различных систем распознавания речи, чтобы избежать попадания в обучающую выборку ошибок, допущенных этими системами. Хотя Whisper и не демонстрирует «из коробки» рекордного значения WER для популярных публичных наборов данных, его результаты выглядят весьма достойно (например, на «чистой» части LibriSpeech WER составляет 2,7%). Одним из основных преимуществ Whisper является его устойчивость к смене домена (ведь на этапе обучения он видел очень разнообразные записи) и возможность недорогой адаптации к целевой задаче путём непродолжительного дообучения на соответствующих данных[19].

В ноябре 2022 г. Google объявила об «Инициативе 1000 языков» — амбициозной программе, которая призвана помочь вовлечению в международное общение миллиардов людей, принадлежащих к множеству разобщённых языковых сообществ. В рамках этой инициативы Google обучила модель USM (Universal Speech Model, Универсальная языковая модель), способную распознавать речь более чем на 100 языках мира и осваивать новые языки, отталкиваясь от совсем небольшого количества примеров. Этот результат был получен за счёт предобучения кодировщика модели на большом неразмеченном многоязычном наборе аудиозаписей продолжительностью 12 млн часов, охватывающем более 300 языков, с последующим дообучением на меньшем наборе записей, снабжённых текстовой транскрипцией[20], [21].

В целом качество распознавания речи в наши дни позволяет системам ИИ распознавать речь со сверхчеловеческой точностью при условии, что в обучающей выборке присутствовали записи, близкие по параметрам к записям из сферы целевого применения. Таким образом, модель, обученная на записях из GSM-канала, будет испытывать проблемы при работе с обычными микрофонными записями. Другие параметры оборудования — сильное эхо или фоновые шумы, потери пакетов в сетях связи, сильно различающаяся тематика разговоров — могут мешать качественному распознаванию речи. Русский язык по сравнению с английским обладает большей флективностью (т. е. среднее число форм одного и того же слова в нём немного выше, чем в английском), что создаёт системам распознавания дополнительные трудности. И всё же сегодня при грамотном использовании технологий распознавания речи можно создавать удобные продукты и сервисы, пользующиеся большой популярностью: голосовые помощники, роботизированные системы обзвона, голосовые интерфейсы навигационных систем и медиаплееров, системы управления в умных домах, системы речевой аналитики в колл-центрах и так далее.

Помимо собственно распознавания речи, системы, основанные на технологиях машинного обучения, применяются сегодня для идентификации пользователей по голосу, выделения в аудиозаписях реплик различных людей (так называемая диаризация), активации устройств по ключевым словам, определения интонационной окраски речи, улучшения качества звука и многих других задач в области обработки голосовой информации. При этом прогресс во всех этих областях продолжается, а это означает, что все вышеперечисленные способности или уже стали обыденными для современных продуктов и сервисов, или станут таковыми в ближайшие годы.

  1. Hain T., Woodland P. C., Evermann G., Povey D. (2001). New features in the CU-HTK system for transcription of conversational telephone speech / 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.01CH37221), Salt Lake City, UT, USA, 2001, Vol. 1, pp. 57—60 // https://doi.org/10.1109/ICASSP.2001.940766
  2. NIST March 2000 Hub-5 Benchmark Test Results for Recognition of Conversational Speech over the Telephone, in English and Mandarin. Release 1.4 (2000) // https://catalog.ldc.upenn.edu/docs/LDC2002T43/readme.htm
  3. The 2000 NIST Evaluation Plan for Recognition of Conversational Speech over the Telephone. Version 1.3, 24-Jan-00 (2000) // https://mig.nist.gov/MIG_Website/tests/ctr/2000/h5_2000_v1.3.html
  4. Seide F., Li G., Yu D. (2011). Conversational Speech Transcription Using Context-Dependent Deep Neural Networks / INTERSPEECH 2011, 12th Annual Conference of the International Speech Communication Association, Florence, Italy, August 27—31, 2011 // https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/CD-DNN-HMM-SWB-Interspeech2011-Pub.pdf
  5. Sainath T. N., Mohamed A., Kingsbury B., Ramabhadran B. (2013). Deep convolutional neural networks for LVCSR / 2013 IEEE International Conference on Acoustics, Speech and Signal Processing, Vancouver, BC, 2013, pp. 8614-8618 // https://doi.org/10.1109/ICASSP.2013.6639347
  6. Saon G., Kuo H. K. J., Rennie S., Picheny M. (2015). The IBM 2015 English Conversational Telephone Speech Recognition System // https://arxiv.org/abs/1505.05899
  7. Xiong W., Droppo J., Huang X., Seide F., Seltzer M., Stolcke A., Yu D., Zweig G. (2017). Achieving human parity in conversational speech recognition // https://arxiv.org/abs/1610.05256
  8. Xiong W., Wu L., Alleva F., Droppo J., Huang X., Stolcke A. (2017). The Microsoft 2017 Conversational Speech Recognition System // https://arxiv.org/abs/1708.06073
  9. Peddinti V., Povey D., Khudanpur S. (2015). A time delay neural network architecture for efficient modeling of long temporal contexts / INTERSPEECH 2015, 16th Annual Conference of the International Speech Communication Association, Dresden, Germany // https://www.danielpovey.com/files/2015_interspeech_multisplice.pdf
  10. Zhang Y., Qin J., Park D. S., Han W., Chiu C.-C., Pang R., Le Q. V., Wu Y. (2020). Pushing the Limits of Semi-Supervised Learning for Automatic Speech Recognition // https://arxiv.org/abs/2010.10504
  11. Park D. S., Chan W., Zhang Y., Chiu C. C., Zoph B., Cubuk E. D., Le Q. V. (2019). SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition // https://arxiv.org/abs/1904.08779
  12. Schneider S., Baevski A., Collobert R., Auli M. (2019). wav2vec: Unsupervised Pre-training for Speech Recognition // https://arxiv.org/abs/1904.05862
  13. Baevski A., Schneider S., Auli M. (2019). vq-wav2vec: Self-Supervised Learning of Discrete Speech Representations // https://arxiv.org/abs/1910.05453
  14. Baevski A., Zhou H., Mohamed A., Auli M. (2020). wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations // https://arxiv.org/abs/2006.11477
  15. Gulati A., Qin J., Chiu C.-C., Parmar N., Zhang Y., Yu J., Han W., Wang S., Zhang Z., Wu Y., Pang R. (2020). Conformer: Convolution-augmented Transformer for Speech Recognition // https://arxiv.org/abs/2005.08100
  16. Zhang Y., Qin J., Park D. S., Han W., Chiu C.-C., Pang R., Le Q. V., Wu Y. (2020). Pushing the Limits of Semi-Supervised Learning for Automatic Speech Recognition // https://arxiv.org/abs/2010.10504
  17. Xu Q., Baevski A., Likhomanenko T., Tomasello P., Conneau A., Collobert R., Synnaeve G., Auli M. (2020). Self-training and Pre-training are Complementary for Speech Recognition // https://arxiv.org/abs/2010.11430
  18. Chung Y.-A., Zhang Y., Han W., Chiu C.-C., Qin J., Pang R., Wu Y. (2021). W2v-BERT: Combining Contrastive Learning and Masked Language Modeling for Self-Supervised Speech Pre-Training // https://arxiv.org/abs/2108.06209
  19. Radford A., Kim J. W., Xu T., Brockman G., McLeavey C., Sutskever I. (2022). Robust Speech Recognition via Large-Scale Weak Supervision // https://arxiv.org/abs/2212.04356
  20. Dean J. (2022). 3 ways AI is scaling helpful technologies worldwide / Google blog, Nov 02, 2022 // https://blog.google/technology/ai/ways-ai-is-scaling-helpful/
  21. Zhang Y., Han W., Qin J., Wang Y., Bapna A., Chen Z., Chen N., Li B., Axelrod V., Wang G., Meng Z., Hu K., Rosenberg A., Prabhavalkar R., Park D. S., Haghani P., Riesa J., Perng G., Soltau H., Strohman T., Ramabhadran B., Sainath T., Moreno P., Chiu C., Schalkwyk J., Beaufays F., Wu Y. (2022). Google USM: Scaling Automatic Speech Recognition Beyond 100 Languages // https://arxiv.org/abs/2303.01037
Loading comments...