Saya baru-baru ini menjadi tertarik pada LSTM dan saya terkejut mengetahui bahwa bobot dibagi bersama waktu.
Saya tahu bahwa jika Anda berbagi bobot lintas waktu, maka urutan waktu input Anda dapat menjadi panjang variabel.
Dengan bobot bersama, Anda memiliki lebih sedikit parameter untuk dilatih.
Dari pemahaman saya, alasan seseorang akan beralih ke LSTM vs beberapa metode pembelajaran lainnya adalah karena Anda percaya ada semacam struktur temporal / sekuensial / ketergantungan pada data Anda yang ingin Anda pelajari. Jika Anda mengorbankan 'mewah' panjang variabel, dan menerima waktu perhitungan yang lama, bukankah RNN / LSTM tanpa bobot bersama (yaitu untuk setiap langkah saat Anda memiliki bobot berbeda) berkinerja lebih baik atau ada sesuatu yang saya lewatkan?
sumber
Perspektif 'bobot bersama' berasal dari pemikiran tentang RNNs sebagai jaringan feedforward yang terbuka dari waktu ke waktu. Jika bobotnya berbeda pada setiap saat, ini hanya akan menjadi jaringan feedforward. Tapi, saya kira cara lain untuk memikirkannya adalah sebagai RNN yang bobotnya adalah fungsi yang bervariasi waktu (dan itu bisa membuat Anda menjaga kemampuan untuk memproses urutan panjang variabel).
Jika Anda melakukan ini, jumlah parameter akan tumbuh secara linear dengan jumlah langkah waktu. Itu akan menjadi ledakan besar parameter untuk urutan dengan panjang yang cukup. Memang akan membuat jaringan lebih kuat, jika Anda memiliki sumber daya komputasi yang besar untuk menjalankannya dan data yang besar untuk membatasi itu. Untuk sekuens panjang, itu mungkin tidak layak secara komputasi dan Anda akan mendapatkan overfitting. Bahkan, orang biasanya pergi ke arah yang berlawanan dengan menjalankan backpropagation terpotong melalui waktu, yang hanya membuka gulungan jaringan untuk beberapa waktu singkat, daripada seluruh urutan. Ini dilakukan untuk kelayakan komputasi. Menariknya, RNN masih dapat mempelajari struktur temporal yang melampaui panjang pemotongan, karena unit berulang dapat menyimpan memori dari sebelumnya.
sumber
Saya pikir karena RNN dengan perulangan tersembunyi ke tersembunyi (dan bobot waktu dibagi) setara dengan Mesin Universal Turing, membiarkan mereka memiliki bobot berbeda untuk langkah waktu yang berbeda tidak membuat mereka lebih kuat.
sumber