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

6.2.2.2 Теория звука и общие соображения о распознавании речи

Материал из Охота на электроовец: Большая Книга Искусственного Интеллекта
Версия от 11:11, 6 апреля 2025; Andrey Fedichkin (обсуждение | вклад) (Новая страница: «<span id="теория-звука-и-общие-соображения-о-распознавании-речи"></span> Звук, вообще говоря, представляет собой распространение в некоторой среде механических колебаний в виде упругих волн. В некоторой точке пространства звук воспринимается как изменение в...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Звук, вообще говоря, представляет собой распространение в некоторой среде механических колебаний в виде упругих волн. В некоторой точке пространства звук воспринимается как изменение во времени звукового давления — то есть избыточного давления, возникающего в упругой среде при прохождении через неё звуковой волны. Иногда используют такую характеристику, как интенсивность звука, которая пропорциональна квадрату звукового давления и является энергетической величиной, в то время как звуковое давление — величина силовая. Просто записав амплитуду звукового давления через фиксированные интервалы времени, можно получить временно́е представление звука. Выбранная длина интервала времени между замерами определяет частоту дискретизации при оцифровке звука. Например, если такой интервал составляет 1/8000 долю секунды, то говорят о частоте дискретизации, равной 8 кГц, если 1/16000 долю секунды — то 16 кГц. Если вы звоните кому-то по сотовому телефону, использующему для передачи звука сеть GSM, то ваш голос, скорее всего, подвергается оцифровке с частотой в 8 кГц, а это значит, что для передачи одной секунды речи без применения сжатия требуется передать через канал связи 8000 чисел. Частота дискретизации звука чем-то напоминает разрешение цифровой фотокамеры: чем выше разрешение, тем более детальную картинку вы получите, но тем больше она будет «весить». То же самое и с частотой дискретизации: чем она выше, тем меньше потерь происходит при записи звука, но и тем больший объём данных соответствует записи одной и той же длины.

Устройство человеческого уха в чём-то напоминает сенсорный анализатор фоноперцептрона Розенблатта. Пройдя через сложную механику компонентов слуховой системы, звуковые колебания проникают в полость улиткового протока, где расположен Кортиев орган, содержащий особые сенсорно-эпителиальные волосковые клетки, которые через колебания перилимфы и эндолимфы воспринимают слуховые раздражения в диапазоне примерно 16–20 000 Гц. Эти клетки, подобно аудиофильтрам розенблаттовского «Тобермори», реагируют только на определённые частоты колебаний. Сигналы этих рецепторных клеток передаются на нервные окончания VIII пары черепных нервов — преддверно-улиткового нерва, а затем нервный импульс поступает в слуховой центр коры головного мозга.

Почему природа «изобрела» столь странное приспособление? Неужели недостаточно было простого измерителя звукового давления, преобразующего звук в последовательность электрических импульсов разного напряжения? Дело в том, что звуки, с которыми живое существо обычно сталкивается в реальном мире, представляют собой в большинстве случаев продукт одновременного протекания нескольких элементарных колебательных процессов, каждый из которых обладает некоторой частотой. Если вы потянете, а затем отпустите зажатую на пятом ладу нижнюю струну семиструнной гитары, настроенной стандартным гитарным строем, то струна начнёт колебаться с частотой 440 Гц (раз в секунду). Свои колебания струна будет передавать корпусу гитары, а тот — окружающему гитару воздуху, в котором начнут распространяться звуковые волны, причём расстояние между пиками этих волн будет соответствовать расстоянию, которое звук преодолевает за 1/440 часть секунды (примерно 0,75 м). Вокализации, производимые людьми, основаны на аналогичном процессе, только колеблются в данном случае не струны, а голосовые связки человека. Вот почему довольно практично обладать звуковым анализатором, способным раскладывать комплексный звуковой сигнал на множество элементарных. Такое разложение называют спектром сигнала. В «Тобермори» за него отвечали аудиофильтры, во внутреннем ухе за него ответственны волосковые клетки, а в цифровых системах за него обычно отвечает быстрое преобразование Фурье [Fast Fourier transform][1].

После применения к сигналу преобразования Фурье и разложения его на колебания с разными частотами становится возможным построить специальное изображение для сигнала, называемое спектрограммой. Она строится следующим образом: по оси x обозначается время, по оси y — диапазон частот, а амплитуда колебания на частоте h в момент времени t (при этом разложению на частоты подвергается не весь сигнал, а только его часть, находящаяся в пределах некоторого временно́го окна с центром в момент времени t) передаётся при помощи цвета точки с координатами (t; h). Если мы используем для y линейную шкалу, то и сама спектрограмма будет называться линейной.

Рис. 124. Пример спектрограммы

В 1937 г. Стивенс, Фолькман и Ньюман изобрели так называемую мел-шкалу. Дело в том, что чувствительность человеческого слуха неодинакова в разных диапазонах частот. В ходе эксперимента 1937 г. пятерых наблюдателей попросили после прослушивания звука осциллятора, настроенного на некоторую фиксированную частоту (125, 200, 300, 400, 700, 1000, 2000, 5000, 8000 или 12 000 Гц), путём вращения регулятора второго осциллятора настроить его на высоту звука, в два раза более низкую, чем высота звука первого осциллятора. Таким образом авторы исследования попробовали установить зависимость между объективной частотой звука и его субъективно воспринимаемой высотой. В результате появился «мел» (от англ. melody — мелодия) — единица субъективно воспринимаемой высоты звука[2]. Существует несколько популярных формул для преобразования частоты звука в «мелы», каждая из которых задаёт немного различающиеся логарифмические мел-шкалы[3], [4]. В некоторых моделях для распознавания речи в наши дни используются мел-спектрограммы, а в некоторых — линейные.

Ещё одно важное заклинание из арсенала специалистов по автоматизированной обработке звука — кепстр [cepstrum]. Эта анаграмма слова spectrum используется для обозначения функции обратного преобразования Фурье от логарифма спектра мощности сигнала. Мне кажется, что это определение способно, будучи произнесено вслух, отнять минимум 150 хит-поинтов у тревожного студента-гуманитария. На самом деле не всё так страшно. Давайте посмотрим для начала на некоторые особенности спектрограммы мощности для человеческого голоса. Звуковые волны, возникающие в голосовых связках при прохождении через них выдыхаемого воздуха, отражаясь от стенок полостей тела, создают в них несколько резонансов в области разных частот. Если вы посмотрите на спектрограмму человеческого голоса, то увидите на ней характерные параллельные полосы, примерно по одной на каждые 1000 Гц. Их называют формантами. На иллюстрации ниже представлена спектрограмма русского гласного [е], на которой можно различить пять формант.

Рис. 125. Пример спектрограммы русского гласного [е]

Форманта — это концентрация акустической энергии вокруг определённой частоты в речевой волне. Форманты присутствуют как в гласных, так и в согласных звуках человеческой речи. Учёные договорились нумеровать форманты «снизу вверх», начиная от самой низкой частоты: F1, F2, F3 и так далее[5], [6] (иногда нумерацию осуществляют не с F1, а с F0).

Любые полости, стенки которых могут отражать звуковые колебания, способны формировать так называемые акустические резонансы. С этой точки зрения между декой гитары, ванной комнатой или одной из полостей речевого тракта человека нет существенной разницы. Звуковые волны, оказавшись в замкнутом пространстве, отражаются от стенок полости, а затем отражённые волны накладываются на исходные. Если исходные и отражённые волны совпадают по фазе, амплитуда итогового звукового колебания усиливается. Это явление называется акустическим резонансом. Акустический резонанс возникает в том случае, если расстояние между параллельными отражающими стенками полости кратно значению половины длины звуковой волны. Явление противоположное резонансу, когда отражённая волна находится в противофазе с исходной, называется антирезонансом. При антирезонансе отражённая волна гасит исходную, снижая амплитуду итоговой волны. Таким образом, если поместить внутри полости источник звука, генерирующий звуковые колебания различных частот, некоторые из этих колебаний будут усилены, а некоторые — ослаблены.

Речевой тракт человека состоит из нескольких соединённых полостей, причём их объём и форма в процессе произнесения звуков могут изменяться. Например, при помощи языка человек меняет объём и форму ротовой полости, а при помощи смыкания мягкого нёба изолирует от речевого тракта носовую полость. Такая сложная конфигурация речевого тракта и приводит к возникновению сразу нескольких областей усиления частот, каковыми и являются форманты.

Рис. 126. Голосовой аппарат при произнесении звуков

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

Рис. 127. Модель источник-фильтр

Форманты встречаются и видны на спектрограммах вокруг частот, которые соответствуют резонансам речевого тракта. Но есть разница между чистыми гласными, с одной стороны, и согласными и носовыми гласными, с другой. Для согласных также характерны антирезонансы на одной или нескольких частотах из-за пероральных сужений. Антирезонансы ослабляют или устраняют те или иные форманты, так что они выглядят ослабленными или вообще отсутствуют на спектрограмме.

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

Благодаря формантам отдельно взятый столбец спектрограммы содержит периодические подъёмы и спады, причём пики этих колебаний приходятся на центральные частоты формант. Таким образом, спектрограмме присуща некоторая избыточность, носящая, так же как и в оригинальном сигнале, периодический характер.

В 1963 г. три исследователя — Брюс Богерт, Майкл Хили и уже упоминавшийся нами Джон Тьюки — написали статью[7], [8] под игривым названием «Сачтотный аланиз временных рядов для эхо: кепстр, псевдоавтоковариация, кросс-кепстр и взлом зафы» (The Quefrency Alanysis of Time Series for Echoes: Cepstrum, Pseudo-Autocovariance, Cross-Cepstrum, and Saphe Cracking), посвящённую анализу периодических компонент спектрограмм, появляющихся вдоль частотной оси из-за отражений звука. Эта работа, посвящённая анализу колебаний в геофизике, дала начало широкому применению кепстрального преобразования при обработке сигналов, позволяющего уменьшить число параметров[9], [10].

Кепстральное преобразование можно представить следующим образом: вместо значений частоты берём их логарифмы, потом поворачиваем график на 90°, чтобы столбцы стали строками, а далее раскладываем каждую строку на гармоники при помощи преобразования Фурье (считая, что как будто каждая строка — это последовательность амплитуд звуковой волны).

В полученной таким путём «кепстрограмме» место частоты занимает «сачтота» [quefrency], фаза [phase] становится «зафой» [saphe] и так далее. Дошло даже до изобретения «лифтрации» [liftering, вместо filtering]. Коэффициенты гармоник кепстрального разложения для мел-спектрограммы называют мел-кепстральными коэффициентами (Mel-frequency cepstral coefficients, MFCCs).

Чтобы окончательно всех запутать, в 1978 г. геофизики Мануэль Сильвиа и Эндерс Робинсон вводят[11], [12] термин kepstrum, причём в данном случае KEPSTR является аббревиатурой — Kolmogorov Equation Power Series Time Response [временной ответ степенных рядов уравнения Колмогорова]. Сильвиа и Робинсон показывают развитие идей «кепстрального анализа» начиная с работ Пуассона, Карла Шварца, Сегё, Колмогорова, Богерта и так далее, а затем отмечают, что одной из проблем кепстра у Богерта является потеря в нём информации о фазе колебаний. В общем, кепстр [kepstrum] у Сильвии и Робинсона и кепстр [cepstrum] у Богерта и его коллег — это два несколько разных кепстра, но в обработке звука обычно применяется второй, название которого не имеет никакого отношения к Андрею Николаевичу Колмогорову.

В общем, в начале тысячелетия у разработчиков систем распознавания речи существовало немало способов представления звуковой информации на входе в распознающую систему, позволяющих уменьшить число параметров и тем самым упростить представление звука.

Конечно, решая задачу распознавания речи, можно «скармливать» звуковые данные на вход модели в виде последовательности амплитуд звукового сигнала. Но при таком способе размерность данных становится непотребной: даже при частоте дискретизации в 8 кГц всего одна секунда звуковой информации — это 8000 чисел, а для пятисекундной фразы (в Русской языковой базе данных (Russian Speech Database) средняя длина фразы составляет около 5 секунд[13]) мы получим уже 40 000 значений. Что уж говорить про 16 кГц (частота дискретизации в современных системах интернет-телефонии) или про 44 100 Гц (частота дискретизации при записи звука на Audio CD). При частоте дискретизации 16 кГц, звуке моно и глубине кодирования в 16 бит (при такой глубине кодирования будет различаться 216 = 65 536 уровней сигнала) объём данных для пятисекундной фразы будет примерно такой же, как у средней картинки из ImageNet, но, что хуже, на выходе модели мы должны получить не просто метку класса, а последовательность из десятков символов естественного языка. Если взять алфавит из 27 символов (26 латинских букв и пробел), то при помощи такого алфавита можно составить 27100 ≈ 1,37 × 10143 сообщений длиной 100 символов. Конечно, по большей мере это будет полная белиберда. Давайте попробуем оттолкнуться от слов, существующих в языке. В английском языке, по разным оценкам, от 470 000 до миллиона с небольшим слов[14], [15], причём активно используется около 170 000 из них[16]. В среднем на одну лексему (под лексемой понимается совокупность всех форм некоторого слова) английского языка приходится примерно 4,1 словоформы[17] (слова могут изменяться, например, за счёт добавления окончаний), что даёт нам около 700 000 активных словоформ. При длине предложения в 14 слов (средней для английского языка[18]) мы получим 700 00014 ≈ 6,78 × 1081 различных предложений, что уже лучше, но всё же бесконечно далеко от практического применения.

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

  1. * Дискретное преобразование Фурье — это операция, которая позволяет разложить функцию, представленную набором её значений, взятых с некоторым шагом (в нашем случае — амплитуд звуковой волны), в виде разложения элементарных гармонических колебаний с разными частотами (подобно тому как музыкальный аккорд можно разложить на отдельные звуковые колебания, соответствующие составляющим его нотам). Быстрое преобразование Фурье — алгоритм ускоренного вычисления дискретного преобразования Фурье.
  2. Stevens S. S., Volkmann J., Newman E. B. (1937). A Scale for the Measurement of the Psychological Magnitude Pitch / The Journal of the Acoustical Society of America, Vol. 8(3), pp. 185—190 // https://doi.org/10.1121/1.1915893
  3. O'Shaughnessy D. (1987). Speech communication: human and machine. Addison-Wesley // https://books.google.ru/books?id=aUhiAAAAMAAJ
  4. Dixon Ward W. (1970). Musical Perception / Tobias J. V. (1970). Foundations of Modern Auditory Theory. Academic Press // https://books.google.ru/books?id=Uqw_uwEACAAJ
  5. Wood S. (2005). What are formants? / Beginners guide to Praat // https://person2.sol.lU. Se/SidneyWood/praate/whatform.html
  6. Володин И. А., Володина Е. В. (2006). Скромное очарование нелинейностей. О скулении собак, голосе Высоцкого, алтайском пении, и не только / Природа. №2, 2006 // http://vivovoco.astronet.ru/VV/JOURNAL/NATURE/02_06/VOICE.HTM
  7. Bogert B. P., Healy J. R., Tukey J. W. (1963). The Quefrency Analysis of Time Series for Echoes: Cepstrum, Pseudo-Autocovariance, Cross-Cepstrum, and Saphe Cracking / Proceedings of the Symposium on Time Series Analysis, 1963, pp. 209-243.
  8. Howarth R. J. (2017). Dictionary of Mathematical Geosciences: With Historical Notes. Springer // https://books.google.ru/books?id=MNwlDwAAQBAJ
  9. Oppenheim A. V., Schafer R. W. (2004). Dsp history — From frequency to quefrency: a history of the cepstrum / IEEE Signal Processing Magazine, Vol. 21(5), pp. 95—106 // https://doi.org/10.1109/msp.2004.1328092
  10. Waslo B. (1994). Reflecting on Echoes and the Cepstrum: A look at Quefrency Alanysis and Hearing / Speaker Builder, August 1994 // http://www.libinst.com/cepst.htm
  11. Silvia M. T., Robinson E. A. (1978). Use of the kepstrum in signal analysis / Geoexploration, Vol. 16 (1—2), pp. 55—73 // https://doi.org/10.1016/0016-7142(78)90007-8
  12. Silvia M. T., Robinson E. A. (1979). Deconvolution of Geophysical Time Series in the Exploration for Oil and Natural Gas. Elsevier // https://books.google.ru/books?id=Ecgfjh-MpU0C
  13. Resource: Russian Speech Database (2014) / International standard language resource number // http://www.islrn.org/resources/428-147-317-182-1/
  14. Wil (2014). How many words are in the English language? / EF English Live // https://englishlive.ef.com/blog/language-lab/many-words-english-language/
  15. How many words are there in English? / Merriam-Webster.com Dictionary, Merriam-Webster // https://www.merriam-webster.com/help/faq-how-many-english-words
  16. Wil (2014). How many words are in the English language? / EF English Live // https://englishlive.ef.com/blog/language-lab/many-words-english-language/
  17. Wu S., Cotterell R., O’Donnell T. J. (2019). Morphological Irregularity Correlates with Frequency // https://arxiv.org/abs/1906.11483v1
  18. Vincent S. (2014). Sentence length: why 25 words is our limit / Inside GOV.UK // https://insidegovuk.blog.gov.uk/2014/08/04/sentence-length-why-25-words-is-our-limit/