LSTM, kaybolma gradyan problemini nasıl önler?


35

LSTM, kaybolan degrade sorununu önlemek için özel olarak icat edildi. Bunu, aşağıdaki diyagramdaki ( Greff ve diğerleri ) hücre çevresindeki halkaya karşılık gelen Sabit Hata Atlıkarınca (CEC) ile yapması gerekiyordu .

LSTM
(kaynak: deeplearning4j.org )

Ve o kısmın bir çeşit kimlik işlevi olarak görülebildiğini anlıyorum, bu yüzden türev bir ve gradyan sabit kalıyor.

Anlamadığım şey, diğer aktivasyon fonksiyonları nedeniyle nasıl ortadan kalkmadığı mı? Giriş, çıkış ve boşaltma kapıları, türevi en çok 0.25 olan ve g ve h geleneksel olarak tanh olan bir sigmoid kullanır . Degradeyi yaymayanlar arasında geçişi nasıl ortadan kaldırır?


2
LSTM, uzun vadeli bağımlılıkları hatırlamakta çok etkili olan ve kaybolan degrade sorununa açık olmayan tekrarlayan bir sinir ağı modelidir. Ne tür bir açıklama aradığınızdan emin değilim
TheWalkingCube

LSTM: Uzun Kısa Süreli Bellek. (Ref: Hochreiter, S. ve Schmidhuber, J. (1997). Uzun Kısa Süreli Bellek. Sinirsel Hesaplama 9 (8): 1735-80 · Aralık 1997)
horaceT

LSTM'lerdeki gradyanlar, vanilyalı RNN'lerden sadece daha yavaş kaybolur ve daha uzak bağımlılıkları yakalamalarını sağlar. Kaybolan gradyanlar probleminden kaçınmak halen aktif bir araştırma alanıdır.
Artem Sobolev

1
Yavaş yavaş bir referansla kaybolanı geri almak ister misiniz?
bayerj

Yanıtlar:


22

Ufuk gradyanı en iyi şekilde tek boyutlu durumda açıklanabilir. Çok boyutlu, daha karmaşık ama esasen benzer. Bu mükemmel makalede [1] inceleyebilirsiniz.

adımında gizli bir varsayalım . İşleri basitleştirir ve önyargıları ve girişleri kaldırırsak, O zaman bunu gösterebilirsinhtt

ht=σ(wht1).

htht=k=1ttwσ(whtk)=wtt!!!k=1ttσ(whtk)
ile işaretlenmiş faktörlü !!! çok önemlidir. Ağırlık 1'e eşit değilse, üssel olarak hızlı bir şekilde sıfıra veya üssel olarak hızlı büyürtt .

LSTM'lerde s_t hücre durumuna . Buradaki türev Burada , unutma geçidinin girişidir. Gördüğünüz gibi, katlanarak hızlı bir bozucu faktör yok. Sonuç olarak, degradenin kaybolmadığı en az bir yol vardır. Tam türev için, bakınız [2].st

stst=k=1ttσ(vt+k).
vt

[1] Pascanu, Razvan, Tomas Mikolov ve Yoshua Bengio. "Tekrarlayan sinir ağlarının eğitimi zorluğu üzerine." ICML (3) 28 (2013): 1310-1318.

[2] Bayer, Justin Simon. Öğrenme Dizisi Gösterimi. Diss. München, Technische Universität München, Diss., 2015, 2015.


3
Lstm için h_t ayrıca h_ {t-1} 'e de bağlı değil mi? Ds_t / d_s {t-1} "degradelerin zaman içinde aktığı tek kısım" derken gazetenizde ne demek istiyorsunuz?
user3243135,

@ user3243135 h_t, h_ {t-1} 'e bağlıdır. Ancak, ds_t / d_s {t-1} 'in tutulduğunu varsayalım, diğer degrade akışları ortadan kalksa bile, tüm degrade akışının kaybolmadığını. Bu, gradyan kaybolmasını çözer.
soloice,

Her zaman ana meselenin terimi olduğunu düşünmüştüm, çünkü eğer genellikle bir sigmoidin (veya başka bir şeyin türevi 1'den daha az bir türev ile, bu kaybolan gradyanı kesin olarak kesin (örneğin, sigmoidler <1 büyüklüğünde ve türevleri , 1 kesin). ReLU'ların CNN'lerde kabul edilme nedeni bu değil miydi? Bu, sürekli ileri beslemeli modellerde tekrarlayan modellerde ufuk gradyanının nasıl ele alındığındaki fark konusunda beni şaşırtan şeylerden biri. Bunun için herhangi bir açıklama var mı?
ttσ(whtk)
σ(z)σ(x)=σ(z)(1σ(z))
Pinokyo

Sigmoid'in gradyanı da büyük değişkenlik gösteren girdilerin dağılımını ve / veya 0'dan uzaktaki ortalamaları varsaymakla birlikte bir problem haline gelebilir. ) kaybolan gradyanlara veya düzenli hale getirmenin yeterli olmadığı bazı durumlarda gradyanların patlamasına neden olur.
Ataxias

3

Greff ve arkadaşlarının LSTM bloğunun resmi. (2015) yazarların vanilya LSTM dedikleri bir varyantı tanımlamaktadır . Hochreiter & Schmidhuber (1997) 'in orijinal tanımından biraz farklıdır. Orijinal tanım, unutkan geçidi ve gözetleme deliği bağlantılarını içermiyordu.

Sabit Hatalı Atlıkarınca terimi, hücre durumunun tekrarlayan bağlantısını göstermek için orijinal makalede kullanılmıştır. Giriş geçidi açıldığında hücre durumunun yalnızca ekleme ile değiştirildiği orijinal tanımı dikkate alın. Hücre durumunun, daha önceki bir aşamadaki hücre durumuna göre gradyanı sıfırdır.

Hata hala CEC'ye çıkış kapısı ve aktivasyon fonksiyonu üzerinden girebilir. Etkinleştirme işlevi, CEC'ye eklenmeden önce hatanın büyüklüğünü biraz azaltır. CEC, hatanın değişmeden akabileceği tek yerdir. Yine, giriş geçidi açıldığında, hata giriş geçidinden, etkinleştirme işlevinden çıkar ve transformasyonu, hatanın büyüklüğünü azaltır.

Bu nedenle, bir LSTM katmanından geri yayılırken ancak CEC'ye girip çıktığında hata azalır. Önemli olan, ne kadar mesafe kat ettiği önemli değil, CEC’de değişmemesidir. Bu, temel RNN'deki problemi, her zaman adımının bir afin dönüşümü ve doğrusal olmayanlığı uygulaması problemini çözer; bu, giriş ve çıkış arasındaki zaman mesafesi ne kadar uzun olursa, hata o kadar küçük olur.


2

http://www.felixgers.de/papers/phd.pdf Lütfen kesilen hata bölümünün açıklandığı bölüm 2.2 ve 3.2.2'ye bakınız. Hücre hafızasından dışarı sızması durumunda hatayı yaymazlar (örn. Kapalı / aktif bir giriş kapısı varsa), ancak yalnızca o andaki hataya bağlı olarak geçidin ağırlığını güncellerler. Daha sonra geri yayılma sırasında sıfır yapılır. Bu bir tür hacklemedir, ancak bunun nedeni, kapının boyunca hatanın yine de zamanla azaldığı yönünde olmasıdır.


7
Bu konuda biraz genişleyebilir misiniz? Şu anda, bağlantı yeri değişirse veya kağıt çevrimdışı duruma getirilirse, cevabın değeri olmayacaktır. En azından, bağlantı çalışmayı bırakırsa kağıdın tekrar bulunmasını sağlayacak tam bir alıntı (referans) vermeye yardımcı olacaktır, ancak bu cevabı kendi kendine içeren kılan kısa bir özet en iyisi olacaktır.
Silverfish,

2

Kabul edilen cevaba biraz ayrıntı eklemek istiyorum, çünkü bunun biraz daha farklı olduğunu ve nüansın, RNN'ler hakkında ilk öğrenen bir kişi için net olamayacağını düşünüyorum.

Vanilya RNN için, .

htht=k=1ttwσ(whtk)

LSTM için, frak

stst=k=1ttσ(vt+k)

  • sorulması gereken doğal bir soru, her iki ürün toplamının da zamanları ile çarpıldığında gibi bir terim yok mu?tt
  • Cevap evet , bu yüzden LSTM de yoksunluk derecelerinde yok olacak, ama neredeyse vanilya RNN kadar değil

Fark vanilya RNN için, gradyan azalırken, LSTM için degrade ile azalır .wσ()σ()

LSTM için, olan bazı ağırlık ve girişleri için olduğunu ağırlık vardır . O zaman sinir ağı degradelerin kaybolmasını önlemek için büyük bir öğrenebilir .

σ()1
vt+k=wxwxw

Örn: 1D durumunda , ise, bozunma faktörü veya gradyan şu şekilde ölür:x=1w=10 vt+k=10σ()=0.99995

(0.99995)tt

Vanilya RNN için, olacak şekilde öğrenilebilecek bir ağırlık seti yoktur.

wσ(whtk)1

örneğin 1D durumunda, olduğunu varsayalım . Fonksiyonu bir maksimuma ulaşır az . Bu, degradenin, gibi bozulmayacağı anlamına gelir.htk=1wσ(w1)0.224w=1.5434

(0.224)tt

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.