Saya membaca tentang pengoptimal Adam untuk Deep Learning dan menemukan kalimat berikut dalam buku baru Deep Learning karya Bengio, Goodfellow dan Courville:
Adam umumnya dianggap cukup kuat untuk memilih parameter hiper, meskipun tingkat pembelajaran kadang-kadang perlu diubah dari standar yang disarankan.
jika ini benar, ini adalah masalah besar karena pencarian parameter hyper bisa sangat penting (dalam pengalaman saya setidaknya) dalam kinerja statistik sistem pembelajaran yang mendalam. Jadi, pertanyaan saya adalah, mengapa Adam Robust menjadi parameter penting seperti itu? Khusus dan \ beta_2 ?
Saya telah membaca makalah Adam dan tidak memberikan penjelasan mengapa itu bekerja dengan parameter tersebut atau mengapa itu kuat. Apakah mereka membenarkan hal itu di tempat lain?
Juga, ketika saya membaca makalah, tampaknya jumlah parameter hiper yang mereka coba sangat kecil, untuk hanya 2 dan untuk saja 3. Bagaimana ini bisa menjadi studi empiris menyeluruh jika hanya bekerja pada parameter hiper 2x3 ?
sumber
Jawaban:
Berkenaan dengan bukti sehubungan dengan klaim, saya percaya satu-satunya bukti yang mendukung klaim dapat ditemukan pada gambar 4 di makalah mereka . Mereka menunjukkan hasil akhir di bawah kisaran nilai yang berbeda untuk , dan .β1 β2 α
Secara pribadi, saya tidak menemukan argumen mereka meyakinkan, khususnya karena mereka tidak menyajikan hasil di berbagai masalah. Dengan itu, saya akan perhatikan bahwa saya telah menggunakan ADAM untuk berbagai masalah, dan temuan pribadi saya adalah bahwa nilai default dari dan benar-benar dapat diandalkan, meskipun diperlukan banyak upaya mengutak-atik .β1 β2 α
sumber
Adam belajar tingkat belajar itu sendiri, berdasarkan parameter. Parameter dan tidak secara langsung menentukan tingkat pembelajaran, hanya rentang waktu di mana tingkat pembelajaran yang dipelajari . Jika mereka membusuk sangat cepat, maka tingkat belajar akan melonjak di semua tempat. Jika mereka membusuk secara perlahan, akan butuh waktu lama bagi tingkat pembelajaran untuk dipelajari. Tetapi perhatikan bahwa dalam semua kasus, laju pembelajaran ditentukan secara otomatis, berdasarkan estimasi bergerak dari gradien per-parameter, dan gradien kuadrat per-parameter.β1 β2
Ini sangat kontras dengan stock vanilla Stochastic Gradient Descent, di mana:
Adam bukan satu-satunya pengoptimal dengan tingkat pembelajaran adaptif. Seperti yang dinyatakan oleh makalah Adam sendiri, ini sangat terkait dengan Adagrad dan Rmsprop, yang juga sangat tidak sensitif terhadap hiperparameter. Terutama, Rmsprop bekerja dengan sangat baik.
Tetapi Adam adalah yang terbaik secara umum. Dengan sedikit pengecualian, Adam akan melakukan apa yang Anda inginkan :)
Ada beberapa kasus yang cukup patologis di mana Adam tidak akan bekerja, terutama untuk beberapa distribusi yang sangat tidak stasioner. Dalam kasus ini, Rmsprop adalah opsi siaga yang sangat baik. Tetapi secara umum, untuk sebagian besar kasus non-patologis, Adam bekerja dengan sangat baik.
sumber
Melihat formula ADAM, tampaknya agak membingungkan bahwa setelah sejumlah besar iterasi batch (katakan ~ 400k) besarnya, berdasarkan kesalahan asli, gradien itu sendiri memainkan ~ tidak ada peran aktual dalam langkah yang diambil yang tampaknya bercita-cita untuk parameter konfigurasi laju pembelajaran dalam tanda yang relevan.
Mungkin ADAM mengontrol adaptasi berat lebih baik daripada SGD sederhana selama iterasi / epok pertama tetapi melanjutkan pembaruan tampaknya direduksi menjadi sesuatu yang agak naif (?) Adakah yang bisa memberikan intuisi tentang mengapa hal itu sebenarnya diinginkan dan / atau cenderung bekerja dengan baik?
sumber