LSTM topolojisini anlama


9

Diğerleri olduğundan, ilgili kaynaklar buldum burada ve burada LSTM hücrelerini anlamak için gayet yararlı olduğu. Değerlerin nasıl aktığını ve güncellendiğini anladığımdan eminim ve söz konusu "gözetleme deliği bağlantılarını" vb.

Benim örnekte, her adımda uzunlukta bir giriş vektörü vardır ive uzunluktaki bir çıkış vektörü oburada, o < i.

Her iki sayfanın gerçekte kapsamadığı şey, bunların nasıl düzenlendiği ve eğitildiği.

2 sorum var:

  1. Eğitim verilerimde, birçok zaman birimine karşılık gelen çok sayıda giriş / çıkış vektör çiftim var. LSTM'yi tüm verilerle eğittiğimi varsayalım. Daha sonra içinden ayarlanan rastgele uzunluk girişini çalıştırabilir miyim? Demek istediğim, örneğin 2015 ve 2016'nın tamamı için eğitim verilerim varsa, 2017 için ağ üzerinden veri çalıştırabilir miyim? Ya da belki 2017-2020?
  2. Okuduğum şeye göre, zaman birimi başına bir LSTM hücresim var gibi geliyor, bu yüzden çok fazla zaman birimim varsa, çok sayıda zincirlenmiş LSTM hücresim var. Zincirin uzunluğu, ağ üzerinden çalıştırmak istediğim veri uzunluğuna bağlı olduğundan ve muhtemelen keyfi olduğundan, yalnızca tek bir LSTM hücresini eğitemediğim sürece bunu nasıl eğiteceğimi göremiyorum. zamanlar. Öyleyse, tek bir LSTM hücresini eğitip daha sonra nbelirli bir giriş vektörü listesi için bunların zincirini birleştirecekmişim gibi görünüyor n? Tek bir LSTM hücresi bir dizi öğe ve fonksiyon içeriyor olsa da, bu kadar küçük bir şeyde çok fazla bilgi yakalamanın yeterli olmadığı anlaşılıyor mu?

Teşekkürler. Uygulamanın ayrıntılarını anlamama yardımcı olacak (nispeten hızlı bir şekilde) tüketebileceğim başka kaynaklar var mı? Yukarıdaki 2 bağlantı neler olup bittiğine dair harika bir üst düzey resim verdi, ancak bu daha ince ayrıntıları yakalayamadı.

Yanıtlar:


1

LSTM'yi tüm verilerle eğittiğimi varsayalım. Daha sonra içinden ayarlanan rastgele uzunluk girişini çalıştırabilir miyim?

Soyut, evet. Bununla birlikte, bazı yazılım uygulamalarında değişkenlerin sabit boyutta olması gerekip gerekmediği veya değişken boyutlar olup olmadığı konusunda zor kurallar vardır, bu nedenle programlama açısından, işleri doğru bir şekilde uyguladığınızı kontrol etmeniz gerekir.

Öyle görünüyor ki tek bir LSTM hücresi eğitiyordum ve daha sonra n uzunluğunda belirli bir girdi vektör listesi için n zincirini birbirine bağlayacağım?

Hayır. Her hücre tüm zaman birimlerini işler. Onları tekrarlayan şey budur : hücre , hücrenin bellek durumunu güncelleyerek girişini . Bir sonraki zaman birimi önceki hafıza durumunun bir fonksiyonu ve bir yeni girdi .xtxt+1

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.