LSTM modelinde parametre sayısı


43

Tek bir istiflenmiş LSTM'nin kaç parametresi vardır? Parametre sayısı, gereken eğitim örneği sayısına daha düşük bir sınır uygular ve ayrıca eğitim süresini etkiler. Bu nedenle, parametre sayısını bilmek LSTM'leri kullanan eğitim modelleri için kullanışlıdır.

Yanıtlar:


29

LSTM'nin 2 matrisi vardır: (3) geçitlerin her biri için U ve W. Diyagramdaki (.) Bu matrislerin girişi ve çıkışı ile çarpımını gösterir .xh

  • U, boyutların×m
  • W, boyutuna sahipn×n
  • Üç kapının her biri için bu matrislerin farklı bir kümesi var ( Unutma geçidi için gibi)Uforget
  • S hücre durumunu güncellemek için bu matrislerin başka bir kümesi var
  • Bahsedilen matrislerin üstünde, önyargıları saymanız gerekir (resimde değil)

Dolayısıyla toplam # parametre =4(nm+n2+n)

LSTM soyut bloğu


2
Derin bir öğrenme projesi için donanım gereksinimlerini ve proje planlamasını tahmin etmek için pratik kararlar alırken bu soru ile karşılaştım. Not: İtibar puanları kazanmak için kendi soruma cevap vermedim. Cevabım topluluktan doğru olup olmadığını bilmek istiyorum .
saat

1
Önyargı birimlerini göz ardı ettiniz. Aşağıdaki Adam Oudad'ın cevabına bakınız.
arun

1
Önyargılar orada değil. Cevabı değiştirdim.
Escachator

21

Önceki cevapların ardından, LSTM'nin parametre sayısı, boyutunda giriş vektörleri alarak ve boyutunda çıkış vektörleri veren :mn

4(nm+n2)

Bununla birlikte, LSTM'nizde yanlılık vektörleri varsa, ( örneğin, keraslar için varsayılan değerdir ), sayı şöyle olur:

4(nm+n2+n)

2
Bu tek tam cevap. Diğer her cevap yanlılık nöronları durumunu görmezden geliyor gibi görünmektedir.
Monica

1
Somut bir örnek vermek gerekirse, girişiniz m = 25 boyuttaysa ve n = 100 birimi olan bir LSTM katmanı kullanıyorsanız, params sayısı = 4 * (100 * 25 + 100 ** 2 + 100) = 50400.
arun

1
Zaman aşımı verilerini kullandığımı varsayalım, aşağıdaki anlayışım doğru mu? n = 100: ortalama, her örnekte 100 zaman aşımına sahip olacağım (örnek) bu yüzden 100 üniteye ihtiyacım var. m = 25 her bir zaman diliminde ortalama [ağırlık, boy, yaş ...] gibi 25 özelliğe sahibim.
jason zhang

2
@jasonzhang Timestepslerin sayısı önemli değildir, çünkü aynı LSTM hücresi giriş vektörlerinize tekrar tekrar uygulanacaktır (her bir zaman aralığı için bir vektör). "birim" olarak adlandırılan, aynı zamanda timesteps sayısını değil, her çıkış vektörünün boyutudur.
Adam Oudad

12

Göre bu :

LSTM hücre yapısı

LSTM hücre yapısı

LSTM denklemleri

LSTM denklemleri

Doğrusal olmayanları bilmek

Doğrusal olmayanları bilmek

X_t girişi nx1 boyutundaysa ve d bellek hücresi varsa, W ∗ ve U ∗ değerlerinin her biri d × n ve d x d'dir . W boyutu daha sonra 4d × (n + d) olacaktır . Dd bellek hücrelerinin her birinin kendi ağırlıkları W ∗ ve U has olduğuna ve tek zaman bellek hücresi değerlerinin diğer LSTM üniteleri ile paylaşıldığına ve ürün sırasında U with ürününe olduğuna dikkat edin .

Harika sunum için Arun Mallya'ya teşekkürler.

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.