Вивчення архітектури DNC дійсно показує багато подібності з LSTM . Розгляньте діаграму в статті DeepMind, яку ви пов’язали:
Порівняйте це з архітектурою LSTM (кредит на анант на SlideShare):
Тут є кілька близьких аналогів:
- Так само, як і LSTM, DNC здійснить певну конверсію від вхідних до векторів стану фіксованого розміру ( h і c в LSTM)
- Аналогічно, DNC здійснить деяку конверсію з цих векторів стану фіксованого розміру в потенційно довільно подовжений вихід (у LSTM ми неодноразово вибираємо з нашої моделі, поки ми не задоволені / модель вказує, що ми виконані)
- Забувають і вхідні ворота LSTM представляють записи операції в DNC ( «забування», по суті , тільки обнулення або частково обнулення пам'яті)
- Вихід воріт LSTM представляє читання операції в DNC
Однак DNC, безумовно, більше, ніж LSTM. Найбільш очевидно, що він використовує більший стан, який дискретно (адресовано) на шматки; це дозволяє йому зробити ворота забуття LSTM більш бінарними. Під цим я маю на увазі, що стан не обов'язково розмивається деякою часткою на кожному етапі часу, тоді як у LSTM (з функцією активації сигмоїдів) це обов'язково. Це може зменшити проблему катастрофічного забуття, про яке ви згадали, і таким чином краще масштабувати.
DNC також є новим у зв’язках, які він використовує між пам’яттю. Однак це може бути більш маргінальним поліпшенням для LSTM, ніж здається, якщо ми знову уявимо собі LSTM з повними нейронними мережами для кожного затвора, а не лише одним шаром з функцією активації (називаємо це супер-LSTM); в цьому випадку ми можемо фактично дізнатися будь-який зв’язок між двома слотами в пам'яті з досить потужною мережею. Хоча я не знаю специфіки посилань, які пропонує DeepMind, у статті вони мають на увазі, що вони вчаться всього лише за допомогою зворотного розповсюдження градієнтів, як звичайна нейронна мережа. Тому будь-яке відношення, яке вони кодують у своїх посиланнях, теоретично повинно бути вивчене нейронною мережею, і тому достатньо потужний "супер-LSTM" повинен бути здатний захопити його.
Незважаючи на все сказане , часто трапляється в глибокому вивченні того, що дві моделі з однаковою теоретичною здатністю до виразності на практиці відрізняються значно різними. Наприклад, врахуйте, що періодична мережа може бути представлена як величезна мережа передачі, якщо ми просто розкручуємо її. Аналогічно, згорткова мережа не краща, ніж ванільна нейромережа, оскільки має деяку додаткову здатність до виразності; насправді саме обмеження, накладені на ваги, роблять це більш ефективним. Таким чином, порівняння виразності двох моделей не обов'язково є справедливим порівнянням їхньої ефективності на практиці, ні точним прогнозом того, наскільки добре вони будуть масштабуватися.
Одне запитання щодо DNC - це те, що відбувається, коли у нього закінчується пам'ять. Коли у класичного комп’ютера не вистачає пам'яті та вимагається інший блок пам'яті, програми починають збої (у кращому випадку). Мені цікаво побачити, як DeepMind планує вирішити це. Я припускаю, що це буде покладатися на деяку інтелектуальну канібалізацію пам'яті, яка зараз використовується. У певному сенсі комп’ютери в даний час роблять це, коли ОС вимагає, щоб програми звільнили некритичну пам'ять, якщо тиск у пам'яті сягає певного порогу.