Bir RNN'nin modellenmesi için uygulanabilir bir dizi uzunluğu nedir?


15

Ben zamanlamaları verileri modelleme için tekrarlayan bir sinir ağının (RNN) bir LSTM ( uzun kısa süreli bellek ) sürümünü kullanarak bakıyorum . Verilerin sıra uzunluğu arttıkça, ağın karmaşıklığı da artar. Bu nedenle, hangi dizilerin uzunluğunun iyi bir doğrulukla modellenmesi mümkün olacağını merak ediyorum?

LSTM'nin nispeten basit bir versiyonunu, en son teknolojiye sahip yaklaşımları uygulamak zor olmadan kullanmak istiyorum. Zamanlarımdaki her gözlem muhtemelen 4 sayısal değişkene sahip olacak ve gözlem sayısı 100.000 ila 1.000.000 civarında olacaktır.

Yanıtlar:


8

Bu tamamen verilerinizin doğasına ve iç korelasyonlara bağlıdır, genel bir kural yoktur. Bununla birlikte, büyük miktarda veriye sahip olduğunuz göz önüne alındığında, 2 katmanlı bir LSTM, büyük bir zaman serisi problemleri / karşılaştırmaları modelleyebilir.

Ayrıca, tüm seriye zaman içinde çoğaltmazsınız, ancak genellikle (200-300) son adımlara geri dönersiniz. En uygun değeri bulmak için ızgara aramasını veya bayes optimizasyonunu kullanarak çapraz doğrulayabilirsiniz. Ayrıca, aşağıdaki parametrelere de bakabilirsiniz: https://github.com/wojzaremba/lstm/blob/master/main.lua .

Yani, sıra uzunluğu model eğitiminizi gerçekten etkilemez, ancak daha fazla eğitim örneğine sahip olmak gibidir, sıfırlamak yerine önceki durumu korumanız yeterlidir.


Çoktan bire yaklaşım olan duygu analizi yapmam gerektiğini söyleyin (bkz. Karpathy.github.io/2015/05/21/rnn- etkinlik ). Bu duyguların her biri çok uzundur (> 200 kelime). Her zamanki 35 adımı geriye doğru çoğalttığımda sorun olmaz mı? Denetimli öğrenme olduğundan, sadece ikili sınıflandırma hedefine "vurduğunda" geri çoğaltılabileceğini varsayıyorum y. Bu şekilde RNN, BPTT için seçilen 35 adımdan önce ağırlıkları nasıl ayarlayacaktır?
pir

1
Bir sonraki eğitim adımında aynı ağırlıklar yeniden kullanıldığından, bu bir sorun olmaz. Ayrıca, 36. adımda kaynak kodunu görüyorsanız (diyelim) başlatma vektörü sıfır değil, 35. adımın durumlarıdır. Yani, küçük adımlar yaparak BPTT kullanarak maliyet fonksiyonunuzu optimize edersiniz.
Yannis Assael

1
Açıklığa kavuşturmak için: BPTT tek bir cümle için tek bir defa mı yoksa birden çok kez mi çalışıyor? Tek bir kez çalıştırılırsa, cümledeki sadece ilk birkaç kelimeyi etkileyen kalıplar yalnızca gizli durumu etkiler, değil mi? Yani .. degradeler, girdinin bu kısmı ile ilgili olarak asla hesaplanmayacaktır.
pir

1
Bunu ayrı bir soru olarak sordum, umarım :) istatistiklerine bakacaksınız.stackexchange.com/questions/167482/…
pir

2
"Çok katmanlı bir veriye sahip olmanız durumunda, 2 katmanlı bir LSTM hemen hemen her zaman serisini modelleyebilir." kanıt nerede
nbro
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.