Esto es bastante similar al problema de reconocimiento de voz. Como ejemplo, supongamos que modela la palabra “hallo” utilizando HMM para “h”, “a”, “l” y “o”. Para cada HMM necesitamos estimar los parámetros para las funciones de densidad de emisión [matemática] p (x | s_ {k, i}) [/ matemática] para cada letra [matemática] k [/ matemática] y cada estado [matemática] i [/mates]. Lo primero que debe averiguar es cuáles son los datos [matemática] x [/ matemática]. Sugeriría en este caso que queremos modelar cada palabra como una serie temporal de vectores de izquierda a derecha y que estos vectores representan segmentos de la palabra. Queremos elegir un modelo para [matemáticas] p (x | s_ {k, i}) [/ matemáticas] como, por ejemplo, un gaussiano (para mantener las cosas simples) y tendremos que estimar la media y la varianza del gaussiano para cada estado y letra. El algoritmo para estimar estos parámetros dados secuencias de vectores de características para cada palabra se llama algoritmo de maximización de expectativa (EM) y este mismo algoritmo también se puede utilizar para estimar las probabilidades de transición. Para aquellos a quienes les importa, EM se encuentra en la categoría de técnicas de estimación de parámetros de máxima verosimilitud. De todos modos, hasta ahora todo bien.
El problema de extraer los vectores de características es en realidad mucho más difícil. Digamos que los datos provienen de imágenes escaneadas. La etapa de extracción de características necesita encontrar palabras y dibujar cuadros a su alrededor y luego estandarizarlas a una resolución común. Los artefactos (manchas de café, arrugas, sombras, deformaciones) deben tratarse de alguna manera. Finalmente, puede haber una mejor representación que los píxeles, como una FFT o DCT, y esto puede necesitar aplicarse a través de una ventana de píxeles a lo largo del eje de tiempo.
Entonces, la buena noticia es que el entrenamiento y modelado de HMM en sí mismo es bastante genérico. La mala noticia es que obtener la extracción de funciones de front-end es casi extremadamente difícil y su rendimiento dependerá en gran medida de qué tan bien lo haga.
- ¿Cuáles son las principales razones contra el uso de apilamiento cuando tenemos redes neuronales?
- Mientras aprende el aprendizaje profundo, ¿cuál es la mejor manera de pasar de una etapa de principiante a una etapa avanzada?
- Cómo calcular gradientes en una red neuronal de avance utilizando matrices
- ¿Debo abandonar mi programa de doctorado CS para estudiar por mi cuenta?
- Diseño de vectores de características para algoritmos de aprendizaje automático. ¿Debo poner características de diferentes dominios en el mismo vector?