Охота на электроовец. Большая книга искусственного интеллекта - Сергей Сергеевич Марков
Шрифт:
Интервал:
Закладка:
Речевой тракт человека состоит из нескольких соединённых полостей, причём их объём и форма в процессе произнесения звуков могут изменяться. Например, при помощи языка человек меняет объём и форму ротовой полости, а при помощи смыкания мягкого нёба изолирует от речевого тракта носовую полость. Такая сложная конфигурация речевого тракта и приводит к возникновению сразу нескольких областей усиления частот, каковыми и являются форманты.
Рис. 126. Голосовой аппарат при произнесении звуков
Речевой тракт фильтрует исходный звук, представляющий собой периодические вибрации голосовых связок или апериодическое шипение, и результатом фильтрации является звук, попадающий во внешнюю среду.
Рис. 127. Модель источник-фильтр
Форманты встречаются и видны на спектрограммах вокруг частот, которые соответствуют резонансам речевого тракта. Но есть разница между чистыми гласными, с одной стороны, и согласными и носовыми гласными, с другой. Для согласных также характерны антирезонансы на одной или нескольких частотах из-за пероральных сужений. Антирезонансы ослабляют или устраняют те или иные форманты, так что они выглядят ослабленными или вообще отсутствуют на спектрограмме.
При произнесении носовых звуков (например, [м] и [н] в русском языке) люди используют не два, а три резонатора (к полости рта и глотки добавляется ещё и полость носа). Открытый проход в носовую полость создаёт очень большой резонатор (глотка + нос) и, соответственно, сильный резонанс. Кроме того, интерференция между полостями создаёт дополнительные антирезонансы.
Благодаря формантам отдельно взятый столбец спектрограммы содержит периодические подъёмы и спады, причём пики этих колебаний приходятся на центральные частоты формант. Таким образом, спектрограмме присуща некоторая избыточность, носящая, так же как и в оригинальном сигнале, периодический характер.
В 1963 г. три исследователя — Брюс Богерт, Майкл Хили и уже упоминавшийся нами Джон Тьюки — написали статью[1900], [1901] под игривым названием «Сачтотный аланиз временных рядов для эхо: кепстр, псевдоавтоковариация, кросс-кепстр и взлом зафы» (The Quefrency Alanysis of Time Series for Echoes: Cepstrum, Pseudo-Autocovariance, Cross-Cepstrum, and Saphe Cracking), посвящённую анализу периодических компонент спектрограмм, появляющихся вдоль частотной оси из-за отражений звука. Эта работа, посвящённая анализу колебаний в геофизике, дала начало широкому применению кепстрального преобразования при обработке сигналов, позволяющего уменьшить число параметров[1902], [1903].
Кепстральное преобразование можно представить следующим образом: вместо значений частоты берём их логарифмы, потом поворачиваем график на 90°, чтобы столбцы стали строками, а далее раскладываем каждую строку на гармоники при помощи преобразования Фурье (считая, что как будто каждая строка — это последовательность амплитуд звуковой волны).
В полученной таким путём «кепстрограмме» место частоты занимает «сачтота» [quefrency], фаза [phase] становится «зафой» [saphe] и так далее. Дошло даже до изобретения «лифтрации» [liftering, вместо filtering]. Коэффициенты гармоник кепстрального разложения для мел-спектрограммы называют мел-кепстральными коэффициентами (Mel-frequency cepstral coefficients, MFCCs).
Чтобы окончательно всех запутать, в 1978 г. геофизики Мануэль Сильвиа и Эндерс Робинсон вводят[1904], [1905] термин kepstrum, причём в данном случае KEPSTR является аббревиатурой — Kolmogorov Equation Power Series Time Response [временной ответ степенных рядов уравнения Колмогорова]. Сильвиа и Робинсон показывают развитие идей «кепстрального анализа» начиная с работ Пуассона, Карла Шварца, Сегё, Колмогорова, Богерта и так далее, а затем отмечают, что одной из проблем кепстра у Богерта является потеря в нём информации о фазе колебаний. В общем, кепстр [kepstrum] у Сильвии и Робинсона и кепстр [cepstrum] у Богерта и его коллег — это два несколько разных кепстра, но в обработке звука обычно применяется второй, название которого не имеет никакого отношения к Андрею Николаевичу Колмогорову.
В общем, в начале тысячелетия у разработчиков систем распознавания речи существовало немало способов представления звуковой информации на входе в распознающую систему, позволяющих уменьшить число параметров и тем самым упростить представление звука.
Конечно, решая задачу распознавания речи, можно «скармливать» звуковые данные на вход модели в виде последовательности амплитуд звукового сигнала. Но при таком способе размерность данных становится непотребной: даже при частоте дискретизации в 8 кГц всего одна секунда звуковой информации — это 8000 чисел, а для пятисекундной фразы (в Русской языковой базе данных (Russian Speech Database) средняя длина фразы составляет около 5 секунд[1906]) мы получим уже 40 000 значений. Что уж говорить про 16 кГц (частота дискретизации в современных системах интернет-телефонии) или про 44 100 Гц (частота дискретизации при записи звука на Audio CD). При частоте дискретизации 16 кГц, звуке моно и глубине кодирования в 16 бит (при такой глубине кодирования будет различаться 216 = 65 536 уровней сигнала) объём данных для пятисекундной фразы будет примерно такой же, как у средней картинки из ImageNet, но, что хуже, на выходе модели мы должны получить не просто метку класса, а последовательность из десятков символов естественного языка. Если взять алфавит из 27 символов (26 латинских букв и пробел), то при помощи такого алфавита можно составить 27100 ≈ 1,37 × 10143 сообщений длиной 100 символов. Конечно, по большей мере это будет полная белиберда. Давайте попробуем оттолкнуться от слов, существующих в языке. В английском языке, по разным оценкам, от 470 000 до миллиона с небольшим слов[1907], [1908], причём активно используется около 170 000 из них[1909]. В среднем на одну лексему (под лексемой понимается совокупность всех форм некоторого слова) английского языка приходится примерно 4,1 словоформы[1910] (слова могут изменяться, например, за счёт добавления окончаний), что даёт нам около 700 000 активных словоформ. При длине предложения в 14 слов (средней для английского языка[1911]) мы получим 700 00014 ≈ 6,78 × 1081 различных предложений, что уже лучше, но всё же бесконечно далеко от практического применения.
В общем, с идеей запихнуть в какой-нибудь ResNet-152 спектрограмму фразы и получить на выходе класс, соответствующий фразе, можно, по всей видимости, благополучно расстаться. Вот почему достижения в области распознавания изображений нельзя просто взять и перенести в область распознавания речи, необходимо искать решение, способное преобразовать последовательность данных, описывающих звуковой сигнал, в последовательность символов (или слов)