Bagaimana cara memilih jumlah lapisan tersembunyi dan jumlah sel memori dalam LSTM?


28

Saya mencoba untuk menemukan beberapa penelitian yang ada tentang cara memilih jumlah lapisan tersembunyi dan ukuran ini dari RNN berbasis LSTM.

Apakah ada artikel di mana masalah ini sedang diselidiki, yaitu, berapa banyak sel memori yang harus digunakan? Saya menganggap itu tergantung pada aplikasi dan dalam konteks mana model yang digunakan, tetapi apa yang dikatakan penelitian?

Jawaban:


15

Pertanyaan Anda cukup luas, tetapi berikut adalah beberapa kiat:

Untuk jaringan feedforward, lihat pertanyaan ini :

Jawaban @ doug telah bekerja untuk saya. Ada satu aturan tambahan yang membantu untuk masalah pembelajaran yang diawasi. Batas atas jumlah neuron tersembunyi yang tidak akan menyebabkan pemasangan berlebihan adalah:

Nh=Ns(α(Nsaya+NHai))

NsayaNHaiNsα
SebuahlhalhSebuahNs(Nsaya+NHai)α

Untuk prosedur otomatis Anda akan mulai dengan alpha 2 (dua kali lebih banyak derajat kebebasan dalam data pelatihan Anda sebagai model Anda) dan bekerja hingga 10 jika kesalahan untuk data pelatihan secara signifikan lebih kecil daripada untuk validasi silang kumpulan data.

Dan khususnya pada LSTM, Anda mungkin ingin memeriksa ini .

Tetapi poin utama: tidak ada aturan untuk jumlah node tersembunyi yang harus Anda gunakan, itu adalah sesuatu yang Anda harus mencari tahu untuk setiap kasus dengan coba-coba .


7

Pilih jumlah lapisan tersembunyi dan jumlah sel memori dalam LSTM selalu tergantung pada domain aplikasi dan konteks di mana Anda ingin menerapkan LSTM ini.

Untuk Lapisan tersembunyi. Pengenalan lapisan tersembunyi memungkinkan jaringan untuk menunjukkan perilaku non-linear.

Jumlah optimal unit tersembunyi dapat dengan mudah lebih kecil dari jumlah input, tidak ada aturan seperti mengalikan jumlah input dengan N ... Jika Anda memiliki banyak contoh pelatihan, Anda dapat menggunakan beberapa unit tersembunyi, tetapi kadang-kadang hanya 2 unit tersembunyi berfungsi paling baik dengan sedikit data. Biasanya orang menggunakan satu lapisan tersembunyi untuk tugas-tugas sederhana, tetapi saat ini penelitian dalam arsitektur jaringan saraf yang mendalam menunjukkan bahwa banyak lapisan tersembunyi dapat bermanfaat untuk objek yang sulit, karakter tulisan tangan, dan masalah pengenalan wajah.

I assume it totally depends on the application and in which context the model is being used.


5
Non-linearitas disebabkan oleh penggunaan fungsi aktivasi non-linear. Jumlah layer hanya meningkatkan ekspresifitas NN. Anda harus memperbaiki jawaban ini. Kombinasi fungsi linier masih merupakan fungsi linier (jadi, jika Anda memiliki beberapa layer yang hanya melakukan kombinasi input secara linier, maka kombinasi dari layer ini masih akan linier).
nbro

4

Secara umum, tidak ada pedoman tentang cara menentukan jumlah lapisan atau jumlah sel memori dalam LSTM.

Jumlah lapisan dan sel yang diperlukan dalam LSTM mungkin tergantung pada beberapa aspek masalah:

  1. The Kompleksitas dari dataset. Jumlah fitur, jumlah titik data dll.

  2. Proses menghasilkan data. Contoh berikut tentang bagaimana proses menghasilkan data dapat memainkan peran penting.

Ex - Prediksi harga minyak dibandingkan dengan prediksi PDB ekonomi yang dipahami dengan baik. Yang terakhir ini jauh lebih mudah daripada yang pertama. Dengan demikian, memprediksi harga minyak mungkin juga membutuhkan lebih banyak sel memori LSTM untuk memprediksi dengan akurasi yang sama dibandingkan dengan PDB.

  1. Keakuratan yang diperlukan untuk use case. Jumlah sel memori akan sangat bergantung pada ini. Jika tujuannya adalah untuk mengalahkan yang mutakhir - satu membutuhkan lebih banyak sel LSTM secara umum. Bandingkan dengan tujuan menghasilkan prediksi yang masuk akal - yang membutuhkan jumlah sel LSTM yang lebih sedikit.

Saya mengikuti langkah-langkah ini ketika memodelkan menggunakan LSTM:

  1. Coba satu lapisan tersembunyi dengan 2 atau 3 sel memori. Lihat kinerjanya terhadap tolok ukur. Jika itu adalah masalah deret waktu maka saya biasanya membuat perkiraan dari teknik deret waktu klasik sebagai patokan.

  2. Coba dan tambah jumlah sel memori. Jika kinerjanya tidak meningkat banyak maka beralihlah ke langkah berikutnya.

  3. Mulailah membuat jaringan yang dalam yaitu menambah lapisan lain dengan sejumlah kecil sel memori.

Selain:

Tidak ada batasan jumlah tenaga kerja yang dapat dikhususkan untuk mencapai minimum global dari fungsi kerugian dan menyesuaikan parameter hiper terbaik. Jadi, memiliki fokus pada tujuan akhir untuk pemodelan harus menjadi strategi daripada berusaha meningkatkan akurasi sebanyak mungkin.

Sebagian besar masalah dapat ditangani menggunakan 2-3 lapisan jaringan.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.