Meneliti arsitektur DNC memang menunjukkan banyak kesamaan dengan LSTM . Pertimbangkan diagram di artikel DeepMind yang Anda tautkan ke:
Bandingkan ini dengan arsitektur LSTM (kredit ke ananth di SlideShare):
Ada beberapa analog dekat di sini:
- Sama seperti LSTM, DNC akan melakukan beberapa konversi dari input ke vektor status ukuran tetap ( h dan c di LSTM)
- Demikian juga, DNC akan melakukan beberapa konversi dari vektor-vektor keadaan ukuran tetap ini ke keluaran yang berpotensi diperpanjang secara sewenang-wenang (dalam LSTM kami berulang kali mengambil sampel dari model kami hingga kami puas / model mengindikasikan kami selesai)
- The lupa dan masukan gerbang LSTM mewakili menulis operasi di DNC ( 'melupakan' pada dasarnya hanya zeroing atau sebagian zeroing memori)
- The keluaran gerbang LSTM merupakan membaca operasi di DNC
Namun, DNC jelas lebih dari sekadar LSTM. Yang paling jelas, ia menggunakan keadaan yang lebih besar yang didiskritisasi (dialamatkan) menjadi potongan-potongan; ini memungkinkannya untuk membuat gerbang lupa dari LSTM lebih biner. Maksud saya, negara tidak harus terkikis oleh sebagian kecil di setiap langkah waktu, sedangkan di LSTM (dengan fungsi aktivasi sigmoid) itu harus demikian. Ini mungkin mengurangi masalah lupa bencana yang Anda sebutkan dan dengan demikian skala yang lebih baik.
DNC juga baru dalam tautan yang digunakannya di antara memori. Namun, ini mungkin perbaikan yang lebih marjinal pada LSTM daripada tampaknya jika kita membayangkan kembali LSTM dengan jaringan saraf lengkap untuk setiap gerbang, bukan hanya satu lapisan dengan fungsi aktivasi (sebut ini super-LSTM); dalam hal ini, kita sebenarnya dapat mempelajari hubungan antara dua slot di memori dengan jaringan yang cukup kuat. Meskipun saya tidak tahu secara spesifik tautan yang disarankan DeepMind, mereka menyiratkan dalam artikel bahwa mereka mempelajari segalanya hanya dengan melakukan backpropagating gradien seperti jaringan saraf biasa. Oleh karena itu, hubungan apa pun yang mereka enkode dalam tautan mereka secara teoretis dapat dipelajari oleh jaringan saraf, sehingga 'super-LSTM' yang cukup kuat harus dapat menangkapnya.
Dengan semua yang dikatakan , sering terjadi dalam pembelajaran mendalam bahwa dua model dengan kemampuan teoretis yang sama untuk berekspresi tampil sangat berbeda dalam praktiknya. Misalnya, pertimbangkan bahwa jaringan berulang dapat direpresentasikan sebagai jaringan umpan-maju yang sangat besar jika kita hanya membuka gulungannya. Demikian pula, jaringan konvolusional tidak lebih baik daripada jaringan saraf vanila karena memiliki kapasitas ekstra untuk berekspresi; pada kenyataannya, kendala yang dikenakan pada bobotnya membuatnya lebih efektif. Dengan demikian membandingkan keekspresifan dari dua model belum tentu merupakan perbandingan yang adil dari kinerja mereka dalam praktiknya, juga bukan proyeksi akurat tentang seberapa baik mereka akan mengukur.
Satu pertanyaan yang saya miliki tentang DNC adalah apa yang terjadi ketika kehabisan memori. Ketika komputer klasik kehabisan memori dan blok memori lain diminta, program mulai mogok (paling-paling). Saya ingin tahu bagaimana rencana DeepMind untuk mengatasi ini. Saya menganggap itu akan bergantung pada beberapa kanibalisasi memori yang cerdas yang sedang digunakan. Dalam beberapa hal komputer saat ini melakukan ini ketika OS meminta aplikasi membebaskan memori yang tidak kritis jika tekanan memori mencapai batas tertentu.