RNN dengan L2 Regularisasi berhenti belajar

10

Saya menggunakan Bidirectional RNN untuk mendeteksi peristiwa terjadinya ketidakseimbangan. Kelas positif 100 kali lebih jarang daripada kelas negatif. Meskipun tidak ada penggunaan regularisasi saya bisa mendapatkan akurasi 100% pada set kereta dan 30% pada set validasi. Saya menyalakan regularisasi l2 dan hasilnya hanya akurasi 30% pada set kereta juga daripada belajar lebih lama dan akurasi 100% pada set validasi.

Saya berpikir bahwa mungkin data saya terlalu kecil sehingga hanya untuk percobaan saya menggabungkan set kereta dengan set tes yang tidak saya gunakan sebelumnya. Situasinya sama dengan saya akan menggunakan regularisasi l2, yang tidak saya lakukan sekarang. Saya mendapatkan akurasi 30% pada tes kereta + dan validasi.

Dalam penggunaan 128 unit yang disembunyikan dan 80 timesteps dalam percobaan yang disebutkan. Ketika saya menambah jumlah unit tersembunyi menjadi 256, saya dapat kembali mengenakan jas di kereta + set tes untuk mendapatkan akurasi 100% tetapi masih hanya 30% pada set validasi.

Saya memang mencoba begitu banyak opsi untuk hyperparameters dan hampir tidak ada hasil. Mungkin entropi silang tertimbang menyebabkan masalah, dalam percobaan yang diberikan berat pada kelas positif adalah 5. Saat mencoba bobot yang lebih besar hasilnya seringkali lebih buruk sekitar 20% dari akurasi.

Saya mencoba sel LSTM dan GRU, tidak ada perbedaan.

Hasil terbaik yang saya dapatkan. Saya mencoba 2 lapisan tersembunyi dengan 256 unit tersembunyi, butuh sekitar 3 hari perhitungan dan 8GB memori GPU. Saya mendapat akurasi sekitar 40-50% sebelum mulai overfitting lagi sementara l2 regularisasi aktif tetapi tidak begitu kuat.

Saya menggunakan pengoptimal Adam, yang lain tidak bekerja dengan baik. Fitur yang saya miliki sudah cukup, karena saat menggunakan state-machine saya bisa mendapatkan akurasi 90%. Dalam mesin keadaan itu, fitur utama adalah penjumlahan dan ambang batas berdasarkan sifat-sifat fitur lainnya dan panjang variabelnya kadang-kadang 10, kadang-kadang 20 cap waktu yang berbicara tentang fitur tersebut.

Apakah ada pedoman umum apa yang harus dilakukan dalam situasi ini? Saya tidak dapat menemukan apa pun.

Andrej Fogelton
sumber

Jawaban:

11

Artikel Bengio et al " Pada kesulitan pelatihan jaringan saraf berulang " memberikan petunjuk mengapa regularisasi L2 dapat membunuh kinerja RNN. Pada dasarnya, L1 / L2 yang mengatur sel RNN juga membahayakan kemampuan sel untuk belajar dan menyimpan informasi sepanjang waktu.

Menggunakan penalti L1 atau L2 pada bobot berulang dapat membantu dengan meledak gradien. Dengan asumsi bobot diinisialisasi ke nilai kecil, nilai singular terbesar dari mungkin lebih kecil dari 1. Istilah L1 / L2 dapat memastikan bahwa selama pelatihan tetap lebih kecil dari 1, dan dalam rezim ini gradien tidak dapat meledak . Pendekatan ini membatasi model menjadi penarik titik tunggal pada titik asal, di mana setiap informasi yang dimasukkan dalam model mati dengan cepat secara eksponensial. Ini mencegah model untuk belajar jaringan generator, juga tidak dapat menunjukkan jejak memori jangka panjang.λ1Wrecλ1

Sycorax berkata Reinstate Monica
sumber