Modelo acústico GMM-HMM
En el reconocimiento de voz, cada estado de HMM puede corresponder a múltiples cuadros de valores de observación. La distribución de probabilidad de los valores de observación no es discreta, sino continua, por lo que es adecuado utilizar GMM para modelar. El módulo HMM es responsable de establecer la distribución de probabilidad de transición entre estados, mientras que el módulo GMM es responsable de generar la probabilidad de observación del HMM.
Adaptación del modelo: debido a diferencias en fonemas como acentos, equipos de recolección y ruido ambiental en varios lugares, es probable que el GMM-HMM entrenado no coincida con los datos de prueba en el nuevo campo, lo que resulta en resultados deficientes. resultados de reconocimiento. Esto requiere hacer entrenamiento adaptativo.
MAP (Estimación de probabilidad posterior máxima): la esencia del algoritmo es volver a entrenar y equilibrar la estimación de los parámetros del modelo original y los datos adaptativos.
MLLR (Regresión lineal de máxima probabilidad): la idea central del algoritmo es transformar linealmente los parámetros del modelo original antes del reconocimiento. La ventaja es que todos los modelos se pueden entrenar de forma adaptativa utilizando una pequeña cantidad. del habla, siempre y cuando Simplemente obtenga la matriz de transformación lineal.
Cada fonema (o trífono) está modelado por un HMM, y la probabilidad de emisión de cada estado del HMM corresponde a un GMM. El propósito de GMM-HMM es encontrar a qué estado pertenece cada cuadro de fonema. El entrenamiento de GMM-HMM utiliza el algoritmo EM autoiterativo. La forma más directa es utilizar el entrenamiento de Viterbi, es decir, el algoritmo EM se aplica a la actualización de los parámetros de GMM para mostrar el estado correspondiente de cada cuadro. y utilice los datos de entrenamiento anotados para actualizar los parámetros del GMM. Este método de entrenamiento es más rápido que el algoritmo de Baum-Welch sin una pérdida significativa en el rendimiento del modelo.
1. Durante la primera alineación, las muestras de entrenamiento se segmentan uniformemente según el número de estados de la oración.
2. Cada iteración de los parámetros del modelo requiere el uso de las herramientas gmm-acc-stats-ali y gmm-est en pares.
3. Después de varias rondas de entrenamiento iterativo, utilice la herramienta compilada por gmm-align para generar resultados de alineación a través de su algoritmo interno de Viterbi.
El supuesto básico del modelo de un solo factor es que la pronunciación real de un fonema no puede ser determinada por los fonemas adyacentes o cercanos a él (fonemas de contexto). Cada instancia de modelado de fonemas en la estructura de tres factores está determinada conjuntamente por su fonema central y un fonema contextual a su izquierda y derecha. Ya sea un modelo de un solo factor o de tres factores, generalmente se modela utilizando una estructura HMM de tres estados. Para resolver el problema de explosión de parámetros del modelo de tres factores, todos los modelos de tres factores se agrupan por similitud (árbol de decisión). Tres factores con pronunciaciones similares se agrupan en el mismo modelo y comparten parámetros.
Guión de entrenamiento: pasos/train_deltas.sh, el objetivo es entrenar un sistema de tres factores con 10,000 estados:
1. Basado en un solo factor, entrenar un modelo de tres factores con 5,000 estados
2. Utilice el modelo de 5000 estados para realinear los datos de entrenamiento, y la calidad de la alineación debe ser mayor que la calidad de alineación del sistema de un solo factor.
3. Utilice la nueva alineación para entrenar un sistema de tres factores de 10,000 estados
?phone-id: ID del teléfono, consulte data/lang/phones.txt, el resultado de la alineación forzada no contiene 0 (es decir, lt; epsgt;) y ID de desambiguación
hmm -state-id: El ID de estado de un único HMM, comenzando desde 0, consulte data/lang/topo
?pdf-id: El ID; del GMM, a partir de 0, el número total determina el DNN. El número de nodos de salida, generalmente miles;
?índice de transición: identifica diferentes transiciones de un estado en un solo Senone HMM, varios números comienzan desde 0;
?transition -id: la combinación de los cuatro elementos anteriores (phone-id, hmm-state-id, pdf-id, Transition-index) puede cubrir todas las acciones posibles, indicando qué teléfono , qué estado, qué transición y el pdf y el pdf correspondiente de este estado. La probabilidad de esta transición, la tupla (phone-id, hmm-state-id, pdf-id) se saca por separado, llamada estado de transición. y id de transición ambos comienzan a contar desde 1.
Relación: el ID de transición se puede asignar a un estado de transición único, y el estado de transición se puede asignar a un ID de PDF único, por lo que el ID de transición se puede asignar a un ID de PDF único. pdf-id no se puede asignar de forma única a fonemas, por lo que kaldi usa transición-id para representar el resultado de la alineación.
El proceso de reconocimiento de voz consiste en medir y evaluar todas las rutas en el espacio de decodificación, y el resultado del reconocimiento representado por la ruta con la puntuación más alta se utiliza como resultado de reconocimiento final. El entrenamiento tradicional de máxima probabilidad consiste en hacer que la puntuación de la ruta correcta sea lo más alta posible, mientras que el entrenamiento discriminativo se centra en aumentar la diferencia de puntuación entre estas rutas, no solo haciendo que la puntuación de la ruta correcta sea lo más alta posible, sino también en la incorrecta. La ruta especialmente es que la puntuación de la ruta confusa sea lo más baja posible.
Los criterios de entrenamiento discriminativo comúnmente utilizados incluyen información mutua máxima, riesgo bayesiano mínimo a nivel estatal y error de fonema mínimo.
Numerador: para un determinado dato de entrenamiento, el conjunto de todas las rutas correspondientes al texto correctamente etiquetado en el espacio de decodificación.
Denominador: El valor teórico de todo el espacio de búsqueda. Por lo general, las rutas de puntuación alta se filtran mediante una decodificación para aproximar todo el espacio del denominador, reduciendo así efectivamente el tamaño del denominador involucrado en la optimización discriminativa.
Celosía: el numerador y el denominador son en realidad una colección de parte de las rutas de decodificación en el proceso de decodificación. La estructura de datos que guarda estas rutas de manera compacta y efectiva es la celosía.