Файл: Речевых сигналов.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.12.2023

Просмотров: 246

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

83
1   2   3   4   5   6   7   8   9   ...   13

Глава 4. МЕТОДЫ ОБРАБОТКИ РЕЧЕВЫХ СИГНАЛОВ,
ИСПОЛЬЗУЕМЫЕ В СИСТЕМАХ
РАСПОЗНАВАНИЯ РЕЧИ
4.1. Скрытые марковские модели
Использование скрытых марковских моделей (СММ) для распозна- вания речи базируется на следующих предположениях.
1.
Речь может быть разбита на сегменты (состояния), внутри которых речевой сигнал может рассматриваться как стационарный. Переход между этими состояниями осуществляется мгновенно.
2.
Вероятность появления символа, порождаемого моделью, зависит только от текущего состояния модели и не зависит от предыдущих порож- денных символов.
По сути, ни одно из этих двух предположений не является справед- ливым для речевого сигнала. Большое количество исследований посвяще- но тому, чтобы сгладить недостатки этих предположений [29]. Тем не ме- нее стандартные СММ – основа для большинства современных систем распознавания речи.
Существует несколько типов СММ, различающихся по своей топо- логии (эргодические, лево-правые и др.), с дискретными или непрерывны- ми символами наблюдения. Рассмотрим тип СММ, который был использо- ван компанией «SPIRIT Corp» для построения системы автоматического распознавания речи «SPIRIT ASR Engine».
В построении ASR Engine использовались лево-правые СММ без пропусков состояний с непрерывной плотностью наблюдений [5].
4.1.1. Математическая модель лево-правых СММ
На рисунке представлена топология подобной СММ с тремя состоя- ниями.
Скрытая марковская модель представляет собой конечный автомат, изменяющий свое состояние в каждый дискретный момент времени t . Пе- реход из состояния
i
S в состояние
j
S осуществляется случайным образом с вероятностью
ij
a . В каждый дискретный момент времени модель порож- дает вектор наблюдений
t
O с вероятностью
( )
t
O
b j

84
Параметры СММ
Для определения скрытой марковской модели необходимо задать следующие элементы.
Лево-правая СММ без пропусков состояний
1.
N – число состояний в модели. В каждый момент времени модель может находиться в одном из N различных состояний
1 2
,
,...,
N
S S
S
. В дискретные моменты времени t модель меняет состояние (возможно, пе- реходя при этом опять в то же состояние). В каждый момент времени со- стояние модели будем обозначать qt .
2.
Распределение вероятностей переходов между состояниями
{ }
ij
A
a
=
, где
, 1
,
1
a
P q
S
q
S
i j N
ij
t
j
t
i


=
=
=


+




. (4.1)
3.
( )
{
}
j
t
B
b O
=
– распределение плотностей вероятности наблюдений для каждого состояния
i
S , где
( )
(
|
)
P
j
q
b O
O
j
t
t
t
=
= , 1
,1
t T
j N
≤ ≤
≤ ≤ ; (4.2)
t
O – вектор наблюдений в момент времени t .
В непрерывных СММ величина
( )
b O
j
t моделируется конечной га- уссовской смесью вида
( )
( ,
, )
1
M
N
b O
C
O
U
i t
ik
t
jk
jk
k
μ
= ∑
=
, (4.3) где Cik – весовой коэффициент k -го компонента смеси в состоянии j ,
M – количество компонентов смеси, N – гауссовская плотность вероят- ности. Коэффициенты Cik удовлетворяют стохастическим ограничениям
11
a
22
a
33
a
12
a
23
a
1
S
2
S
3
S
( )
1 1
b O
Последовательность векторов наблюдений
O
=
1
O
…..
OT


85
(4.4)
Плотность N характеризуется вектором средних значений
jk
μ
и ковариационной матрицей U jk для k -го компонента смеси в состоянии
S j :
(4.5) где n – размерность вектора наблюдений Ot .
4.
Начальное распределение вероятностей состояний
{ }
i
π
π
=
[
]
1
P q
S
i
i
π
=
=
, 1 i N
≤ ≤ . (4.6)
Из вышесказанного нетрудно увидеть, что полное описание СММ предполагает задание двух параметров модели( ,
)
N M , множества допус- тимых символов наблюдения, а также трех вероятностных мер ( , , )
A B
π
Далее для обозначения всего множества параметров модели используется краткая запись ( , , )
A B
=
λ
π
Применение СММ
Для того чтобы использовать СММ в практических задачах, необхо- димо решить три проблемы [41].
П р о б л е м а 1 . Пусть заданы последовательность наблюдений
,
,
1
O O
OT
=

и модель ( , , )
A B
λ
π
=
. Как эффективно вычислить вероят- ность ( | )
P O
λ
появления этой последовательности наблюдений для дан- ной модели?
Проблема 2. Пусть заданы последовательность наблюдений
,
,
1
O O
OT
=

и модель
λ
. Как выбрать последовательность состояний
, ,
1
Q q
qT
=

, которая с наибольшей вероятностью для данной модели
( ,
| )
P O Q
λ
порождает заданную последовательность наблюдений?
Проблема 3.Каким образом нужно подстроить параметры модели
( , , )
A B
λ
π
=
для того, чтобы максимизировать ( | )
P O
λ
?
Далее последовательно будут рассмотрены эти три проблемы и алго- ритмы, приводящие к их решению.
1, 1
, 1 1
0.
M
C
i N
k M
i k
k
C ik

=
≤ ≤
≤ ≤

⎪⎪

=


⎪⎭
( , ,
)
1 1
1
(
)
e x p
(
) ,
2
(2 )
N O
U
t
j k
j k
T
Ot
U
O
j k
t
j k
j k
n U j k
μ
μ
μ
π
=




=







86
4.1.2. Алгоритм прямого-обратного хода (решение проблемы 1)
Наиболее прямой путь для вычисления вероятности ( | )
P O
λ

перечислить все возможные последовательности состояний заданной дли- ны T. Так, для фиксированной последовательности , ,
1
Q q
qT
=

вероят- ность ее появления для данной модели
(
1)
1 1 2 2 3
( | )
q T
qT
P Q
a
a
a
q q q q q
λ π

=
(4.7)
Вероятность появления заданной последовательности наблюдений для этой фиксированной последовательности состояний при условии неза- висимости наблюдений определяется как
( | , )
( )
(
)...
(
)
1 2
1 2
P O Q
b
O b
O
b
OT
q
q
qT
=
λ
. (4.8)
Совместная вероятность последовательностей O и Q – это произве- дение вероятностей
( ,
| )
( | , ) ( , )
P O Q
P O Q
P Q
=
λ
λ
λ
. (4.9)
Вероятность появления последовательности наблюдений O для дан- ной модели вычисляется как сумма всех эти совместных вероятностей для всех возможных последовательностей состояний Q :
( | , ) ( | )
( | )
( )
(
)
(
).
1 2
1 1 1 2 2 2 3 1
T
T
T
P O Q
P Q
P O
Q
b
O a
b
O a
a
b
O
q q
q q q
q q
q
q q
T
Q
λ
λ
λ
π


=
=


=
(4.10)
Из выражения (4.10) следует, что необходимо выполнить порядка
2
T
умножений для каждой из T
N последовательности состояний Q . Та- ким образом, при прямом подсчете вероятности ( | )
P O
λ
требуется провес- ти порядка 2
T
TN умножений. Даже для небольших чисел, например,
10
N
= и
5
T
= , необходимо порядка 6 10 операций умножения. Для прак- тического решения первой проблемы требуется более эффективная проце- дура, которая называется процедурой прямого – обратного хода
(Forward – backward procedure ) [41].
Существует две модификации алгоритма, равноценные по вычисли- тельным затратам, – алгоритм прямого хода и алгоритм обратного хода.
Они различаются выбором переменной, прямой или обратной, предпочти- тельной в каждом конкретном случае.
Алгоритм прямого хода.
Введем так называемую прямую перемен- ную ( )
t
a i , определяемую выражением
1 2
( )
( ,
,...,
| )
;
t
a i
P
q
O O
O
S
t
i
t
λ
=
=
, (4.11) которая представляет собой вероятность появления для данной модели частичной последовательности наблюдений
1 2
,
,...,
O O
Ot до момента t и


87
состояний Si в этот момент времени. Значение переменной ( )
t
a i вычисля- ется по индукции следующим образом:
1)
инициализация:
1 1
( )
( )
a i
b O
i i
π
=
, 1 i N
≤ ≤ ; (4.12)
2)
индуктивный переход:
( )
( )
(
)
1 1
1
N
j
i
a
a
a
b O
t
t
ij
j
t
i


= ∑


+
+


=


, 1 1
t T
≤ ≤ − , 1 i N
≤ ≤ ; (4.13)
3)
окончание:
( | )
( )
1
N
P O
a i
T
i
λ
= ∑
=
. (4.14)
Для вычисления вероятности ( | )
P O
λ
, таким образом, требуется уже порядка
T
T
N
вычислительных операций [28]. Для взятых в качестве при- мера чисел 10
N
= и
5
T
= количество операций умножения составляет около 500, что в 2000 раз меньше, чем для прямых вычислений.
Алгоритм обратного хода.
Аналогичным образом можно ввести об- ратную переменную ( )
i
t
β
, определяемую выражением
1,
2
( )
(
,...,
|
, )
i
P
q
O
O
O
S
t
t
T
i
t
t
λ
β
=
=
+
+
, (4.15) которая для заданной модели
λ
представляет собой совместную вероят- ность появления частичной последовательности наблюдений от момента времени
1
t
+ до
T
и состояния Si в момент времени t .
Значения обратной переменной также можно вычислить по индук- ции:
1)
инициализация:
( ) 1, 1
i
i N
t
β
=
≤ ≤ ; (4.16)
2)
индукция:
( )
(
)
( ),
1 1
1
для всех
1,
2, , 1, 1
;
N
i
j
a b O
ij j
t
T
t
j
t T
T
i N
β
β

= ∑
+
+
=
= −

≤ ≤
(4.17)
3)
окончание:
1 1
( | )
( ) ( )
N
P O
i
b O
i i
i
i
λ
β
π
= ∑
=
. (4.18)
4.1.3. Алгоритм Витерби (решение проблемы 2)
Рассмотрим решение второй проблемы, которая заключается в поис- ке оптимальной последовательности состояний, соответствующих задан- ной последовательности наблюдений. Существует несколько приемлемых критериев оптимальности.

88
Алгоритм Витерби используется при лингвистическом декодирова- нии и автоматическом извлечении параметров статистической модели.
( )
(
| , ),
( ) 1 1
N
Y i
P q
S O
Y i
t
t
i
t
i
λ
=
=
=

=
. (4.19)
Введем переменную, которая представляет собой вероятность пре- бывания системы в момент t в состоянии Si при заданной последователь- ности наблюдений O и модели
λ
. Используя прямую и обратную пере- менные, уравнение (4.19) можно записать в следующем виде: arg max
( ) , 1
q
Y i
t T
t
t


=
≤ ≤


, (4.20) где ( )
Y i
t
соответствует частичной последовательности наблюдений
,
, ,
1 1
O O
Ot

и состоянию Si в момент t , а ( )
i
t
β
– остатку последователь- ности наблюдений , ,
1,
2
O
O
O
t
t
T
+
+

и заданному состоянию Si в момент t .
Используя ( )
Y i
t
, можно вычислить наиболее вероятное состояние qt в момент t как состояние, определяемое выражением arg max
( ) , 1
; 1
q
Y i
t T
i N
t
t


=
≤ ≤
< <


. (4.21)
Описание алгоритма
Для того чтобы по заданной последовательности наблюдений
,
, ,
1 1
O O
Ot

найти наилучшую последовательность состояний
{
}
1 2
Q
q q
qT
=

, определим следующую величину:
( ) max
,
|
1 2 1 2 1 2 1
i
P q q
q
i O O
O
t
q q
q
t
t
t
δ
λ


=
=






, (4.22) которая представляет собой максимальную вероятность того, что при за- данных
t первых наблюдениях последовательность заканчивается в мо- мент t в состоянии Si . По индукции получаем
( )
max ( )
(
)
1 1
j
i a
b O
t
t
ij
j
t
δ
δ


=
+
+




, или max
( )
( )
(
)
, 1
; 1 1
1 1
1
t
ij
i a
j
b O
i N
t T
t
j
t
i N
δ
δ


=
≤ ≤
≤ ≤ −


+
+
≤ ≤


. (4.23)
Для того чтобы затем восстановить последовательность состояний для всех значений t и j , необходимо хранить значения аргументов, кото- рые максимизируют вероятность (4.23). Для этой цели используют массив
( )
j
t
ψ
. Полную процедуру, требуемую для определения последовательно- сти состояний, можно теперь сформулировать следующим образом:


89 1)
инициализация:
( )
( ), 1
,
( ) 0 1
1 1
i
b O
i N
i
i i
δ
π
ψ
=
≤ ≤
= ; (4.24)
2)
рекурсия:
( ) max
( )
( ),
1 1
2
, 1
( ) arg max
( )
;
1 1
j
j a
b O
t
i N
t
ij
j
t
t T
j N
j
j a
t
i N
t
ij
δ
δ
ψ
δ



=
≤ ≤






≤ ≤
≤ ≤




=
≤ ≤






(4.25)
3)
окончание: max
( ) ,
arg max
( )
1 1
P
i
q
i
i N
T
t
i N
T
δ
δ






=
=
≤ ≤ ⎣

≤ ≤ ⎣

; (4.26)
4)
восстановление пути (последовательности состояний):
(
),
1,
2, ,1 1
1
q
q
t T
T
t
t
t
ψ


=
= −

+
+
… .
Реализация алгоритма Витерби аналогична (за исключением шага восстановления) процедуре прямого хода. Основное отличие – использо- вание вместо процедуры суммирования процедуры максимизации. Кроме того, алгоритм Витерби может быть применен для решения первой про- блемы (определения вероятности появления заданной последовательности наблюдений для данной модели), поскольку на окончательном шаге алго- ритма получают вероятность для всей предшествующей последовательно- сти наблюдений.
4.1.4. Алгоритм Баума – Велча (решение проблемы 3)
Проблема переоценки параметров модели ( , , )
A B
λ
π
=
по заданной последовательности наблюдений – наиболее трудоемкая в вычислительном плане проблема СММ. Используя итеративные процедуры можно локаль- но максимизировать вероятность ( | )
P O
λ
. Одна из таких процедур – метод переоценки Баума – Велча (Baum – Welch method), или ЕМ-метод
(Expectation-maximization).
Введем переменную
( , )
(
,
| , )
1
i j
P
O
q
q
S
S
i
j
t
t
t
λ
ξ
=
=
=
+
, (4.27) которая определяет вероятность того, что при заданной последовательно- сти наблюдений в моменты времени t и
1
t
+ система будет соответствен- но находиться в состояниях Si и S j .
Используя определения прямой и обратной переменных (4.11 и 4.15), можно записать:

90
( )
(
)
( )
1 1
( , )
( | )
( )
(
)
( )
1 1
( )
(
)
( )
1 1
1 1
j
j
a
a b O
t
ij j
t
t
i j
t
P O
j
j
a
a b O
t
ij j
t
t
N
N
j
j
a
a b O
t
ij j
t
t
i
j
+
+
=
=
+
+
=
∑ ∑
+
+
=
=
β
ξ
λ
β
β
(4.28)
Введем также переменную ( )
i
yt , являющуюся апостериорной веро- ятностью того, что при заданной последовательности наблюдений O сис- тема в момент времени t будет находиться в состоянии Si :
( )
( , )
1
N
i
i j
y
t
t
j
ξ
= ∑
=
. (4.29)
Если величину ( )
i
yt просуммировать по всем t , то результат можно рассматривать как ожидаемое время пребывания системы в состоянии Si .
Аналогичным образом результат суммирования
( , )
i j
t
ξ
по всем
t
можно рассматривать как ожидаемое число переходов из состояния Si в S j :
1
( )
1
T
i
yt
t


=
– ожидаемое число переходов из Si ; (4.30а)
1
( , )
1
T
i j
t
t
ξ


=
– ожидаемое число переходов из Si в S j . (4.30б)
Используя перечисленные выше формулы можно получить пере- оценку параметров СММ:
( )
1
y i
i
π
=
, (4.31а)
1
( , )
1 1
( )
1
T
i j
t
t
aij
T
i
yt
t
ξ


=
=


=
, (4.31б)
(
)
( ,
,
)
1
M
b
C N O
U
Ot
j
jk
t
jk
jk
k
μ
= ∑
=
. (4.31в)
Переоценка компонентов C jk , jk
μ
, U jk в выражении (4.31в) вы- полняется по следующим формулам: