Estudio de robustez frente a la pérdida de tramas en reconocimiento

Anuncio
Estudio de robustez frente a la pérdida de tramas en reconocimiento
distribuido de habla
Laura Docío-Fernández, Antonio Cardenal-López y Carmen García-Mateo
Departamento de Teoría de la Señal y Comunicaciones
E.T.S.I. Telecomunicación – Universidad de Vigo
36200 Vigo – SPAIN
{ldocio,cardenal,carmen}@gts.tsc.uvigo.es
Resumen
En reconocimiento distribuido de voz, las características
utilizadas en el reconocimiento se calculan en el cliente, y se
transmiten al servidor remoto para su posterior decodificación.
En este artículo, investigamos el tema de robustez en el reconocedor remoto frente a pérdidas de paquetes en una transmisión
por internet. En concreto en este articulo proponemos introducir
técnicas de missing data en el decodificador de Viterbi con el
objetivo de tratar como datos “no totalmente fiables” las tramas
de voz que sustituyen a las tramas perdidas. Éstas tramas de voz
se obtienen a partir de una técnica de error concealment basada
en la repetición de la última trama recibida en el receptor antes
de la perdida.
1. Introducción
El creciente uso de Internet y la actual apuesta por sistemas de
reconocimiento automático de voz, hace muy atractivos los servicios basados en reconocimiento distribuido de voz (DSR) que
operen sobre Internet. Estos servicios se basan en una arquitectura cliente-servidor en la que se puede distribuir la carga del
sistema de reconocimiento entre el cliente y el servidor basándose en la complejidad y la latencia de los algoritmos. Normalmente, el cliente dispone de un terminal pequeño y que consume
poca potencia, en el que se implementa un sencillo front-end
que realiza la captura de la señal de voz, la parametriza, cuantifica estos parámetros y los empaqueta para su transmisión por
la red (front-end del sistema de reconocimiento) [1]. El servidor remoto es el que realiza la decodificación de los vectores
de parámetros recibidos, i.e., la tarea de reconocimiento propiamente dicha.
Los sistemas DSR, al igual que la mayoría de sistemas de
reconocimiento automático de voz (ASR), pueden estar afectados por diversas fuentes de degradación debido al entorno acústico y al canal de comunicaciones. Aunque el tratamiento de
todas estas degradaciones se puede llevar a cabo en el receptor,
la naturaleza distribuida del proceso global de reconocimiento
hace más conveniente los procesados de reducción de degradaciones acústicas en el front-end (donde se dispone de la señal
de voz, sea esta limpia o ruidosa). De este modo, en el servidor remoto sólo se tienen que tener en cuenta las degradaciones
introducidas por el canal de comunicaciones.
Recientemente, se han presentado diversos trabajos en la
comunidad del Reconocimiento Robusto de Voz, sobre DSR en
Este trabajo ha sido parcialmente financiado por los proyectos
TEHAM (TIC2000-1005-C03-02) y Trancrigal (TIC200-1104-C0201).
aplicaciones de telefonía móvil. Tales trabajos abordan tanto la
mitigación de la degradación de la señal de voz debido al entorno acústico, como la mitigación de errores cometidos por el
canal digital. En este trabajo nos vamos a centrar en aplicaciones DSR en las que el canal de comunicación entre el cliente
y el servidor remoto es la red IP (Internet).
Las redes de conmutación de paquetes, como la IP, constituyen un entorno “difícil” en aplicaciones DSR. La comunicación en sistemas basados en una transmisión IP está caracterizada por la pérdida de paquetes, principalmente debida
a la congestión de los routers. En trabajos anteriores [2][3],
hemos investigado el efecto de la pérdida de paquetes en el
reconocimiento de voz para las tareas Aurora 2 y 3. Entre
otras hemos analizado técnicas clásicas de cancelación de errores para recuperación de paquetes perdidos entre las que se
incluyen: sustitución por silencio, sustitución por ruido, repetición e interpolación. Los resultados mostraron que la pérdidas
a ráfagas de paquetes tienen un efecto desastroso en las prestaciones del reconocimiento, mientras que con la pérdida aislada
de paquetes las prestaciones del reconocedor se ven sólo ligeramente afectadas.
El siguiente paso en nuestro trabajo investigador se enfoca en tratar las tramas de voz perdidas, después de su recuperación con una técnica clásica de error concealment, como
“no totalmente fiables” en el decodificador de Viterbi. Para ello pretendemos explorar las ideas para reconocimiento robusto
implícitas en las técnicas basadas en missing data.
Este articulo se organiza de la siguiente forma. En la sección 2 se presentan los modelos de red IP considerados. En la
Sección 3 se realiza una descripción de algunas de las técnicas de robustez frente a la pérdida de paquetes propuestas en
la literatura. En la Sección 4 se describe el marco experimental, en la Sección 5 se presentan y discuten algunos resultados
preliminares y por último en la Sección 6 se describen algunas
conclusiones y lineas futuras de trabajo.
2. Modelado de la red IP
En [2][3] se consideraron tres modelos de red IP con el objetivo
de medir la influencia de la pérdida de paquetes en las prestaciones del reconocedor. Dichos escenarios fueron:
1. Pérdida aleatoria de paquetes.
2. Pérdida de paquetes según un modelo de Gilbert de dos
estados.
3. Pérdida de paquetes según una simulación de la red IP
con el simulador -2 de UCB/LBNL [4].
En el trabajo presentado en este artículo sólo consideraremos los modelos 2 y 3, ya que el primero es muy poco realista para una red IP.
2.1. Modelo de Gilbert
La pérdida de paquetes en una red IP no es independiente de
paquete a paquete, sino que las pérdidas ocurren en ráfagas.
Bolot, en [5] estudió la distribución de la pérdida de paquetes
en internet, y concluyó que se podía aproximar por un modelo
Markoviano de pérdidas como el de Gilbert o Elliot. Teniendo
esto en cuenta, hemos simulado la red IP utilizando un modelo
de Markov de 2 estados que representa el modelo de Gilbert
(ver la Figura 1).
Las condiciones de pérdidas consideradas han sido las
mostradas en la tabla 1, donde es la probabili es la probabilidad
dad de pérdida no-condicional y condicionada en que el paquete anterior ha sido perdido. Las
condiciones 1 y 2 exhiben, principalmente, pérdidas de paquetes aislados y un número muy pequeño de ráfagas. Aproximadamente, el 90% de las ráfagas en estas dos condiciones comprenden más o menos 3 paquetes; mientras que en las condiciones 3
y 4 las ráfagas pueden durar 5 paquetes.
lleguen paquetes a una tasa constante se necesita poner un buffer
playout para suavizar el flujo de datos. Este buffer mantiene los
paquetes entrantes durante un tiempo determinado antes de enviarlos a la etapa de decodificación. Los paquetes que llegan
después del tiempo de playout especificado se asumen perdidos. El buffer playout utilizado en las simulaciones ha sido de
100 ms.
Como los paquetes TCP son mucho más largos que los paquetes de voz, cuando un paquete de voz se encuentran con un
paquete TCP se ve retrasado y puede llegar al receptor demasiado tarde. Esto da lugar a que existan pérdidas de paquetes que
consisten en ráfagas de longitud nada despreciable (Figura 3).
En este escenario se han considerado diferentes anchos de
banda del cuello de botella de forma que la pérdida de paquetes
(PLR) fuese igual, aproximadamente, a: 5%, 10%, 15%, and
20%.
p
1−p
1−q
0
non−loss
1
loss
q
Figura 2: Topología en cuello de botella.
Figura 1: Modelo de Gilbert para el modelado de pérdida de
paquetes.
Trace 2a (PLR=4.08%)
Tabla 1: Parámetros para la generación de las pérdidas en el
canal IP modelado con un modelo de Gilbert.
Trace 2b (PLR=10.63%)
300
100
250
80
200
60
150
condición
1
0.147
0.006
2
0.33
0.09
3
0.50
0.286
4
0.60
0.385
40
100
20
50
0
0
5
10
15
20
0
0
Trace 2c (PLR=14.88%)
2.1.1. Red IP con una topología en cuello de botella
También hemos analizado las prestaciones del reconocedor
cuando la red IP se modela a través de una red con una topología
en cuello de botella. El protocolo utilizado para enviar y recibir
paquetes de voz ha sido el protocolo RTP (Real-time Transport
Protocol); y el análisis se ha realizado en una situación en la que
mientras el usuario está hablando interfiere tráfico proveniente
de una fuente FTP (Web o e-mail).
Todas las simulaciones realizadas utilizan la topología de
cuello de botella mostrada en la Figura 2, en la se colocan tres
fuentes FTP y tres fuentes TCP en uno de los extremos de la
conexión, y los correspondientes seis receptores en el otro extremo.
Los routers asociados con la conexión utilizan una estrategia droptail y tienen un buffer con una capacidad de 2.5 kB.
Debido a las condiciones fluctuantes de la red, los paquetes generados a una tasa constante en la fuente pueden llegar al destino
con espaciado en tiempo irregular. Como el receptor espera que
20
40
60
80
100
Trace 2d (PLR=19.93%)
100
60
80
50
40
60
30
40
20
20
0
10
0
50
100
Burst length
150
0
0
50
100
150
Burst length
200
Figura 3: Distribución de la longitud de las ráfagas.
3. Robustez frente a la pérdida de paquetes
En esta sección describimos diversas técnicas diseñadas específicamente para tratar con la pérdida de paquetes en el servidor
remoto.
El problema cuando un gran número de tramas no se recibe
en el decodificador, es que la sincronización del reconocedor
250
de Viterbi se puede perturbar, incluso si las verosimilitudes se
adaptan utilizando sólo la matriz de transición. Por lo tanto,
las subsiguientes características recibidas pueden analizarse utilizando un estado inapropiado. Este problema se ve enfatizado
cuando la pérdida de paquetes ocurre a ráfagas, forzando casi
al mejor camino en el trellis a permanecer en el mismo estado
durante un periodo largo de tiempo.
En la literatura se ha presentado un gran número de estudios y propuestas para la recuperación de errores (pérdida de
paquetes) en aplicaciones de audio/vídeo que operan a través
de Internet. De entre todas las técnicas propuestas para tratar
la pérdida de paquetes nos vamos a centrar en aquellas basadas
en el receptor, concretamente en la denominadas error concealment.1 .
3.1. Técnicas de “recuperación” de paquetes
Las técnicas de error concealment lo que hacen es reemplazar
el paquete perdido por uno que sea similar al original. Esto
es posible en el caso de la señal de voz, porque ésta exhibe una
gran redundancia a corto plazo. Estas técnicas se pueden dividir
en tres categorías:
1. Inserción: Estos esquemas lo que hacen es insertar un
paquete de relleno, el cual puede ser silencio o ruido,
o bien, por ejemplo, el paquete recibido previamente
(repetición).
2. Interpolación: Estos esquemas utilizan normalmente alguna técnica de ajuste de patrones e interpolación para
derivar un paquete que se espera que sea similar al perdido.
3. Regeneración: Estos esquemas derivan el estado del decodificador a partir de los paquetes que rodean al perdido
y genera un paquete de reemplazo para el paquete perdido.
En nuestros experimentos hemos optado por la técnica de
repetición ya que es el algoritmo de mitigación de errores del
canal propuesto en Aurora. En concreto, lo que se hace en Aurora es lo siguiente: en cada ráfaga de error detectada, conteniendo 2B tramas, las primeras B tramas se sustituyen por la
última trama correcta antes de la ráfaga y las últimas B por la
primera trama correcta después de la ráfaga. En el caso de una
pérdida al principio de la sentencia, la primera trama correcta después del error se repite en las tramas degradadas. Una
solución similar se aplica a datos corrompidos al final de la sentencia.
3.2. Reconocimiento de voz con datos ”no fiables”
Las prestaciones de la técnica recuperación de paquetes por
repetición se degrada rápidamente a medida que aumenta el
número de tramas perdidas consecutivamente (ráfagas). Por
ejemplo, cuando el número de paquetes perdidos se aproxima
o excede la longitud de un fonema (10-100 ms o 1-10 tramas),
la señal de voz puede haber evolucionado a otro sonido, lo que
deja de justificar la repetición del último vector de características recibido.
En esta sección presentamos una extensión a la técnica de
recuperación basada en repetición, donde asignamos una “confianza o fiabilidad” a la recuperación de trama realizada. Esta confianza la introducimos, entonces, en el reconocedor de
Viterbi para mejorar las prestaciones del reconocimiento. De
1 Estos
esquemas no son sustitutos de los esquemas basados en el
transmisor, sino que ambos deberían trabajar conjuntamente.
este modo, esta estrategia se puede englobar en las estrategias
diseñadas para tareas que tratan con missing data.
3.2.1. El problema de missing data o datos no fiables
Se pueden distinguir dos subproblemas en la aplicación de las
técnicas de missing data en reconocimiento de voz robusto:
Identificación de las partes fiables y no fiables de los vectores de observación.
Necesidad de técnicas de clasificación que puedan tratar
con datos incompletos y/o no fiables.
En este trabajo vamos a considerar el segundo de estos subproblemas.
En general, el problema de clasificación consiste en asignar
un vector de observación a una clase . En el caso de missing
data, alguna, o todas, de las componentes de no son fiables o
no están disponibles. En estas, circunstancias, el problema en
una clasificación probabilística es que la verosimilitud no se puede evaluar de la forma habitual, por lo que habrá que
tratar con precaución la información no fiable de forma que se
vea minimizado su efecto en las prestaciones del reconocimiento.
3.2.2. Decodificación de Viterbi ponderada
En esta sección se propone como solución al problema de reconocimiento (clasificación) con datos no fiables una decodificación que utiliza un algoritmo de Viterbi ponderado.
a Aproximación 1
En [6] se presenta una solución para modificar el paso recursivo del algoritmo de Viterbi para tener en cuenta los errores
del canal de transmisión. Lo que se hace es ponderar la probabilidad de observación del vector de parámetros decodificado
dado el estado del modelo HMM con la probabilidad
de decodificar el vector de características . El coeficiente de
ponderación se puede insertar en el algoritmo de Viterbi elevando la probabilidad a la potencia para obtener la
siguiente ecuación de adaptación
(1)
es la verosimilitud máxima de observar los vectores
y estar en el estado en el instante ; y es la
donde
probabilidad de transición entre los estados y . La fórmula
de ponderación recursiva puede incluir factores de ponderación
individuales para cada una de los coeficientes que forman
el vector de características.
b Aproximación 2
En lugar de ponderar la probabilidad de observación otra idea muy similar y altamente relacionada, dado que trabajamos con funciones de distribución Gaussianas, consiste en
ponderar las matrices de covarianza de dichas Gaussianas. Así
la función de densidad de distribución que consideraría el motor
de reconocimiento sería:
(2)
donde, es la dimensión del vector de observación , y son
la media y la matriz de covarianza de la Gaussiana, respectivamente.
Cuando el número de paquetes perdidos de forma consecutiva es elevado, parece lógico que resulte beneficioso decrecer
el factor de ponderación a medida que avanzamos en el tiempo, ya que cuánto más nos alejemos de la última trama recibida
correctamente, menos se parecerá dicha trama a la trama perdida.
3.2.3. Backing-off acústico
Otra técnica de missing data para mejorar la robustez del reconocimiento de voz, que pretendemos analizar es la propuesta en [7]. Concretamente en este esquema se propone el uso
de un procedimiento de backing-off acústico, similar al que se
aplica en la obtención de los modelos de lenguaje, para limitar
la contribución de datos posiblemente corrompidos (“outliers”)
en el algoritmo de decodificación de Viterbi (en la obtención del
mejor camino a través del espacio de búsqueda).
La idea tras esta técnica es que las observaciones acústicas de test se pueden modelar por medio de dos distribuciones:
una estimada a partir de las observaciones de entrenamiento,
representando la distribución “limpia” y otra, una distribución
desconocida que representa los datos distorsionados (“no fiables”). De esta forma la verosimilitud de observar el vector
de observación en el estado (o clase) , , la calculamos como
WER
Sin pérd.
0,63
C1
1,05
C2
1,30
C3
5,45
C4
14,47
Tabla 2: Resultados de referencia sin pérdidas y con modelo de
Gilbert
plea el esquema de parametrización WI007 de ETSI [1]. Este
front-end proporciona un vector de características de dimensión
14 que contiene 13 MFCCs (incluido el coeficiente de orden 0)
más la log-energía. Estas características se agrupan en pares y
se cuantifican, por lo tanto cada paquete contendrá al menos 2
tramas de voz.
Para reconocimiento el coeficiente MFCC de orden 0 no se
considera. Sólo se consideran las restantes 13 componentes así
como las correspondientes derivadas primera y segunda.
4.3. Motor de reconocimiento
y es la representación paramétrica de la probabilidad de
observar cuando está descrita por la distribución de datos
“no fiables” o distorsionados (“outliers”). Si no disponemos
de ningún conocimiento acerca de ésta distribución podemos
describirla a través de una distribución uniforme, ya que es razonable asumir que estos “outliers” ocurrirán solamente en un
rango de valores observados durante el entrenamiento, que es
igual al rango total proporcionado por el módulo de extracción
de características.
En el servidor remoto, se detectan los errores del canal (paquetes perdidos), se aplica la técnica de recuperación descrita anteriormente, y se decodifican los paquetes recibidos para
su posterior reconocimiento. Para los experimentos hemos empleado el decodificador desarrollado por nuestro grupo de investigación [10]. Las características principales de este sistema
son las siguientes: utiliza dos pases, en el primero de ellos se
emplea el algoritmo de Viterbi aplicado en forma Síncrona con
búsqueda en haz, y en el segundo se aplica un algoritmo de
tipo . Como este reconocedor ha sido desarrollado pensando
en aplicaciones de habla continua y grandes vocabularios, gran
parte de su complejidad reside en la organización del espacio
de búsqueda, utilizando un vocabulario estructurado en árbol,
y en la aplicación del modelo de lenguaje, empleando métodos
de predicción [11]. Estas características no se aprovechan en
el entorno experimental que nos ocupa en este artículo, aunque
permitirán en el futuro extender los experimentos a la tarea Aurora4 con facilidad.
En este caso el reconocedor utiliza modelos de palabras (dígitos) entrenados con HTK, un modelo de silencio (utilizado al
principio y final de la sentencia) y un modelo para la posible
pausa entre palabras. Cada HMM tiene 3 Gaussianas por estado.
4. Marco experimental: Aurora 2
5. Resultados preliminares
(3)
donde , es el parámetro de backing-off,
es la representación paramétrica de la verosimilitud
,
(4)
4.1. Bases de datos
Los experimentos de DSR se han realizado sobre la tarea de reconocimiento Aurora 2 propuesta por el grupo Aurora de ETSI
[8]. La fuente de esta base de datos es la base de datos TIDigits limpia, la cual fue submuestreada a 8KHz y filtrada con la
característica en frecuencia G.712 definida por ITU [9].
El corpus de entrenamiento lo componen 8440 ficheros,
compuestos por grabaciones de 55 hombres y 55 mujeres. Ya
que en el estudio presentado en este trabajo no se pretende
analizar la robustez frente a ruido, sino frente a la perdida de
tramas de voz, el corpus de test considerado a sido el corpus
“limpio” del test a. Este corpus lo constituyen 4004 ficheros
pertenecientes a un grupo de 52 hombres y 52 mujeres distintos
de entrenamiento.
En esta sección presentamos los resultados obtenidos hasta
la fecha aplicando algunas de las técnicas de recuperación
descritas en anteriores secciones. En especial se han realizado
hasta el momento experimentos empleando los métodos
de decodificación de Viterbi ponderada, con repetición de
paquetes y aplicando el modelo de pérdidas de Gilbert.
En la tabla 2 se muestran los resultados de referencia con el
objetivo de comparar las prestaciones de nuestro decodificador
con el del estándar de Aurora. La primera columna corresponde a la tasa de error media para los cuatro conjuntos de
test, obtenida sin pérdidas. En las columnas dos a cinco se
pueden ver los resultados aplicando el modelo de pérdidas de
Gilbert con las cuatro condiciones descritas en la tabla 1.
4.2. Front-end
5.1. Resultados con la aproximación 1
Como hemos mencionado anteriormente, en este trabajo no
consideramos el efecto de ruido ambiental, por lo que se em-
Para este experimento se ha variado el parámetro de la
ecuación 1 entre cero y uno, donde un valor de uno implica
16
16
14
14
12
12
10
Condición 1
Condición 2
Condición 3
Condición 4
12,11
8
WER
WER
10
Condición 1
Condición 2
Condición 3
Condición 4
11,53
8
4,97
4,72
6
6
4
4
2
2
0
0
0
0.2
0.4
γt
0.6
0.8
1
Figura 4: Resultados aplicando la aproximación 1
0
1
2
3
γt
4
5
6
7
Figura 5: Resultados aplicando la aproximación 2
7. Referencias
realizar una decodificación normal, y un valor de cero supone
confiar únicamente en las probabilidades de transición, despreciando las de observación en las tramas perdidas. Los
resultados obtenidos se muestran en la figura 4. Como se puede
observar, apenas se obtienen mejoras para las condiciones uno
y dos, en las que las pérdidas de paquetes son muy escasas.
Sin embargo para las condiciones tres y cuatro la mejora es
sustancial, obteniéndose tasas de error mínimas de 12,11 y 4,97
con valores de de 0,3 y 0,2 respectivamente.
5.2. Resultados con la aproximación 2
En este caso hemos variado el parámetro entre uno, que corresponde a una decodificación normal hasta seis, obteniéndose
los resultados mostrados en la figura 5.
De nuevo se observa una mejora sustancial de la tasa de error para las condiciones de mayor pérdida de paquetes. Para la
condición 4 la mejor tasa de error es de 11,53 para ,
que es ligeramente inferior a la obtenida con la aproximación 1.
6. Conclusiones y lineas futuras
En este artículo hemos realizado una revisión de las técnicas
dedicadas al tratamiento de pérdidas en de paquetes en el servidor remoto. Se han presentado así mismo algunos experimentos
preliminares, utilizando la tarea Aurora2, con resultados esperanzadores. Parece claro que las técnicas basadas en la modificación del algoritmo de Viterbi, pueden conducir a mejoras
importantes, al menos en los escenarios con mayores pérdidas.
Sin embargo para extraer conclusiones más detalladas será
necesario extender las pruebas utilizando tareas más complejas. Por una parte queda pendiente el empleo de la topología de
cuello de botella descrita en el apartado 3.2. Por otra parte se
pretende extender el estudio a las tareas Aurora3, con la que ya
se están realizando experimentos actualmente, y Aurora4, que
se abordará en un futuro próximo.
Respecto a las técnicas de recuperación de paquetes, será interesante la implementación de la técnica de backing-off y la
comparación de sus prestaciones con los métodos aquí probados.
[1] ETSI, “Speech processing, transmission and quality aspects (STQ); Distributed speech recognition; Front-end
feature extraction algorithm; Compression algorithms,”
ETSI ES 201 108 V1.1.2, April 2000.
[2] D. Quercia, L. Docio-Fernandez, C. Garcia-Mateo,
L. Farinetti, and J.C. De Martin, “Performance analysis
of distributed speech recognition over ip networks on the
aurora database,” in Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing
(ICASSP), May 2002, pp. 3820–3823.
[3] L. Docio-Fernandez and C. Garcia-Mateo, “Distributed speech recognition over ip networks on the aurora 3
database,” in Proceedings of the International Conference
on Speech and Language Processing (ICSLP), September
2002.
[4] LBL, http://www.isi.edu/nsnam, Network simulator.
[5] J.C. Bolot, “End-to-end frame delay and loss behavior in
the Internet,” in In Proc. ACM SIGCOMM, Sept. 1993,
pp. 289–298.
[6] A. Bernard and A. Alwan, “Joint channel decoding –
viterbi recognition for wireless applications,” in Proceedings of the EuroSpeech, September 2001.
[7] J. de Veth, B. Cranen, and L. Boves, “Acoustic backingoff as an implementation of missing feature theory,”
Speech Communication, vol. 34, no. 3, pp. 247–265, 2001.
[8] “Aurora project database 2&3,” http://www.icp.inpg.fr/
ELRA/aurora2.html.
[9] ITU recomendation G.712, “Transmission performance
characteristics of pulse code modulation channels,” Nov.
1996.
[10] Antonio Cardenal López, Realización de un reconocedor
de voz en tiempo real para habla continua y grandes vocabularios, Ph.D. thesis, Universidad de Vigo, 2001.
[11] A. Cardenal-Lopez, F.J. Dieguez-Tirado, and C. GarciaMateo, “Fast lm look-ahead for large vocabulary continuous speech recognition using perfect hashing,” in Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), May 2002,
pp. 705–708.
Descargar