Saya ingin melatih jaringan dengan non-linearitas yang menderita menghilangnya (atau meledak masalah gradien meskipun sebagian besar menghilang). Saya tahu bahwa cara standar (saat ini) adalah dengan menggunakan normalisasi batch 1 [BN] 1 atau hanya meninggalkan non-linearitas dan menggunakan unit ReLu Rectifier / ReLu .
Saya menginginkan dua hal:
- Tetap dengan non-linearitas saya, jadi saya tidak ingin meninggalkannya dan menggunakan ReLu (yaitu tidak ada ReLu diizinkan!). Re-parametris non-linearitas ok, katakanlah menempatkan multiplikatif di depannya seperti dalam misalnya.
- Idealnya, saya tidak ingin terlalu banyak mengandalkan normalisasi batch (atau setidaknya jika digunakan, itu harus digunakan dengan cara baru selain bagaimana itu digunakan dalam kertas asli atau menggeneralisasi ke banyak non-linearitas). Salah satu alasan saya ingin menghindari Batch Normalisasi adalah karena tampaknya hanya berfungsi untuk non-linearitas tertentu. Sebagai contoh, untuk sigmoids, tanh tetapi tidak jelas bagaimana mereka bekerja untuk non-linearitas lainnya, katakanlah gaussians.
Alasan saya memiliki kendala ini adalah karena saya ingin menangani masalah menghilangnya gradien atau meledak gradien dengan mengetatkan masalah secara langsung daripada meretas solusi yang hanya berfungsi untuk non-linearitas tertentu atau hanya menghindari masalah dengan mendorong dalam ReLu.
Saya bertanya-tanya, dengan dua kendala itu, apa cara alternatif untuk mengatasi masalah gradien yang hilang? (non-linearitas lain yang dipertimbangkan adalah RBF gaussian kernel dengan euclidean norm pra-aktivasi, sigmoid, tanh, dll)
Gagasan (samar) yang mungkin ada dalam pikiran saya adalah:
- Memiliki inisialisasi yang baik sehingga non-linearitas jenuh tidak mulai sudah jenuh (non-linearitas jenuh menghasilkan gradien mendekati nol).
- Untuk RBF, sama halnya, init baik mungkin penting karena gaussians sebagian besar memiliki nilai besar mendekati 0 (yaitu ketika filter mirip dengan aktivasi atau datanya). Dengan demikian, memiliki mereka terlalu besar atau terlalu kecil memiliki masalah gradien hilang yang sama.
- Saya tidak benar-benar tahu apakah ini terlalu membatasi tetapi akan lebih baik jika ada cara yang berbeda untuk menggunakan normalisasi batch selain dari saran tradisional di kertas asli (atau mungkin beberapa ide BN yang menggeneralisasikan ke set non-besar yang lebih besar). linearitas, saat ini tampaknya sebagian besar penelitian menunjukkan bahwa itu bekerja untuk sigmoids sejauh yang saya tahu).
- Gagasan lain adalah alih-alih memiliki non-linearitas kita memiliki mana . Jika , maka itu berarti bahwa non-linearitas tidak dikalikan mundur beberapa kali untuk setiap lapisan, sehingga untuk menghindari "menghilang" untuk lapisan sebelumnya. Mungkin membuat aturan belajar tidak stabil, jadi mungkin beberapa regulator mungkin ide yang bagus.
- Pengoptimal yang secara intrinsik menangani gradien menghilang (atau setidaknya memperbarui setiap parameter secara berbeda). Sebagai contoh, jika lapisannya mendekati input, maka langkah pembelajaran harus lebih besar. Alangkah baiknya bagi algoritma pembelajaran untuk memperhitungkan ini dengan sendirinya sehingga untuk berurusan dengan gradien menghilang.
Jika ada saran tentang cara menangani lenyapnya gradien selain batch-norm atau ReLu, saya akan senang mendengarnya!
Tampaknya menghilang gradien terjadi terutama karena non-linearitas memiliki properti yang dan juga karena dan setelah mengalikannya berkali-kali, itu meledak atau menghilang. Secara eksplisit mengatakan masalah mungkin membantu menyelesaikannya. Masalahnya adalah hal itu menyebabkan lapisan bawah tidak memperbarui atau menghalangi sinyal melalui jaringan. Alangkah baiknya untuk menjaga sinyal ini mengalir melalui jaringan, selama lulus maju dan mundur (dan juga selama pelatihan, tidak hanya pada inisialisasi).
1 : Ioffe S. dan Szegedy C. (2015),
"Normalisasi Batch: Mempercepat Pelatihan Jaringan Dalam dengan Mengurangi Pergeseran Kovarian Internal",
Prosiding Konferensi Internasional ke-32 tentang Pembelajaran Mesin , Lille, Prancis, 2015.
Jurnal Penelitian Pembelajaran Mesin: Volume W&CP 37