Jadi saya mencoba untuk belajar sendiri jaringan saraf (untuk aplikasi regresi, bukan mengklasifikasikan gambar kucing).
Eksperimen pertama saya adalah melatih jaringan untuk mengimplementasikan filter FIR dan Discrete Fourier Transform (pelatihan pada sinyal "sebelum" dan "setelah"), karena keduanya adalah operasi linier yang dapat diimplementasikan oleh satu lapisan tanpa fungsi aktivasi. Keduanya bekerja dengan baik.
Jadi saya ingin melihat apakah saya bisa menambahkan abs()
dan membuatnya belajar spektrum amplitudo. Pertama saya berpikir tentang berapa banyak node yang dibutuhkan di lapisan tersembunyi, dan menyadari bahwa 3 ReLU cukup untuk perkiraan kasar abs(x+jy) = sqrt(x² + y²)
, jadi saya menguji operasi itu sendiri pada bilangan kompleks tunggal (2 input → 3 node ReLU hidden layer → 1 keluaran). Kadang-kadang berhasil:
Tetapi sebagian besar waktu saya mencobanya, macet di minimum lokal dan gagal menemukan bentuk yang tepat:
Saya sudah mencoba semua pengoptimal dan varian ReLU di Keras, tetapi mereka tidak membuat banyak perbedaan. Apakah ada hal lain yang bisa saya lakukan untuk membuat jaringan sederhana seperti ini bertemu secara andal? Atau apakah saya hanya mendekati ini dengan sikap yang salah, dan Anda seharusnya hanya membuang lebih banyak node daripada yang diperlukan pada masalah dan jika setengah dari mereka mati itu tidak dianggap sebagai masalah besar?