РЕШЕНИЕ ЗАДАЧИ АВТОМАТИЧЕСКОГО РАСПОЗНАВАНИЯ ОТДЕЛЬНЫХ СЛОВ РЕЧИ ПРИ ПОМОЩИ РАНДОМИЗИРОВАННОГО АЛГОРИТМА СТОХАСТИЧЕСКОЙ АППРОКСИМАЦИИ

 

NOISE ROBUST ISOLATED WORDS RECOGNITION PROBLEM SOLUTION WITH SIMULTANEOUS PERTURBATION STOCHASTIC APPROXIMATION ALGORITHM

 

 

Граничин Олег Николаевич, Шалымов Дмитрий Сергеевич

 

 

В статье описан способ распознавания отдельных слов речи, использующий рандомизированный алгоритм стохастической аппроксимации (РАСА). Способ опирается на методологию распознавания звука на основе кепстральных коэффициентов. Эффективность способа иллюстрируется примером в конце статьи.

 

This paper represents solution for noise robust isolated words recognition problem. For this purpose new simultaneous perturbation stochastic approximation algorithm (SPSA) is used. Method of noise robust speech recognition is based on mel frequency cepstral coefficients. Main features of SPSA algorithm are shown. Effectiveness of proposed solution is demonstrated.

 

1. Введение

Задача распознавания речи на сегодняшний день является актуальной проблемой. Большинство современных методов, используемых для ее решения, требуют больших вычислительных ресурсов, объем которых часто бывает ограничен. Невозможность широкого применения многих алгоритмов сегодня, например, в мобильных устройствах заставляет исследователей искать более эффективные методы. Для распознавания изображений и речи часто используются методы, основанные на нейронных сетях. За счет своей простоты и небольшого количества операций на каждой итерации рассматриваемый в статье рандомизированный алгоритм стохастической аппроксимации (РАСА) [1] может быть предложен как альтернатива (или дополнение) существующим подходам для распознавания речи в реальном времени. В частности, РАСА может быть использован в моделях нейронных сетей. Алгоритм основан на использовании пробных одновременных возмущений, которые являются искусственными воздействиями с заранее определенными статистическими свойствами, обеспечивающими состоятельность оценок алгоритма при почти произвольных помехах. Существенная особенность алгоритма заключается в том, что для аппроксимации градиента функции потерь требуется только два измерения функции независимо от размерности оперируемых величин. Эта особенность делает рассматриваемый алгоритм удобным для применения в задаче распознавания звука, где используются вектора свойств сигнала больших размерностей. Также эта особенность обеспечивает относительную легкость представления алгоритма, существенно уменьшая затраты на решение. Тем самым открывается возможность работы с большим количеством слов. В случае зашумленных измерений функции потерь (а звуковая волна, поступающая на вход, всегда содержит в себе шум) алгоритм сохраняет состоятельность доставляемых оценок при почти произвольных помехах [2]. В задаче распознавания отдельных слов такими помехами могут являться фазовые и спектральные сдвиги звукового сигнала, шум окружающей среды, настройки записывающего устройства и т._д. Кроме того, представление алгоритма достаточно просто для понимания и реализации в виде электронного устройства. 
 

2. Задача распознавания отдельных слов речи

Цифровая система обработки звукового сигнала предполагает представление аналогового речевого сигнала в цифровом виде. В результате аналого-цифрового преобразования (АЦП) непрерывный сигнал переводится в ряд дискретных временных отсчетов, каждый из которых представляет собой число. Это число храктеризует сигнал в точке с определенной точностью. Точность представления зависит от ширины диапазона получаемых чисел, а, следовательно, от разрядности АЦП. Процесс извлечения из сигнала численных значений называется квантованием. Процесс разбиения сигнала на отсчеты – дискретизацией. Число отсчетов в секунду называется частотой дискретизации. Процесс обработки звуковой волны схематически показан на Рис.1.

Рис.1: Этапы обработки звуковой волны.

 

Аналоговый акустический сигнал, поступающий с микрофона, подвергается с помощью АЦП дискретизации и квантованию. Происходит так называемая реализация слова, т. е. цифровая запись произнесения слова (звука) в виде последовательности отсчётов звукового сигнала {sk}. Реализация слова (звука) в процессе цифровой обработки разбивается на последовательность кадров {Xi}. Кадром X (длины N) назовем последовательность отсчетов звукового сигнала s1, s2, ... , sN. Длина кадра фиксирована во времени. Например, при N=100 и частоте дискретизации 8000 Гц  она соответствует длительности в 12.5 мс. Кадры часто смещают друг относительно друга для того, чтобы не происходило потери информации на границе кадров. Шаг смещения кадра – количество звуковых отсчётов между началами следующих друг за другом кадров. Шаг смещения меньший, чем  N (длина кадра) означает, что кадры идут «внахлёст».

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

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

Распознающая система является независимой от диктора, если она распознает слово независимо от того, кто его произносит. На практике реализовать такую систему сложно по той причине, что звуковые сигналы сильно зависят от громкости, тембра голоса, состояния и настроения диктора. Для извлечения информации из таких сигналов нередко используют фильтры тоновых частот (мел-скейл фильтры), которые усредняют спектральные составляющие в определенных диапазонах частот, тем самым делая сигнал менее зависимым от диктора. Такие фильтры являются основой технологии MFCC (Mel-Frequency Cepstral Coefficients), которая используется в распознающей системе, рассматриваемой в этой статье. 

 

3. Обработка речевого сигнала

Предварительная фильтрация

Для спектрального выравнивания речевого сигнала его следует пропустить через низкочастотный фильтр. Цель этого преобразования – снизить влияние локальных искажений на характеристические признаки, которые в дальнейшем будут использоваться для распознавания. Часто низкочастотная фильтрация осуществляется на аппаратном уровне, хотя существуют различные математические методы, которые успешно применяются в задачах работы со звуком. В рассматриваемой далее системе такие методы не использовались. Известно, что наиболее информативные частоты человеческого голоса сосредоточены в интервале 100Гц - 2КГц, поэтому при решении задач распознавания речи уже на начальном этапе в спектрограмме оставляют только гармоники, частоты которых попадают в этот интервал.

Нарезка сигнала перекрывающимися сегментами

Для того чтобы получить векторы признаков одинаковой длины, нужно ''нарезать'' речевой сигнал на равные части, а затем выполнить преобразования внутри каждого сегмента. Обычно сегменты выбирают таким образом, чтобы они перекрывались либо наполовину, либо на 2/3. Перекрытие используется для предотвращения потери информации о сигнале на границе. Чем меньше перекрытие, тем меньшей размерностью в итоге будет обладать вектор свойств, характерный для рассматриваемого участка, поскольку он составляется из кепстральных коэффициентов каждого сегмента в отдельности. Кепстральными коэффициентами называют набор чисел, полученных после спектрального анализа участка звукового сигнала. Обычно выбирается длина участка (сегмента), соответствующая временному интервалу в 20-30 мс.

Обработка сигнала в окне

Цель этого этапа обработки – снижение граничных эффектов, возникающих в результате сегментации. Для подавления нежелательных граничных эффектов принято умножать сигнал s(n) на оконную функцию w(n):

x(n) = s(n)*w(n).

В  качестве функции w(n) часто используется окно Хэмминга, которое задается следующей формулой:

 

 
 
Извлечение векторов свойств
Каждый входной звуковой сигнал представляется в виде специального вектора свойств (или вектора признаков), определенным образом характеризующего сигнал. Есть довольно много методов для формирования вектора свойств. В рассматриваемой далее модели используется классический подход кепстральных коэффициентов.
Существует две основных технологии извлечения из сигнала вектора свойств, состоящего из кепстральных коэффициентов: на основе кепстральных коэффициентов тональной частоты (MFCC)[3] и на основе кепстральных коеффициентов линейного предсказания (LPCC)[4]. MFCC является наиболее распространенным способом формирования вектора свойств. Рассмотрим основные его этапы.
   1. Входной сигнал разбивается на сегменты, к которым применяется функция окна Хемминга и фразового выделения.
    2. Pre-emphasis - предварительное выделение фразы (или акцентирование). Происходит за счет фильтрации звукового сигнала с помощью FIR (finite impulse response) фильтра. Этот шаг вызван необходимостью спектрального сглаживания сигнала, который становится менее восприимчивым к различным шумам, возникающим в процессе обработки.
    3. Далее изучают спектрограмму сигнала. Все множество присутствующих в спектрограмме частот разделяется на пронумерованные интервалы, каждому из которых определяется свой диапазон. Для каждого такого интервала подсчитывается среднее значение интенсивности сигнала в выделенном диапазоне и строится диаграмма, где ось абсцисс состоит из номеров интервалов, а ординат из ''усиленных'' амплитуд (значения амплитуд возводятся в квадрат, чтобы не было отрицательных величин при дальнейшей операции логарифмирования). Этот процесс называется мел-скейл фильтрацией.
    4. Далее амплитуды сигнала сжимаются с помощью применения логарифма, поскольку человеческое ухо воспринимает громкость сигналов по логарифмической шкале, а вектора свойств получают на основе человеческого восприятия звука.
    5. Заключительным шагом является применение к спектру обратного преобразования Фурье. Результатом этого шага является выделение кепстральных коэффициентов, которые формируют вектор свойств данного сегмента. 
Кепстральные коэффициенты математически могут быть описаны следующим образом:


где S(k) - усредненный спектр сигнала усиленной интенсивности, характерный для k–ого частотного интервала (бенда) в мел-скейл фильтре; K - общее количество интервалов, на которые разбивается спектр.

 
4. Рандомизированный алгоритм стохастической аппроксимации
Будем считать, что в систему распознавания поступает только l различных слов. Вектора свойств звукового сигнала поступают на вход РАСА и представляются как точки в многомерном евклидовом пространстве. По поступающей обучающей цепочке алгоритм определяет центры l классов, которые соответствуют различным словам. Координаты центров являются векторами свойств слов-шаблонов, с которыми сравниваются входные сигналы. Слово отождествляется с определенным классом мерой близости вектора свойств его сигнала к центру класса. Рассматриваемый далее алгоритм используется для формирования эталонных слов, или центров классов в системе. Для распознавания речевых команд используется традиционный метод сравнения с эталонами с последующим нахождением минимального расстояния до них. 
В качестве первоначальных центров классов можно выбрать любые l векторов пространства. Выбор распознаваемых слов, вообще говоря, имеет значение: чем они сильнее фонетически отличаются друг от друга, тем проще их распознавать. Но часто бывает так, что распознаваемые слова оказываются созвучны. Поэтому важно определить центры классов так, чтобы они находились на максимально возможном расстоянии друг от друга. 
Таким образом задача распознавания отдельных слов речи интерпретируется как частный случай задачи самообучения в контексте автоматической классификации изображений.
 
5. Задача самообучения
Пусть имеется некоторая классифицирующая система, которая в состоянии классифицировать любой входной сигнал (стимул) x, относя его к какому-либо определенному множеству. Система, дополненная способом изменения параметров, может подгонять свою классификацию к некоторой требуемой и, тем самым, демонстрировать свойство обучаемости или адаптации. Такая подгонка требует определенной дополнительной информации о классификации. Обычно эта информация поступает с обучающей последовательностью  состоящей из классифицированных требуемым образом входных сигналов. Уточнение характера этой информации приводит к различным постановкам задачи обучения. Сам процесс подбора параметров с помощью обучающей последовательности носит название процесса обучения. 
По окончании процесса обучения система определяет множества, которые принимаются в качестве требуемого разбиения. Они могут не совпадать с реальным разбиением. Это отличие, выраженное каким-либо способом, будет определять качество работы обученной системы. Если процедуры построения оценок в задачах обучения опираются на использование при обучении указаний учителя о классификации обучающей последовательности, то их называют обучением с учителем. Возможна похожая постановка задачи обучения, в которой указания учителя не используются. Тогда говорят о задаче самообучения, а сам процесс обучения сводится к определению последовательности оценок, минимизирующих функционал специального вида [5].
 
6. Автоматическая классификация входных сигналов
С содержательной точки зрения смысл автоматической классификации состоит в построении правила, сопоставляющего каждой точке х множества X некоторый образ (класс). Подразумевается, что сопоставленные одному и тому же образу точки обладают некоторым общим свойством, которое и порождает этот образ. Например, таким свойством может быть близость расположения точек к некоторому ''центру'', и тогда понятие образа (класса) связано с обычным представлением о компактном расположении точек, принадлежащих тому или иному образу (классу).
Всякий способ классификации связан с потерями, которые обычно характеризуются с помощью штрафных функций (стоимости) qk(x,), k = 1,2,…,l,   набор векторов, характеризующий центры классов. 
В типичных случаях, когда X – вещественное векторное пространство, значения штрафных функций  qk(x,) возрастают при удалении х от центра соответствующего образа (класса). Геометрический смысл задачи автоматической классификации заключается в следующем. Допустим, что в системе всего l классов:  и штрафные функции имеют похожий друг на друга вид
Рассмотрим разбиение множества  X на l классов  по правилу: к множеству   относятся все точки x, которые находятся к центру  ближе, чем к любому другому. Для однозначности считаем, что в случае равенства расстояний до нескольких центров, точка x относится к классу, соответствующему центру с меньшим номером. Интеграл

 

определяет рассеяние точек x в множестве  . 
Определим функционал среднего риска:

 

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

 

 

 

7. Пробное возмущение и алгоритм оценивания

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

РАСА основан на использовании наблюдаемой последовательности серии случайных независимых друг от друга векторов , называемых в дальнейшем пробным одновременным возмущением и составленных из независимых бернуллиевских, равных ±1, случайных величин с взаимно независимыми компонентами [1]. 
Опишем способ формирования последовательности оценок   оптимального набора векторов . Зафиксируем некоторый начальный набор  и выберем последовательности положительных чисел  и , стремящиеся к нулю. В [1] предложен алгоритм:
 

 

в котором  - l-мерный вектор, составленный из нулей и одной единицы, соответствующей координате с номером k, когда xn располагается ближе всего к множеству ;    l-мерные векторы, составленные из измеренных с помехами в соответствующих точках значений функций потерь;  – соответствующие вектора из ошибок наблюдений;

– проектор в множество .

Алгоритм сходится к оптимальному набору центров классов  при определенных условиях. Доказательство этого факта, а также набор необходимых условий можно найти в статье [1].

 

 

8. Практическое применение
В качестве эксперимента была создана упрощенная модель применения алгоритма РАСА для распознавания отдельных слов речи. В среде Matlab 7.0.1 была построена дикторозависимая самообучающаяся система.
Выбор распознаваемых слов, вообще говоря, важен. Чем они сильнее фонетически отличаются друг от друга, тем проще их распознавать. Для обеспечения сходимости алгоритма при выбранной штрафной функции  необходимо чтобы расстояние между различными классами было больше, чем максимальный среди всех классов радиус. Таким образом, желательно, чтобы центры классов находились на максимальном расстоянии друг от друга. В качестве первоначальных центров классов можно выбрать любые четыре точки пространства RM.  В качестве таких были взяты вектора свойств первых отличных друг от друга слов из обучающей последовательности.

Размерность фазового пространства M была определена как сумма размерностей всех векторов свойств сегментов, на которые разбивался участок звукового сигнала, соответствующий временному интервалу в 1 секунду. Каждый сегмент определялся временным интервалом равным 25 мс. Соответственно, всего получалось 40 таких интервалов. Каждому сегменту в ходе спектрального анализа сопоставлялся вектор свойств, размерность которого была равна 24. Это вызвано тем, что весь спектр разбивался на 24 диапазона. Для каждого диапазона подсчитывалось среднее значение спектра. Набор таких средних значений формировал в дальнейшем вектор свойств. Поскольку перекрытие сигналов не было реализовно, размерность фазового пространства составила 40*24=960.

Для каждого класса было записано более ста семплов, которые формировали обучающую последовательность. Такое относительно большое количество необходимо для обеспечения лучшей сходимости алгоритма. Запись происходила с частотой дискретизации 8000 Гц и квантованием 16 бит. В ходе обработки этих сигналов, помимо извлечения векторов свойств, были применены методы оптимизации, связанные с особенностью записи микрофона. Эти оптимизации осуществлялись автоматически в процессе обучения системы.

Скорость сходимости алгоритма и сходимость его в целом на практике во многом определяется выбором последовательностей  и , участвующих в работе алгоритма. Важную роль играет также пробное одновременное возмущение, в качестве которого не обязательно брать бернуллиевсие  случайные величины. Главное, они должны быть конечны и симметрично распределены. Из эмпирических соображений в качестве последовательности {} была взята последовательность 3/n, а в качестве  {} 1/. Роль пробного одновременного возмущения играли случайные величины равные .
На Рис.2 показана сходимость алгоритма для одного слова. Поскольку размерность пространства велика, на рисунке изображены расстояния между входным сигналом n и аппроксимированным в ходе работы РАСА алгоритма центром класса. Всего в систему поступило сто сигналов, которые определили вектор свойств эталонного слова, соответствующего центру класса при n=100. 
При извлечении векторов свойств из сигналов были допущены некоторые неточности, связанные с желанием облегчить реализацию системы. В частности, довольно грубо подчитывались средние значения частот, соответствующие частотным диапазонам в мел-скейл фильтрации. Несмотря на это удалось достичь 98% точности распознавания. Эту статистику можно еще улучшить, если по-другому реализовать способ извлечения кепстральных коэффициентов.

 

Рис. 2: Сходимость РАСА алгоритма к центру одного класса.

 

9. Заключение
В статье представлен новый подход для решения задачи распознавания отдельных слов речи, основанный на рандомизированном алгоритме стохастической аппроксимации. Оценки, доставляемые алгоритмом, состоятельны при почти произвольных помехах. Также сохраняется работоспособность алгоритма при росте размерности вектора оцениваемых параметров и увеличении количества классов (распознаваемых слов).
Описаны основные этапы решения задачи распознавания отдельных слов. Для получения вектора свойств сигнала использовался метод MFCC (Mel-Frequency Cepstral Coefficients). Точность распознавания построенной системы достигает 98%. Система может быть усовершенствована для случая распознавания большего количества слов. Точность распознавания может быть улучшена за счет усовершенствования реализации метода MFCC.

Л и т е р а т у р а

 [1] Граничин О. Н., Измакова О. А. Рандомизированный алгоритм стохастической аппроксимации в задаче самообучения. Автоматика и телемеханика. 2005.  8. C. 52 - 63.
[2] Граничин О. Н., Поляк Б. Т. Рандомизированные алгоритмы оптимизации и оценивания при почти произвольных помехах. М., Наука, 2003.
[3] Gold B., Morgan N. Speech and Audio Signal Processing. John Wiley and Sons, Inc, 2000.
[4] Rogina I. Automatic speech recognition. Carnegie Mellon University, 1998.
[5] Фомин В. Н. Рекурентное оценивание и адаптивная фильтрация. М.: Наука, 1984.
 
 

Сведения об авторах.

Граничин Олег Николаевич

ученая степень, звание:

доктор физ.-мат. наук, профессор;

должность:

профессор кафедры системного программирования математико-механического факультета, СПбГУ;

заведующий лабораторией стохастических вычислительных систем НИИ информационных технологий СПбГУ;

область научных интересов:

теоретическая кибернетика, адаптивное и оптимальное управление, квантовые компьютеры, рандомизированные алгоритмы.

контакты:

дом. 812-323-01-99 моб. +7-921-740-03-37, раб. 812-323-84-54

e-mail: Oleg_granichin@mail.ru

 

Шалымов Дмитрий Сергеевич

аспирант кафедры системного программирования математико-механического факультета СПбГУ;

область научных интересов:

адаптивное и оптимальное управление, рандомизированные алгоритмы,

распознавание образов, системы реального времени, квантовые компьютеры.

контакты:

ул. Белоостровская 31, кв. 194, 197342

дом. 492-93-01 моб. +7-921-562-54-42, e-mail: shalydim@mail.ru