Memang benar bahwa membatasi propagasi gradien Anda hingga 30 langkah waktu akan mencegahnya mempelajari segala sesuatu yang mungkin dalam dataset Anda. Namun, itu sangat bergantung pada dataset Anda apakah itu akan mencegahnya mempelajari hal-hal penting tentang fitur dalam model Anda!
Membatasi gradien selama pelatihan lebih seperti membatasi jendela di mana model Anda dapat mengasimilasi fitur input dan keadaan tersembunyi dengan kepercayaan tinggi. Karena pada saat pengujian Anda menerapkan model Anda ke seluruh urutan input, itu masih akan dapat memasukkan informasi tentang semua fitur input ke dalam keadaan tersembunyi. Mungkin tidak tahu persis bagaimana menyimpan informasi itu sampai membuat prediksi akhir untuk kalimat itu, tetapi mungkin ada beberapa (yang diakui lebih lemah) koneksi yang masih dapat dibuat.
Pikirkan dulu tentang contoh yang dibuat-buat. Misalkan jaringan Anda menghasilkan 1 jika ada 1 di mana saja di inputnya, dan 0 sebaliknya. Misalkan Anda melatih jaringan pada urutan panjang 20 dan membatasi lalu gradien menjadi 10 langkah. Jika dataset pelatihan tidak pernah berisi angka 1 dalam 10 langkah terakhir input, maka jaringan akan mengalami masalah dengan input uji konfigurasi apa pun. Namun, jika set pelatihan memiliki beberapa contoh seperti [1 0 0 ... 0 0 0] dan yang lainnya seperti [0 0 0 ... 1 0 0], maka jaringan akan dapat mengambil "kehadiran dari fitur 1 "di mana saja di inputnya.
Kembali ke analisis sentimen. Katakanlah selama pelatihan model Anda menghadapi kalimat negatif yang panjang seperti "Saya benci ini karena ... di sekitar dan di sekitar" dengan, katakanlah, 50 kata dalam ellipsis. Dengan membatasi propagasi gradien ke 30 langkah waktu, model tidak akan menghubungkan "Aku benci ini karena" ke label output, sehingga tidak akan mengambil "I", "benci", atau "ini" dari pelatihan ini contoh. Tapi itu akan menangkap kata-kata yang berada dalam 30 langkah waktu dari akhir kalimat. Jika rangkaian pelatihan Anda berisi contoh-contoh lain yang berisi kata-kata yang sama, mungkin bersama dengan "benci" maka ia memiliki peluang untuk mengambil tautan antara "benci" dan label sentimen negatif. Juga, jika Anda memiliki contoh pelatihan yang lebih singkat, katakan, "Kami benci ini karena ini mengerikan!" maka model Anda akan dapat menghubungkan fitur "benci" dan "ini" ke label target. Jika Anda memiliki cukup banyak contoh pelatihan ini, maka model tersebut harus dapat mempelajari koneksi secara efektif.
Pada waktu ujian, misalkan Anda mempresentasikan model dengan kalimat panjang lain seperti "Saya benci ini karena ... pada tokek!" Masukan model akan dimulai dengan "Aku benci ini", yang akan diteruskan ke keadaan tersembunyi model dalam beberapa bentuk. Status tersembunyi ini digunakan untuk memengaruhi status tersembunyi masa depan model, jadi meskipun mungkin ada 50 kata sebelum akhir kalimat, keadaan tersembunyi dari kata-kata awal tersebut memiliki peluang teoretis untuk mempengaruhi keluaran, meskipun tidak pernah ada. dilatih pada sampel yang mengandung jarak sangat jauh antara "Aku benci ini" dan akhir kalimat.