Saya tahu bahwa keturunan gradien stokastik memiliki perilaku acak, tetapi saya tidak tahu mengapa.
Apakah ada penjelasan tentang ini?
Saya tahu bahwa keturunan gradien stokastik memiliki perilaku acak, tetapi saya tidak tahu mengapa.
Apakah ada penjelasan tentang ini?
Jawaban:
Algoritma stochastic gradient (SG) berperilaku seperti algoritma simulated annealing (SA), di mana tingkat pembelajaran SG terkait dengan suhu SA. Keacakan atau kebisingan yang diperkenalkan oleh SG memungkinkan untuk melarikan diri dari minimum lokal untuk mencapai minimum yang lebih baik. Tentu saja, itu tergantung pada seberapa cepat Anda menurunkan tingkat belajar. Baca bagian 4.2, dari Stochastic Gradient Learning di Neural Networks (pdf) , di mana dijelaskan lebih terinci.
Dalam keturunan gradien stokastik parameter diperkirakan untuk setiap pengamatan, sebagai lawan seluruh sampel dalam keturunan gradien biasa (batch gradient descent). Inilah yang memberinya banyak keacakan. Jalur penurunan gradien stokastik berkeliaran di lebih banyak tempat, dan dengan demikian lebih mungkin untuk "melompat" dari minimum lokal, dan menemukan minimum global (Catatan *). Namun, penurunan gradien stokastik masih bisa terjebak di minimum lokal.
Catatan: Adalah umum untuk menjaga laju pembelajaran tetap konstan, dalam hal ini penurunan gradien stokastik tidak menyatu; itu hanya berkeliaran di sekitar titik yang sama. Namun, jika tingkat pembelajaran menurun dari waktu ke waktu, katakanlah, itu berbanding terbalik dengan jumlah iterasi maka penurunan gradien stokastik akan menyatu.
Seperti yang telah disebutkan dalam jawaban sebelumnya, penurunan gradien stokastik memiliki permukaan kesalahan yang jauh lebih berisik karena Anda mengevaluasi setiap sampel secara berulang. Saat Anda mengambil langkah menuju global minimum dalam gradient batch batch pada setiap zaman (melewati rangkaian pelatihan), langkah-langkah individual dari gradient descent gradient stochastic Anda tidak harus selalu mengarah ke minimum global tergantung pada sampel yang dievaluasi.
Untuk memvisualisasikan ini menggunakan contoh dua dimensi, berikut adalah beberapa gambar dan gambar dari kelas pembelajaran mesin Andrew Ng.
Penurunan gradien pertama:
Kedua, penurunan gradien stokastik:
Lingkaran merah pada gambar yang lebih rendah harus menggambarkan bahwa penurunan gradien stokastik akan "terus memperbarui" di suatu tempat di sekitar minimum global jika Anda menggunakan laju pembelajaran yang konstan.
Jadi, berikut adalah beberapa tips praktis jika Anda menggunakan penurunan gradien stokastik:
1) kocok pelatihan yang ditetapkan sebelum setiap zaman (atau iterasi dalam varian "standar")
2) menggunakan tingkat pembelajaran adaptif untuk "anil" lebih dekat ke minimum global
for