(A2A) Teóricamente tendrás que entrenar un HMM-GMM para modelar estos cuadros. La suposición básica es que cada trama MFCC es generada por un estado HMM. La probabilidad de emisión para ese cuadro está determinada por el GMM asociado con ese estado. Las probabilidades de transición entre los HMM restringen las rutas que sus tramas pueden tomar a través de los estados HMM. Suponiendo que sus datos están etiquetados, es decir, sabe lo que se dice en cada enunciado, el proceso de capacitación involucra un algoritmo EM que básicamente hace lo siguiente: (1) asigna cada cuadro a un estado HMM (asignación difícil) o una distribución sobre los estados HMM ( asignación suave), (2) volver a estimar los parámetros del modelo para los GMM (medias y variaciones) y HMM (probabilidades de transición), y (3) repetir hasta la convergencia.
Este proceso puede sonar bastante simple, pero hay muchos detalles técnicos que se incluyen en él, por ejemplo, división gaussiana, vinculación de estado, agrupamiento de estado, entrenamiento de monófono vs. triphone, normalización de características, etc. Me parece que carece de los conocimientos básicos. en ASR (por ejemplo, ¿por qué necesita usar tanto HMM como GMM?) y quizás también aprendizaje automático. Por ejemplo, ¿sabes la diferencia entre un conjunto de entrenamiento y prueba? ¿Sabes cómo hacer validación cruzada para seleccionar los mejores hiperparámetros (hay muchos de ellos en un sistema ASR, y esto es muy importante)? Incluso si de alguna manera logras que este sistema funcione, es poco probable que aprendas algo sustancial. Si su objetivo es aprender sobre ASR en profundidad razonable, sugiero leer los primeros capítulos de este informe. Es una de las introducciones mejor escritas a los conceptos de ASR que he visto.
Dicho esto, si aún insiste en hacer esto, debe usar un kit de herramientas en lugar de codificar todo usted mismo. Permítanme repetir eso, ¡NO intente implementar un sistema ASR completo usted mismo! Esto es prácticamente imposible en su nivel actual de comprensión.
- ¿Qué significa realmente el aprendizaje automático en términos reales?
- ¿El libro "Aprendizaje automático: una perspectiva algorítmica" aborda la implementación en profundidad?
- ¿Qué son los asombrosos papeles gráficos de conocimiento?
- ¿Cuáles son las principales similitudes y diferencias entre los alumnos basados en instancias y las máquinas de vectores de soporte?
- Además de tratar de reconstruir la entrada (como en Autoencoder), ¿qué otras tareas podrían resultar útiles para el aprendizaje no supervisado de redes profundas?
La forma más fácil de hacer esto es probablemente usar Kaldi. Solo necesita preparar sus datos de una manera que Kaldi pueda procesar y se encargará del resto. Revisa esta guía con cuidado y con suerte entenderás cómo encajan las cosas.
Otra opción es usar HTK. Esto es lo que usé cuando comencé con ASR. No está tan activamente desarrollado como Kaldi, pero creo que es más fácil para los principiantes y es más fácil obtener información sobre ASR. También tiene un tutorial escrito mucho mejor (HTK Book, el capítulo 1 cubre las teorías, el capítulo 3 es un tutorial práctico).