Które problemy z sekwencyjnym wejściem są najbardziej odpowiednie dla każdego? Czy wymiar wejściowy określa, które z nich jest lepsze? Czy problemy wymagające „dłuższej pamięci” lepiej pasują do RNN LSTM, podczas gdy problemy z cyklicznymi wzorcami wprowadzania danych (giełda, pogoda) są łatwiejsze do rozwiązania przez HMM?
Wygląda na to, że nakładają się na siebie; Jestem ciekawy, jakie subtelne różnice istnieją między nimi.
time-series
neural-networks
hidden-markov-model
rnn
naprawiać krzywdę
źródło
źródło
Odpowiedzi:
Podsumowanie
Ukryte modele Markowa (HMM) są znacznie prostsze niż nawracające sieci neuronowe (RNN) i opierają się na mocnych założeniach, które nie zawsze są prawdziwe. Jeśli założenia są prawdziwe, możesz zauważyć lepszą wydajność HMM, ponieważ praca jest trudniejsza.
RNN może działać lepiej, jeśli masz bardzo duży zestaw danych, ponieważ dodatkowa złożoność może lepiej wykorzystać informacje zawarte w danych. Może to być prawdą, nawet jeśli założenia HMM są prawdziwe w twoim przypadku.
Wreszcie, nie ograniczaj się tylko do tych dwóch modeli dla swojego zadania sekwencyjnego, czasem prostsze regresje (np. ARIMA) mogą wygrać, a czasem inne skomplikowane podejścia, takie jak sieci neuronowe z konwekcji, mogą być najlepsze. (Tak, CNN można zastosować do niektórych rodzajów danych sekwencji, podobnie jak RNN.)
Jak zawsze najlepszym sposobem, aby dowiedzieć się, który model jest najlepszy, jest wykonanie modeli i pomiar wydajności na odłożonym zestawie testowym.
Mocne założenia HMM
Przejścia stanu zależą tylko od bieżącego stanu, a nie od niczego w przeszłości.
To założenie nie dotyczy wielu obszarów, które znam. Na przykład, udawaj, że próbujesz przewidzieć dla każdej minuty dnia, czy dana osoba nie śpi, czy śpi z danych o ruchu. Szansa przejścia z trybu uśpienia do przebudzenia wzrasta, im dłużej osoba ta jest w stanie uśpienia . RNN może teoretycznie nauczyć się tej relacji i wykorzystać ją do uzyskania większej dokładności predykcyjnej.
Możesz spróbować obejść ten problem, na przykład włączając poprzedni stan jako funkcję lub definiując stany złożone, ale dodatkowa złożoność nie zawsze zwiększa dokładność predykcyjną HMM i zdecydowanie nie pomaga w czasach obliczeniowych.
Musisz wstępnie zdefiniować całkowitą liczbę stanów.
Wracając do przykładu snu, może się wydawać, że dbamy tylko o dwa stany. Jednak nawet jeśli zależy nam jedynie na przewidywaniu stanu czuwania i snu , nasz model może odnieść korzyść z wykrycia dodatkowych stanów, takich jak jazda samochodem, prysznic itp. (Np. Prysznic zwykle przychodzi tuż przed snem). Ponownie RNN mógłby teoretycznie nauczyć się takiego związku, gdyby pokazał wystarczającą liczbę jego przykładów.
Trudności z RNN
Z powyższego może się wydawać, że RNN są zawsze lepsze. Powinienem jednak zauważyć, że RNN mogą być trudne do uruchomienia, szczególnie gdy twój zestaw danych jest mały lub twoje sekwencje są bardzo długie. Osobiście miałem kłopoty z nakłonieniem RNN do trenowania niektórych moich danych i podejrzewam, że większość opublikowanych metod / wytycznych RNN jest dostosowana do danych tekstowych . Próbując użyć RNN na danych nietekstowych, musiałem przeprowadzić szersze wyszukiwanie hiperparametrów, niż mi zależy, aby uzyskać dobre wyniki w moich konkretnych zestawach danych.
W niektórych przypadkach stwierdziłem, że najlepszym modelem dla danych sekwencyjnych jest w rzeczywistości styl UNet ( https://arxiv.org/pdf/1505.04597.pdf ) Model sieci neuronowej splotowej, ponieważ jest łatwiejszy i szybszy do trenowania oraz jest w stanie aby wziąć pod uwagę pełny kontekst sygnału.
źródło
Zobaczmy najpierw różnice między HMM a RNN.
Z tego artykułu: Samouczek na temat ukrytych modeli Markowa i wybranych aplikacji do rozpoznawania mowy możemy nauczyć się, że HMM powinny charakteryzować następujące trzy podstawowe problemy:
Możemy porównać HMM z RNN z tych trzech perspektyw.
Prawdopodobieństwo
Prawdopodobieństwo w HMM (zdjęcie A.5) Model językowy w RNN
Rozszyfrowanie
Dekodowanie w HMM (rysunek A.10)
Dekodowanie w RNN
Uczenie się
Nauka w HMM jest znacznie bardziej skomplikowana niż w RNN. W HMM zwykle wykorzystywał algorytm Baum-Welcha (szczególny przypadek algorytmu Expectation-Maximization), podczas gdy w RNN jest to zazwyczaj spadek gradientu.
Dla twoich pytań:
Gdy nie masz wystarczającej ilości danych, skorzystaj z HMM i gdy musisz obliczyć dokładne prawdopodobieństwo, HMM będzie również lepszym rozwiązaniem (generatywne zadania modelujące sposób generowania danych). W przeciwnym razie możesz użyć RNN.
Nie sądzę, ale HMM może potrzebować więcej czasu, aby dowiedzieć się, czy stany ukryte są zbyt duże, ponieważ złożoność algorytmów (do przodu do tyłu i Viterbi) jest w zasadzie kwadratem liczby stanów dyskretnych.
W HMM na bieżący stan mają również wpływ poprzednie stany i obserwacje (przez stany nadrzędne), a można wypróbować ukryty model Markowa drugiego rzędu dla „dłuższej pamięci”.
Myślę, że możesz użyć RNN do zrobienia prawie
Bibliografia
źródło
Znalazłem to pytanie, ponieważ zastanawiałem się również nad ich podobieństwami i różnicami. Myślę, że bardzo ważne jest stwierdzenie, że Ukryte Modele Markowa (HMM) nie mają danych wejściowych i wyjściowych w ścisłym znaczeniu tego słowa.
HMM są tak zwanymi modelami generatywnymi , jeśli masz HMM, możesz wygenerować z niego pewne obserwacje w obecnej postaci. Zasadniczo różni się to od RNN, ponieważ nawet jeśli masz wyszkolony RNN, potrzebujesz do niego wkładu.
Praktycznym przykładem, w którym jest to ważne, jest synteza mowy. Podstawowymi stanami Ukrytego Markowa są telefony, a emitowane zdarzenia prawdopodobieństwa to akustyka. Jeśli masz wyszkolony model słów, możesz wygenerować tyle różnych jego realizacji, ile chcesz.
Ale w przypadku RNN musisz podać przynajmniej trochę nasion wejściowych, aby uzyskać wynik. Można argumentować, że w HMM należy również zapewnić wstępną dystrybucję, więc jest podobnie. Ale jeśli trzymamy się przykładu syntezy mowy, to nie dlatego, że początkowa dystrybucja zostanie ustalona (zawsze zaczynając od pierwszych telefonów tego słowa).
Dzięki RNN otrzymujesz deterministyczną sekwencję wyjściową dla wyuczonego modelu, jeśli cały czas używasz tego samego źródła danych wejściowych. Dzięki HMM nie robi się tak, ponieważ przejścia i emisje są zawsze próbkowane z rozkładu prawdopodobieństwa.
źródło