DNC'nin mimarisinin incelenmesi gerçekten de LSTM ile birçok benzerlik göstermektedir . Bağlantı kurduğunuz DeepMind makalesindeki diyagramı düşünün:
Bunu LSTM mimarisiyle karşılaştırın (SlideShare'da anant'a kredi):
Burada bazı yakın analoglar var:
- LSTM'ye benzer şekilde, DNC girişten sabit boyutlu durum vektörlerine ( LSTM'de h ve c ) bir miktar dönüşüm gerçekleştirecektir.
- Benzer şekilde, DNC bu sabit boyutlu durum vektörlerinden potansiyel olarak isteğe bağlı uzunluktaki çıktıya bazı dönüşümler gerçekleştirecektir (LSTM'de tatmin olana / modelin bittiğimizi gösterene kadar modelimizden tekrar tekrar örnek alıyoruz)
- Unutmak ve giriş LSTM kapıları temsil yazma ( 'unutma' esas olarak sadece sıfırlar veya kısmen bellek kesilmesi) DNC operasyonu
- Çıkış LSTM kapısı temsil okuma DNC operasyonu
Ancak, DNC kesinlikle bir LSTM'den daha fazlasıdır. En bariz şekilde, parçalara ayrık (adreslenebilir) olan daha büyük bir durum kullanır; Bu, LSTM'nin unutma kapısını daha ikili yapmasını sağlar. Bununla kastedilen, devletin her zaman adımında bir miktar kesir ile aşınması gerekmezken, LSTM'de (sigmoid aktivasyon fonksiyonu ile) zorunlu olarak öyle. Bu, bahsettiğiniz felaket unutma problemini azaltabilir ve böylece daha iyi ölçeklenebilir.
DNC, bellek arasında kullandığı bağlantılarda da yenidir. Bununla birlikte, bu, LSTM'de LSTM'yi, aktivasyon fonksiyonu olan tek bir katman yerine her kapı için tam sinir ağları ile yeniden hayal edersek göründüğümüzden daha marjinal bir gelişme olabilir (buna super-LSTM deyin); bu durumda, aslında yeterince güçlü bir ağ ile bellekteki iki yuva arasındaki herhangi bir ilişkiyi öğrenebiliriz. DeepMind'in önerdiği bağlantıların özelliklerini bilmesem de, makalede, normal bir sinir ağı gibi degradeleri geriye doğru çoğaltarak her şeyi öğrendiklerini ima ediyorlar. Bu nedenle bağlantılarında kodladıkları ilişki ne olursa olsun, sinirsel bir ağ tarafından teorik olarak öğrenilebilir olmalı ve bu yüzden yeterince güçlü bir 'süper LSTM' onu yakalayabilmelidir.
Tüm söylenenlerle birlikte , derinlemesine öğrenmede, ifade için aynı teorik kabiliyete sahip iki modelin pratikte çok farklı performans gösterdiği görülür. Örneğin, tekrarlayan bir ağın, yalnızca kilidini açarsak, büyük bir ileri besleme ağı olarak temsil edilebileceğini düşünün. Benzer şekilde, evrişimsel ağ vanilya sinir ağından daha iyi değildir, çünkü ifade için ekstra kapasiteye sahiptir; aslında, ağırlığı daha etkili kılan kısıtlamalardır . Bu nedenle, iki modelin ifade edilebilirliğini karşılaştırmak, uygulamadaki performanslarının adil bir şekilde karşılaştırılması veya ne kadar iyi ölçekleneceklerinin doğru bir projeksiyonu değildir.
DNC ile ilgili bir sorum, hafızası bittiğinde ne olacağı. Klasik bir bilgisayarın belleği dolduğunda ve başka bir bellek bloğu istendiğinde, programlar çökmeye başlar (en iyi ihtimalle). DeepMind'in bunu nasıl ele almayı planladığını merak ediyorum. Halihazırda kullanılmakta olan hafızanın akıllı bir yamyamlığına dayanacağını varsayıyorum. Bir anlamda, bir işletim sistemi, bellek basıncı belirli bir eşiğe ulaştığında uygulamaların kritik olmayan belleği boşaltmasını istediğinde şu anda bunu yapmaktadır.