Uzun ve kısa vadeli bellek ağı LSTM'yi ve geçitli tekrarlayan ağ GRU'yu anlamak için resme bakın

Uzun ve kısa vadeli bellek ağı LSTM'yi ve geçitli tekrarlayan ağ GRU'yu anlamak için resme bakın

Makinenin kalbinden transfer yapmaya yetkili

Herkese merhaba, resimli LSTM ve GRU kılavuzuna hoş geldiniz. Bu makalede Michael, LSTM ve GRU'nun arkasındaki ilkelerle başlayacak ve ardından LSTM ve GRU'nun mükemmel performansa sahip olmasını sağlayan iç mekanizmaları açıklayacak. Bu iki ağın arkasında neler olduğunu anlamak istiyorsanız, bu makale tam size göre.

Dilerseniz bu makalenin video versiyonunu da izleyebilirsiniz.

Problem odaklı kısa süreli hafıza

Tekrarlayan Sinir Ağları (RNN'ler) büyük ölçüde kısa süreli bellekten etkilenir.Sıra yeterince uzunsa, bilgileri erken zaman adımlarından sonraki zaman adımlarına aktarmaları zor olacaktır. Bu nedenle, tahmin yapmak için bir metin paragrafını işlemeye çalışırsanız, RNN en başından önemli bilgileri gözden kaçırabilir.

Geri yayılma sürecinde, döngüsel sinir ağında gradyanın kaybolması gibi sorunlar da vardır. Genel olarak konuşursak, gradyan sinir ağının ağırlıklarını güncellemek için kullanılır Degradenin kaybolmasının problemi, gradyanın kademeli olarak küçülmesi ve zamanla sıfıra yaklaşmasıdır. Gradyan değeri çok küçük hale gelirse, öğrenme için yeterli bilgi sağlayamaz.

Gradyan güncelleme kuralı

Dolayısıyla, RNN'de, genellikle erken katman, gradyanın ortadan kalkması nedeniyle öğrenmeyi durduracaktır. Bu nedenle, RNN daha uzun dizide gördüklerini unutacak ve bu nedenle yalnızca kısa süreli belleğe sahip olacaktır.

Çözüm-LSTM ve GRU

LSTM ve GRU'nun oluşturulması kısa süreli bellek çözümleri olarak kullanılabilir.Bilgi akışını düzenleyebilen "kapı" adı verilen dahili bir mekanizmaya sahiptirler.

Bu kapılar, verilerin bir dizide saklanıp saklanmayacağını belirleyebilir, böylece ilgili bilgileri tahmin için daha uzun bir dizi zincirine iletebilir. Yinelenen sinir ağlarına dayanan en son sonuçların neredeyse tamamı bu iki ağ üzerinden elde edilir. LSTM ve GRU, konuşma tanıma, konuşma sentezi ve metin oluşturmada kullanılabilir. Bunları videolar için altyazı oluşturmak için bile kullanabilirsiniz.

Şimdi, LSTM ve GRU'nun uzun dizileri işlemede neden iyi olduğunu anlamalısınız. Bu soruyu cevaplamak için sezgisel açıklamalar ve resimler kullanacağım ve matematiği kullanmaktan kaçınmaya çalışacağım.

Sezgisel açıklama

Tamam, bir düşünce deneyiyle başlayalım. Çevrimiçi yorumları okuyarak Life marka tahıl satın alıp almayacağınıza karar verdiğinizi varsayalım. Çünkü önce incelemelere bakarız ve sonra başkalarının bunun iyi mi yoksa kötü mü olduğuna karar veririz.

İncelemeleri okuduğunuzda, beyniniz bilinçaltında önemli anahtar kelimeleri hatırlar. "Harika" ve "mükemmel dengelenmiş kahvaltı" gibi kelimelere odaklanacaksınız. "Bu", "ver", "hepsi", "gerekir" vb. Umurunda değil. Bir arkadaşınız size ertesi gün yorumun ne dediğini sorarsa, kelimesi kelimesine hatırlayamayabilirsiniz. Ama yine de "kesinlikle tekrar satın alacağım" gibi bazı önemli noktaları hatırlayabilirsiniz, diğer kelimeler hafızadan kaybolacaktır.

Bu, LSTM veya GRU'nun rolüdür. Tahmin için yalnızca ilgili bilgileri tutmayı öğrenebilir. Bu durumda hatırladığınız yorumlar, iyi kararlar vermenize olanak sağlayacaktır.

Tekrarlayan sinir ağını inceleyin

LSTM veya GRU'nun bunu nasıl yaptığını anlamak için tekrarlayan sinir ağını gözden geçirelim. RNN şu şekilde çalışır: ilk kelime makine tarafından okunabilir bir vektöre dönüştürülür. Daha sonra, RNN vektör dizisini tek tek işler.

Tek tek işlem sırası

İşleme sırasında, önceki gizli durumu sıranın bir sonraki adımına geçirir. Gizli durum, sinir ağının hafızası olarak kullanılır ve daha önce ağ tarafından gözlemlenen veri bilgilerini tutar.

Gizli durumu bir sonraki adıma geçirin

Gizli durumun nasıl hesaplanacağını görmek için RNN'nin bir hücresini gözlemleyin. İlk olarak, girdi ve önceki Tibet durumu bir vektörde birleştirilir. Bu vektör artık mevcut girişe ve önceki giriş bilgilerine sahiptir. Vektör tanh tarafından etkinleştirilir ve çıktı yeni gizli durum veya sinir ağının hafızasıdır.

RNN birimi

Hiperbolik tanjant (tanh) aktivasyon fonksiyonu

Tanh aktivasyon fonksiyonu sinir ağında geçirilen değeri ayarlamak için kullanılır ve giriş değerini -1 ile 1 arasında sıkıştırır.

Tanh, girişi -1 ile 1 arasına sıkıştırır

Bir vektör bir sinir ağından geçtiğinde, çeşitli matematiksel işlemler nedeniyle birçok dönüşüme uğrayacaktır. Bir değerin sürekli olarak 3 ile çarpıldığı varsayıldığında, sonuç astronomik sayılara dönüşecek ve diğer değerlerin önemsiz bir şekilde değişmesine neden olacaktır.

Tanh olmadan vektör dönüşümü

Tanh işlevi, değerin -1 ile 1 arasında kalmasını sağlayarak sinir ağının çıktısını kontrol eder. Aşağıdaki şekil, tanh fonksiyonu yardımıyla değerin farklı zaman adımlarında nasıl stabil olduğunu göstermektedir.

Tanh fonksiyonu altında vektör değişimi

Bu RNN. Çok az dahili operasyona sahiptir, ancak uygun ortamlarda (kısa diziler gibi) iyi performansa sahiptir. RNN, geliştirilmiş LSTM ve GRU sürümünden çok daha az bilgi işlem kaynağı kullanır.

LSTM

LSTM, tekrarlayan sinir ağına benzer bir kontrol akışına sahiptir.İleriye yayılma sırasında bilgi ileten verileri işler.İkisi arasındaki fark, birimdeki işleme sürecindedir.

LSTM birimi ve dahili işlemler

Bu dahili işlemler, LSTM'nin bilgileri kaydetmesine veya atmasına izin vermek için kullanılır. Bu işlemleri şimdi görmek biraz zor olabilir, bu yüzden onlara adım adım bakalım.

Ana kavram

LSTM'nin temel kavramı, hücre durumu ve hücredeki çeşitli kapılardır. Birim durumu, bir aktarım otoyolu gibidir ve ilgili bilgiler sıra zincirinde iletilir. Bunu ağın "hafızası" olarak düşünebilirsiniz. Teoride, birim durumu, dizi işleme boyunca ilgili bilgileri taşıyabilir. Bu nedenle, önceki zaman adımının bilgisi bile sonraki zaman adımının işlenmesine yardımcı olabilir, böylece birim durumu, kısa süreli belleğin etkisini etkili bir şekilde azaltır. Birim durumu farklı zaman adımlarında aktarılırken, birim durumundaki bilgileri geçitleme mekanizması aracılığıyla ekleyebilir veya silebiliriz. Bu kapılar, birim durumuna girebilecek bilgileri belirlemek için kullanılan farklı sinir ağlarıdır. Eğitim sürecinde kapı, hangi bilgilerin kaydedilmesi veya unutulması gerektiğini öğrenebilir.

sigmoid işlevi

Geçiş mekanizması esas olarak sigmoid aktivasyon fonksiyonundan oluşur.Sigmoid aktivasyon fonksiyonu, tanh aktivasyon fonksiyonuna benzerdir. -1 ile 1 yerine 0 ile 1 arasındaki değeri kontrol eder. Bu, verilerin güncellenmesine veya atılmasına yardımcı olur, çünkü 0 ile çarpılan herhangi bir sayı 0'dır, bu da değerin kaybolmasına veya "unutulmasına" neden olur. 1 ile çarpılan herhangi bir sayı kendisidir, bu nedenle bu değer değişmez veya "kaydetmez". Ağ, hangi verilerin önemli olmadığını, unutulabileceğini veya hangi verilerin kaydedilmesi gerektiğini bilebilir.

Sigmoid, 0 ile 1 arasındaki değeri kontrol edecek

Çeşitli kapıların rolüne daha yakından bakalım.LSTM birimindeki bilgi akışını düzenlemek için üç farklı kapıya sahibiz, yani unutma kapısı, giriş kapısı ve çıkış kapısı.

Unutulmuş Kapı

Birincisi, hangi bilgilerin atılması veya kaydedilmesi gerektiğini belirleyen unutma geçididir. Unutma geçidinde, önceki gizli durumdan bilgiler ve mevcut girişten gelen bilgiler sigmoid işlevine aktarılır ve değer 0 ile 1 arasına sıkıştırılır. 0'a ne kadar yakınsa atmak, 1'e o kadar yakın tutmak demektir.

Unutulan kapı operasyonu

Giriş kapısı

Hücre durumunu güncellemek için, LSTM bir giriş geçidi gerektirir. İlk olarak, önceki gizli durumu ve akım girişini, değeri 0'a 1'e dönüştürerek hangi değerlerin güncelleneceğini belirleyen bir sigmoid işlevine aktarıyoruz. 0 önemli değil, 1 önemli anlamına gelir. Sinir ağını düzenlemeye yardımcı olmak için değeri -1 ile 1 arasında bir değere değiştirmek için gizli durumu ve mevcut girişi tanh işlevine de iletebilirsiniz. Daha sonra tanh çıktısını sigmoid çıktısıyla çarpın ve sigmoid çıktısı tanh çıktısının önemli bilgilerini korumaya karar verecektir.

Giriş kapısı işlemi

Birim durumu

Artık birim durumu hesaplamak için yeterli bilgi olmalıdır. İlk olarak hücre durumu unutma vektörü nokta nokta ile çarpılır, 0'a yakın bir değer ile çarpılırsa hücre durumunda düşük bir değer elde etmek mümkündür. Daha sonra, önceki adımın çıktısı giriş kapısından okunur ve nokta nokta eklenir ve birim durumu, sinir ağının ilgili olduğunu düşündüğü yeni değere güncellenir ve yeni birim durumu elde edilir.

Hesaplama birimi durumu

Çıkış kapısı

Son olarak, bir sonraki gizli durumu belirleyen çıkış kapısı vardır. Unutmayın, gizli durum önceden girilmiş bilgileri içerir. Gizli durum da tahmin için kullanılır. İlk olarak, önceki gizli durumu ve akım girişini bir sigmoid işleve aktarıyoruz. Daha sonra yeni değiştirilmiş birim durumunu tanh fonksiyonuna geçiririz. Gizli durumun hangi bilgileri içermesi gerektiğini belirlemek için tanh çıktısını sigmoid çıktısıyla çarpıyoruz. Yeni birim durumu ve yeni gizli durum daha sonra bir sonraki adıma aktarılır.

Çıkış kapısı işlemi

Anlaşılması gereken şey, unutma kapısının önceki adımlarla neyin ilgili olduğunu belirlemesidir. Giriş kapısı, geçerli adımdan hangi ilgili bilgilerin eklendiğini belirler. Çıkış kapısı, bir sonraki gizli durumun ne olması gerektiğini belirler.

Kod demosu

Modeli kod aracılığıyla daha iyi anlamaya ihtiyaç duyanlar için işte bir Python sözde kod örneği:

Python sözde kodu

  • İlk olarak, önceki gizli durumu, birleştirilen mevcut girişle birleştirin.
  • Birleştirme değerini unut katmanına gönderin ve alakasız verileri silin.
  • Bir aday katman oluşturmak için birleştir'i kullanın ve adaylar birim duruma eklenecek olası değerleri tutar.
  • Birleştirme değeri, yeni birim durumuna eklenmesi gereken aday verileri belirleyen giriş katmanına gönderilir.
  • Unutma katmanını, aday katmanını ve giriş katmanını hesapladıktan sonra, yeni hücre durumunu hesaplamak için bu vektörleri ve önceki hücre durumunu kullanın.
  • Ardından çıktıyı hesaplayın.
  • Çıktı ve yeni birim durumu arasındaki ilgili öğelerin çarpımı yeni gizli durumla sonuçlanacaktır.
  • GRU

    LSTM'nin nasıl çalıştığını zaten biliyoruz, kısaca GRU'ya bakalım. GRU, LSTM'ye çok benzeyen yeni nesil tekrarlayan bir sinir ağıdır. GRU birim durumundan kurtulur ve bilgileri iletmek için doğrudan gizli durumu kullanır.Sadece iki geçit mekanizmasına sahiptir, sıfırlama geçidi ve güncelleme geçidi.

    GRU ünitesi ve kapısı

    Güncelleme geçidinin işlevi, LSTM'nin unutma geçidi ve giriş geçidine benzer. Ayrıca hangi eski bilgilerin atılacağına ve hangi yeni bilgilerin ekleneceğine de karar verir. Sıfırlama kapısı, ne kadar geçmiş bilginin unutulacağına karar vermek için kullanılan bir kapıdır.

    GRU'nun birkaç tensör işlemi vardır, bu nedenle LSTM ile karşılaştırıldığında eğitim hızı daha hızlıdır. Hangisinin daha iyi olduğu hala belli değil Araştırmacılar ve mühendisler genellikle mevcut durumlarına göre birini seçerler.

    sonuç olarak

    Özetle, RNN tahmin için sıra verilerini işlemek için çok faydalıdır, ancak kısa süreli bellek sorunları vardır. LSTM ve GRU yaratmanın amacı, kısa süreli belleği azaltmak için "geçit" mekanizmasını kullanmaktır. LSTM ve GRU, konuşma tanıma, konuşma sentezi ve doğal dil anlama gibi en gelişmiş derin öğrenme uygulamalarında yaygın olarak kullanılmaktadır.

    Okuduktan sonra evrişimli sinir ağlarının "alıcı alanını" anlamıyor musunuz? O zaman sen bana gel
    önceki
    Jiang Mengjie, uzun ve düz bacakları ve şık bir takım elbisesiyle yırtık taytlar giymişti Netizen: Bir çanta istiyorum
    Sonraki
    "Gençlik Dövüşü" nde, bilekleri bilek kadar ince, batı tarzı duvaklı kolsuz etek giyen Jin Xiaoni'yi canlandırdı.
    Hayvanlar o kadar iyi değil! Güzel çift, 13 çocuğu 20 yıldan fazla bir süredir hapsedip taciz etti, 30 yaşındaki oğlunun sadece 3 IQ'su var
    Wu Qianın yeni oyunu başladığında spor giyimde bir kar prensesine dönüşüyor. Rafine resim ve rötuşsuz resim bir çift bacak olabilir mi?
    Ma Su, kareli kalça eteği olan bir tişört giydi. Aşağı baktı ve ayaklarını gördü. Netizenler sessizdi: buzağı gerçekten güçlü
    Yu Kewei 36 yaşında, ama o hala kalbinde bir kız.Sevimli ve sevimli bir elbise giyiyor.Gerçekten evle evlenmek istiyor.
    Paris'te yürüyen beyaz bir trençkot giyen, uzun saçları dalgalanan cazibeyle dolu "Creation 101" ile popüler oldu.
    Boston Dynamics mekanik köpeğinin "Black Mirror" katilinin yüzüne vurmasından korkuyor musunuz?
    C pozisyonunda, düz paçalı pantolonlu örme bir hırka giyen "Creation 101" aynaya çok tatlı geldi.
    "Ruyi'nin Saraydaki Kraliyet Sevgisi" ile dikkatleri üzerine çekti, tişört ve kolsuz gömlek etek giyiyor, ince ve güzel bir kız.
    Henüz bulut bilişimi net olarak görmedim, uç bilişim zaten geliyor
    Beyaz bayan ve güzel Zhao Yazhi rolünü oynadı ve şimdi bir Japon anime kahramanı olarak pileli bir etek ve tüp çorap giyiyor.
    Yetkili: Messi, bu hafta Şampiyonlar Ligi'nin en iyi oyuncusu seçildi
    To Top