Modelo oculto de Markov vs red neuronal recurrente

13

¿Qué problemas de entrada secuenciales son los más adecuados para cada uno? ¿La dimensionalidad de entrada determina cuál es una mejor coincidencia? ¿Los problemas que requieren "memoria más larga" son más adecuados para un LSTM RNN, mientras que los problemas con patrones de entrada cíclicos (mercado de valores, clima) se resuelven más fácilmente con un HMM?

Parece que hay mucha superposición; Tengo curiosidad por saber qué diferencias sutiles existen entre los dos.

compensación
fuente
+1 pero la pregunta puede ser demasiado amplia ... Además, que yo sepa, son bastante diferentes ...
Haitao Du
i añadió más aclaración
reparación
Como nota al margen, puede colocar un CRF encima de un RNN, por ejemplo, github.com/Franck-Dernoncourt/NeuroNER
Franck Dernoncourt

Respuestas:

8

Resumen

Los modelos ocultos de Markov (HMM) son mucho más simples que las redes neuronales recurrentes (RNN) y se basan en suposiciones fuertes que pueden no ser siempre ciertas. Si las suposiciones son ciertas, es posible que vea un mejor rendimiento de un HMM, ya que es menos complicado ponerse a trabajar.

Un RNN puede funcionar mejor si tiene un conjunto de datos muy grande, ya que la complejidad adicional puede aprovechar mejor la información en sus datos. Esto puede ser cierto incluso si los supuestos de HMM son ciertos en su caso.

Finalmente, no se limite solo a estos dos modelos para su tarea de secuencia, a veces las regresiones más simples (por ejemplo, ARIMA) pueden ganar, y a veces otros enfoques complicados como las redes neuronales convolucionales podrían ser los mejores. (Sí, los CNN se pueden aplicar a algunos tipos de datos de secuencia al igual que los RNN).

Como siempre, la mejor manera de saber qué modelo es mejor es hacer los modelos y medir el rendimiento en un conjunto de prueba extendido.

Suposiciones fuertes de HMM

Las transiciones de estado solo dependen del estado actual, no de nada en el pasado.

Esta suposición no se cumple en muchas de las áreas con las que estoy familiarizado. Por ejemplo, imagina que estás tratando de predecir cada minuto del día si una persona estaba despierta o dormida a partir de los datos de movimiento. La posibilidad de que alguien cambie de dormido a despierto aumenta cuanto más tiempo haya estado dormido . Un RNN teóricamente podría aprender esta relación y explotarla para una mayor precisión predictiva.

Puede intentar evitar esto, por ejemplo, incluyendo el estado anterior como una característica, o definiendo estados compuestos, pero la complejidad añadida no siempre aumenta la precisión predictiva de un HMM, y definitivamente no ayuda a los tiempos de cálculo.

Debe predefinir el número total de estados.

Volviendo al ejemplo del sueño, puede parecer que solo hay dos estados que nos interesan. Sin embargo, incluso si solo nos importa predecir despierto frente a dormido , nuestro modelo puede beneficiarse al descubrir estados adicionales como conducir, ducharse, etc. (por ejemplo, la ducha generalmente viene justo antes de dormir). Nuevamente, un RNN podría aprender teóricamente tal relación si mostrara suficientes ejemplos de ella.

Dificultades con los RNN

Puede parecer de lo anterior que los RNN son siempre superiores. Sin embargo, debo señalar que los RNN pueden ser difíciles de conseguir, especialmente cuando su conjunto de datos es pequeño o sus secuencias son muy largas. Personalmente, he tenido problemas para que los RNN se capaciten en algunos de mis datos, y sospecho que la mayoría de los métodos / directrices RNN publicados están ajustados a los datos de texto . Al intentar usar RNN en datos que no son de texto, he tenido que realizar una búsqueda de hiperparámetros más amplia de la que me interesa para obtener buenos resultados en mis conjuntos de datos particulares.

En algunos casos, he encontrado que el mejor modelo para datos secuenciales es en realidad un estilo UNet ( https://arxiv.org/pdf/1505.04597.pdf ) Modelo de red neuronal convolucional ya que es más fácil y rápido de entrenar, y es capaz para tener en cuenta el contexto completo de la señal.

kbrose
fuente
1

Primero veamos las diferencias entre el HMM y el RNN.

De este documento: un tutorial sobre modelos ocultos de Markov y aplicaciones seleccionadas en reconocimiento de voz , podemos aprender que HMM debe caracterizarse por los siguientes tres problemas fundamentales:

Problema 1 (Probabilidad): Dado un HMM λ = (A, B) y una secuencia de observación O, determine la probabilidad P (O | λ).
Problema 2 (Decodificación): Dada una secuencia de observación O y un HMM λ = (A, B), descubra la mejor secuencia de estado oculta Q.
Problema 3 (Aprendizaje): Dada una secuencia de observación O y el conjunto de estados en el HMM, aprender los parámetros HMM A y B.

Podemos comparar el HMM con el RNN desde esas tres perspectivas.

Probabilidad

suma sobre todas las secuencias ocultas Probabilidad en HMM (Imagen A.5) Modelo de lenguaje en RNN
solo obtenga la probabilidad de las funciones softmax

PAG(O)=QPAG(O,Q)=QPAG(OEl |Q)PAG(Q)Q1pag(X)=t=1T1pag(XtEl |X(t-1),...,X(1))T

Descodificación

vt(j)=metrounaXyo=1nortevt-1(yo)unayojsi(ot)PAG(y1,...,yOEl |X1,...,XT)=o=1OPAG(yoEl |y1,...,yo-1,Co)YX

el camino audaz
Decodificación en HMM (Figura A.10)

la parte del decodificador
Decodificando en RNN

Aprendizaje

El aprendizaje en HMM es mucho más complicado que el de RNN. En HMM usualmente utilizaba el algoritmo de Baum-Welch (un caso especial del algoritmo de Expectación-Maximización) mientras que en RNN generalmente es el descenso del gradiente.

Para sus preguntas secundarias:

¿Qué problemas de entrada secuenciales son los más adecuados para cada uno?

Cuando no tenga suficientes datos, use el HMM, y cuando necesite calcular la probabilidad exacta de que el HMM también sería mejor (tareas generativas que modelan cómo se generan los datos). De lo contrario, puede usar RNN.

¿La dimensionalidad de entrada determina cuál es una mejor coincidencia?

No lo creo, pero a HMM le puede llevar más tiempo saber si los estados ocultos son demasiado grandes ya que la complejidad de los algoritmos (hacia adelante y hacia atrás y Viterbi) es básicamente el cuadrado del número de estados discretos.

¿Los problemas que requieren "memoria más larga" son más adecuados para un LSTM RNN, mientras que los problemas con patrones de entrada cíclicos (mercado de valores, clima) se resuelven más fácilmente con un HMM?

En HMM, el estado actual también se ve afectado por los estados y observaciones anteriores (por los estados primarios), y puede probar el modelo de Markov oculto de segundo orden para "memoria más larga".

Creo que puedes usar RNN para hacer casi

referencias

  1. Procesamiento de lenguaje natural con aprendizaje profundo CS224N / Ling284
  2. Modelos ocultos de Markov
Lerner Zhang
fuente
Pero en el documento de referencia dice que HMM tiene un estado oculto, aunque discreto.
Oleg Afanasyev
@OlegAfanasyev Sí. Creo que estoy equivocado, pero volveré a esta respuesta más tarde.
Lerner Zhang
¿Se ha corregido esto?
GENIVI-LEARNER
1
@ GENIVI-LEARNER He reescrito la respuesta y espero que te sea de ayuda y también espero que me proporciones algunas sugerencias sobre cómo mejorarla.
Lerner Zhang
0

Encontré esta pregunta, porque también me preguntaba acerca de sus similitudes y diferencias. Creo que es muy importante afirmar que los modelos ocultos de Markov (HMM) no tienen entradas y salidas en el sentido más estricto.

Los HMM son los llamados modelos generativos , si tiene un HMM, puede generar algunas observaciones a partir de él tal cual. Esto es fundamentalmente diferente de los RNN, ya que incluso si tiene un RNN capacitado, necesita información.

Un ejemplo práctico donde esto es importante es la síntesis de voz. Los estados subyacentes de Hidden Markov son los teléfonos y los eventos de probabilidad emitidos son la acústica. Si tiene un modelo de palabras capacitado, puede generar tantas realizaciones diferentes como desee.

Pero con los RNN, debe proporcionar al menos un poco de semilla de entrada para obtener su salida. Podría argumentar que en los HMM también debe proporcionar una distribución inicial, por lo que es similar. Pero si nos atenemos al ejemplo de síntesis de voz, no es porque la distribución inicial sea fija (comenzando siempre desde los primeros teléfonos de la palabra).

Con los RNN obtienes una secuencia de salida determinista para un modelo entrenado, si estás usando la misma semilla de entrada todo el tiempo. Con HMM, no lo hace porque las transiciones y las emisiones siempre se muestrean a partir de una distribución de probabilidad.

Boomkin
fuente