Voyons d'abord les différences entre le HMM et le RNN.
À partir de cet article: Un tutoriel sur les modèles de Markov cachés et certaines applications de reconnaissance vocale, nous pouvons apprendre que HMM doit être caractérisé par les trois problèmes fondamentaux suivants:
Problème 1 (vraisemblance): étant donné un HMM λ = (A, B) et une séquence d'observation O, déterminer la vraisemblance P (O | λ).
Problème 2 (décodage): étant donné une séquence d'observation O et un HMM λ = (A, B), découvrez la meilleure séquence d'états cachés Q.
Problème 3 (apprentissage): étant donné une séquence d'observation O et l'ensemble des états dans le HMM, apprendre les paramètres HMM A et B.
Nous pouvons comparer le HMM avec le RNN de ces trois perspectives.
Probabilité
Probabilité dans HMM (Image A.5)
Modèle de langage dans RNN
P( O ) = ∑QP( O , Q ) = ∑QP( O | Q ) P( Q )Q1p ( X)= ∏Tt = 11p ( xt|X( t - 1 ), . . . ,x( 1 ))---------------√T
Décodage
vt( j ) = m a xNi = 1vt - 1( i ) unje jb(ot)P( y1, . . . , yO| X1, . . . , xT) = ∏Oo = 1P( yo| y1, . . . , yo - 1, co)OuiX
Décodage en HMM (Figure A.10)
Décodage en RNN
Apprentissage
L'apprentissage en HMM est beaucoup plus compliqué que celui en RNN. Dans HMM, il utilise généralement l'algorithme Baum-Welch (un cas particulier de l'algorithme Expectation-Maximization) tandis que dans RNN, il s'agit généralement de la descente de gradient.
Pour vos sous-questions:
Quels problèmes d'entrée séquentielle conviennent le mieux à chacun?
Lorsque vous ne disposez pas de suffisamment de données, utilisez le HMM et lorsque vous devez calculer la probabilité exacte, le HMM conviendrait également mieux (tâches génératives modélisant la façon dont les données sont générées). Sinon, vous pouvez utiliser RNN.
La dimensionnalité d'entrée détermine-t-elle celle qui correspond le mieux?
Je ne pense pas, mais cela peut prendre plus de temps à HMM pour savoir si les états cachés sont trop grands car la complexité des algorithmes (en avant en arrière et Viterbi) est fondamentalement le carré du nombre d'états discrets.
Les problèmes qui nécessitent une "mémoire plus longue" sont-ils mieux adaptés à un LSTM RNN, alors que les problèmes de modèles d'entrée cycliques (bourse, météo) sont plus facilement résolus par un HMM?
Dans HMM, l'état actuel est également affecté par les états et observations précédents (par les états parents), et vous pouvez essayer le modèle de Markov caché du second ordre pour une "mémoire plus longue".
Je pense que vous pouvez utiliser RNN pour faire presque
références
- Traitement du langage naturel avec Deep Learning CS224N / Ling284
- Modèles de Markov cachés