Gizli Markov Modeli ve Tekrarlayan Sinir Ağı


13

Her biri için en uygun ardışık girdi sorunları nelerdir? Girdi boyutsallığı hangisinin daha uygun olduğunu belirler mi? "Daha uzun bellek" gerektiren problemler LSTM RNN için daha uygun mudur?

Çok fazla örtüşme var gibi görünüyor; İkisi arasında ne gibi ince farklar olduğunu merak ediyorum.


+1 ama soru çok geniş olabilir ... Ayrıca, bildiklerime göre oldukça farklılar ..
Haitao Du

daha fazla açıklama ekledim
düzeltme

Bir yan not olarak, bir RNN'nin
Franck Dernoncourt

Yanıtlar:


8

özet

Gizli Markov Modelleri (HMM'ler) Tekrarlayan Sinir Ağlarından (RNN) çok daha basittir ve her zaman doğru olmayabilecek güçlü varsayımlara dayanır. Varsayımlar ise şunlardır gerçek o çalışma almak için daha az titiz olduğundan sonra bir HMM daha iyi performans görebilirsiniz.

Çok büyük bir veri kümeniz varsa, bir RNN daha iyi performans gösterebilir, çünkü ekstra karmaşıklık verilerinizdeki bilgilerden daha iyi yararlanabilir. Bu, sizin durumunuzda HMM varsayımları doğru olsa bile doğru olabilir.

Son olarak, sıra göreviniz için sadece bu iki modelle sınırlı kalmayın, bazen daha basit regresyonlar (örneğin ARIMA) kazanabilir ve bazen Konvolutional Sinir Ağları gibi diğer karmaşık yaklaşımlar en iyisi olabilir. (Evet, CNN'ler aynen RNN'ler gibi bazı sekans verilerine uygulanabilir.)

Her zaman olduğu gibi, hangi modelin en iyi olduğunu bilmenin en iyi yolu, modelleri yapmak ve dışarıda bırakılan bir test setindeki performansı ölçmektir.

HMM'lerin Güçlü Varsayımları

Devlet geçişleri geçmişteki hiçbir şeye değil, sadece mevcut duruma bağlıdır.

Bu varsayım, aşina olduğum pek çok alanda geçerli değildir. Örneğin, günün her dakikası için bir kişinin hareket verilerinden uyanık veya uykuda olup olmadığını tahmin etmeye çalıştığınızı varsayalım . Dan birisi geçiş yapmaktadır şansı uykuda için uyanık artar artık kişi olmuştur uykuda devlet. Bir RNN teorik olarak bu ilişkiyi öğrenebilir ve daha yüksek tahmin doğruluğu için kullanabilir.

Örneğin, önceki durumu bir özellik olarak ekleyerek veya bileşik durumları tanımlayarak bunun üstesinden gelmeyi deneyebilirsiniz, ancak eklenen karmaşıklık her zaman bir HMM'nin tahmin doğruluğunu artırmaz ve kesinlikle hesaplama sürelerine yardımcı olmaz.

Toplam durum sayısını önceden tanımlamanız gerekir.

Uyku örneğine dönersek, önemsediğimiz sadece iki durum varmış gibi görünebilir. Bununla birlikte, sadece uyanık ve uykuda tahmin etmeyi önemsesek bile , modelimiz sürüş, duş vb. Yine, bir RNN, yeterince örnek göstermişse, teorik olarak böyle bir ilişkiyi öğrenebilir.

RNN'lerle ilgili zorluklar

Yukarıdakilerden RNN'lerin her zaman üstün olduğu görülebilir. Bununla birlikte, özellikle veri kümeniz küçük veya dizileriniz çok uzun olduğunda, RNN'lerin çalışmasının zor olabileceğine dikkat etmeliyim. Ben şahsen bazı verilerimi eğitmek için RNN alma sorunları yaşadım ve çoğu yayınlanan RNN yöntemleri / yönergeleri metin verilerine ayarlanmış olduğundan şüphe duyuyorum . Metin olmayan verilerde RNN'leri kullanmaya çalışırken, belirli veri kümelerimde iyi sonuçlar elde etmek için umduğumdan daha geniş bir hiperparametre araması yapmak zorunda kaldım.

Bazı durumlarda, sıralı veriler için en iyi modelin aslında UNet stili olduğunu gördüm ( https://arxiv.org/pdf/1505.04597.pdf ) Konvolüsyonel Sinir Ağı modeli, eğitilmesi daha kolay ve hızlı olduğundan ve sinyalin tüm içeriğini dikkate almak.


1

Önce HMM ve RNN arasındaki farkları görelim.

Gönderen Bu yazıda: gizlenmiş Markov modelleri üzerine bir öğretici ve konuşma tanıma seçilen uygulamalar o HMM aşağıdaki üç temel problemleri ile karakterize edilmelidir öğrenebilirsiniz:

Problem 1 (Olabilirlik): Bir HMM λ = (A, B) ve bir gözlem sırası O verildiğinde, P (O | λ) olasılığını belirleyin.
Problem 2 (Kod Çözme): Bir gözlem sekansı O ve bir HMM verildiğinde λ = (A, B), en iyi gizli durum sekansını Q keşfedin.
Problem 3 (Öğrenme): Bir gözlem sekansı O ve HMM'deki durum kümesi verildiğinde, HMM A ve B parametrelerini öğrenir.

HMM'yi bu üç açıdan RNN ile karşılaştırabiliriz.

Olasılık

tüm gizli dizileri topla HMM'de olasılık (Resim A.5) RNN'de dil modeli
sadece softmax fonksiyonlarından olasılık elde edin

P(O)=QP(O,Q)=QP(O|Q)P(Q)Q1p(X)=t=1T1p(xt|x(t1),...,x(1))T

Decoding

vt(j)=maxi=1Nvt1(i)aijb(ot)P(y1,...,yO|x1,...,xT)=o=1OP(yo|y1,...,yo1,co)YX

cesur yol
HMM'de kod çözme (Şekil A.10)

kod çözücü kısmı
RNN'de kod çözme

Öğrenme

HMM'de öğrenme, RNN'de olduğundan çok daha karmaşıktır. HMM'de genellikle Baum-Welch algoritmasını (özel bir Beklenti-Maksimizasyon algoritması örneği) kullanırken RNN'de genellikle gradyan inişidir.

Talepleriniz için:

Her biri için en uygun ardışık girdi sorunları nelerdir?

Yeterli veriye sahip olmadığınızda HMM'yi kullanın ve kesin olasılığı hesaplamanız gerektiğinde HMM de daha iyi bir seçim olacaktır (verilerin nasıl üretildiğini modelleyen üretken görevler). Aksi takdirde, RNN kullanabilirsiniz.

Girdi boyutsallığı hangisinin daha uygun olduğunu belirler mi?

Ben öyle düşünmüyorum, ancak algoritmaların karmaşıklığı (ileri geri ve Viterbi) temelde ayrık durumların karesi olduğundan gizli durumların çok büyük olup olmadığını öğrenmek için HMM daha fazla zaman alabilir.

"Daha uzun bellek" gerektiren problemler LSTM RNN için daha uygun mudur?

HMM'de mevcut durum önceki durumlardan ve gözlemlerden (üst eyaletler tarafından) etkilenir ve "Daha uzun bellek" için İkinci Dereceden Gizli Markov Modelini deneyebilirsiniz.

Sanırım neredeyse yapmak için RNN kullanabilirsiniz

Referanslar

  1. Derin Öğrenme ile Doğal Dil İşleme CS224N / Ling284
  2. Gizli Markov Modelleri

Ancak atıfta bulunulan makalede, HMM'nin ayrı bir durum olmasına rağmen gizli bir durumu olduğunu söylüyor?
Oleg Afanasyev

@OlegAfanasyev Evet. Sanırım yanılıyorum, ama daha sonra bu cevaba geri döneceğim.
Lerner Zhang

Bu düzeltildi mi?
GENIVI-LEARNER

1
@ GENIVI-LEARNER Cevabı yeniden yazdım ve bunun size yardımcı olacağını umuyorum ve ayrıca bana nasıl daha iyi olabileceğine dair bazı önerilerde bulunacağınızı umuyorum.
Lerner Zhang

0

Bu soruyu buldum, çünkü onların benzerliklerini ve farklılıklarını da merak ediyordum. Gizli Markov Modellerinin (HMM) en katı anlamda girdi ve çıktı olmadığını belirtmek çok önemli.

HMM'ler sözde üretken bir SMM varsa olduğu gibi, ondan bazı gözlemler oluşturabilir, modeller. Bu, temel olarak RNN'lerden farklıdır, çünkü eğitimli bir RNN'niz olsa bile, girdiye ihtiyacınız vardır.

Bunun önemli olduğu pratik bir örnek konuşma sentezidir. Altta yatan Gizli Markov durumları telefonlardır ve yayılan olasılık olayları akustiktir. Eğer eğitilmiş bir kelime modeliniz varsa, istediğiniz kadar farklı gerçekleştirmeler üretebilirsiniz.

Ancak RNN'lerle, çıktınızı almak için en azından bir miktar girdi tohumu sağlamanız gerekir. HMM'lerde de bir ilk dağıtım sağlamanız gerektiğini iddia edebilirsiniz, bu yüzden benzerdir. Ancak, konuşma sentezi örneğine sadık kalırsak, bunun nedeni ilk dağılımın sabit olacağı değildir (her zaman kelimenin ilk telefonlarından başlayarak).

RNN'lerle, her zaman aynı giriş tohumunu kullanıyorsanız, eğitimli bir model için deterministik bir çıkış dizisi elde edersiniz. HMM ile yapmazsınız çünkü geçişler ve emisyonlar her zaman bir olasılık dağılımından örneklenir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.