Berkenaan dengan sumber daya:
Berikut adalah beberapa kutipan utama dari ADADELTA: Metode Tingkat Pembelajaran Adaptif , bersama dengan beberapa contoh dan penjelasan singkat:
ADAGRAD
Aturan pembaruan untuk ADAGRAD adalah sebagai berikut:
Δxt= -η∑tτ= 1g2τ√gt( 5 )
Di sini penyebut menghitung l 2norma semua gradien sebelumnya atas dasar per-dimensi dan η adalah tingkat pembelajaran global yang dimiliki oleh semua dimensi.
Meskipun ada tingkat pembelajaran global yang disesuaikan dengan tangan, setiap dimensi memiliki tingkat dinamisnya sendiri.
Yaitu jika gradien dalam tiga langkah pertama adalah g1=⎛⎝Sebuah1b1c1⎞⎠,g2=⎛⎝Sebuah2b2c2⎞⎠,g3=⎛⎝Sebuah3b3c3⎞⎠, kemudian:
Δx3= -η∑3τ= 1g2τ-------√g3= -η⎛⎝⎜Sebuah21+Sebuah22+Sebuah23b21+b22+b23c21+c22+c23⎞⎠⎟--------------⎷⎛⎝Sebuah3b3c3⎞⎠↓Δx3= -⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜ηSebuah21+Sebuah22+Sebuah23----------√Sebuah3ηb21+b22+b23---------√b3ηc21+c22+c23---------√c3⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
Di sini lebih mudah untuk melihat bahwa setiap dimensi memiliki tingkat pembelajaran dinamisnya sendiri, seperti yang dijanjikan.
Masalah ADAGRAD yang coba dilawan oleh ADADELTA
Gagasan yang disajikan dalam makalah ini berasal dari ADAGRAD untuk memperbaiki dua kelemahan utama dari metode ini: 1) peluruhan tingkat pembelajaran terus menerus selama pelatihan, dan 2) kebutuhan untuk tingkat pembelajaran global yang dipilih secara manual.
Kelemahan kedua cukup jelas.
Berikut adalah contoh ketika kelemahan pertama adalah masalah:
Pertimbangkan kasus di mana nilai absolut dari setiap komponeng2jauh lebih besar dari nilai absolut dari masing-masing komponen gradien pada langkah lainnya.
Untuk apapunt > 2, itu menyatakan bahwa setiap komponen ∑tτ= 1g2τ-------√ lebih besar dari nilai absolut dari masing - masing komponen g2. Tetapi nilai absolut dari setiap komponeng2 jauh lebih besar dari nilai absolut dari masing - masing komponen gt, dan sebagainya Δxtsangat kecil.
Selain itu, seiring dengan kemajuan algoritma, semakin dekat ke minimum, sehingga gradien semakin kecil, dan seterusnyaΔxtmenjadi lebih kecil dan lebih kecil.
Jadi, mungkin saja algoritma tersebut hampir macet sebelum mencapai minimum.
ADADELTA
Alih-alih mempertimbangkan semua gradien yang dihitung, ADADELTA hanya mempertimbangkan yang terakhir w gradien.
Sejak menyimpan wgradien kuadrat sebelumnya tidak efisien, metode kami mengimplementasikan akumulasi ini sebagai rata-rata peluruhan gradien kuadrat secara eksponensial. Asumsikan tepat waktut rata-rata berjalan ini E[g2]t maka kami menghitung:
E[g2]t= ρ E[g2]t - 1+ ( 1 - ρ )g2t( 8 )
dimana ρadalah konstanta peluruhan [...]. Karena kami memerlukan akar kuadrat dari jumlah ini di pembaruan parameter, ini secara efektif menjadiRMS
dari gradien kuadrat sebelumnya hingga waktu t:
RMS[ g]t=E[g2]t+ ϵ--------√( 9 )
dimana konstan ϵ ditambahkan ke kondisi penyebut yang lebih baik
(RMSsingkatan dari Root Mean Square .)
Demikian pula:
E[ Δx2]t - 1= ρ E[ Δx2]t - 2+ ( 1 - ρ ) Δx2t - 1
RMS[ Δ x ]t - 1=E[ Δx2]t - 1+ ϵ------------√
Dan akhirnya:
[...] perkiraan Δxt dengan menghitung peluruhan secara eksponensial RMS di atas jendela ukuran w dari sebelumnya Δ x untuk memberikan metode ADADELTA:
Δxt= -RMS[ Δ x ]t - 1RMS[ g]tgt( 14 )
di mana konstan yang sama ϵ ditambahkan ke pembilang RMSdemikian juga. Konstanta ini berfungsi baik untuk memulai iterasi pertama di manaΔx0= 0dan untuk memastikan kemajuan terus dilakukan bahkan jika pembaruan sebelumnya menjadi kecil.
[...]
Pembilang berfungsi sebagai istilah akselerasi, mengakumulasi gradien sebelumnya dalam rentang waktu [...]
Yaitu jika gradien dalam langkah r adalah gr=⎛⎝Sebuahrbrcr⎞⎠ dan Δxr=⎛⎝sayarjrkr⎞⎠, kemudian:
Δxt= -RMS[ Δ x ]t - 1RMS[ g]tgt= -E[ Δx2]t - 1+ ϵ-----------√E[g2]t+ ϵ--------√gt=-ρ E[ Δx2]t - 2+ ( 1 - ρ ) Δx2t - 1+ ϵ-------------------------√ρ E[g2]t - 1+ ( 1 - ρ )g2t+ ϵ--------------------√gt=-ρ ( ρ E[ Δx2]t - 3+ ( 1 - ρ ) Δx2t - 2) + ( 1 - ρ ) Δx2t - 1+ ϵ----------------------------------------√ρ ( ρ E[g2]t - 2+ ( 1 - ρ )g2t - 1) + ( 1 - ρ )g2t+ ϵ----------------------------------√gt=-ρ2E[ Δx2]t - 3+hal1( 1 - ρ ) Δx2t - 2+hal0( 1 - ρ ) Δx2t - 1+ ϵ------------------------------------------√ρ2E[g2]t - 2+hal1( 1 - ρ )g2t - 1+hal0( 1 - ρ )g2t+ ϵ------------------------------------√gt=-ρt - 1E[ Δx2]0+∑r = 1t - 1ρt - 1 - r( 1 - ρ ) Δx2r+ ϵ-------------------------------√ρt - 1E[g2]1+∑r = 2tρt - r( 1 - ρ )g2r+ ϵ---------------------------√gt
ρ adalah konstanta peluruhan, jadi kami memilihnya sedemikian rupa ρ ∈ ( 0 , 1 ) (khas ρ ≥ 0,9).
Oleh karena itu, dikalikan dengan kekuatan tinggiρhasil dalam jumlah yang sangat kecil.
Membiarkanw menjadi eksponen terendah sehingga kami anggap produk mengalikan nilai waras dengan ρwdapat diabaikan.
Sekarang, kita bisa memperkirakanΔxt dengan menjatuhkan istilah yang diabaikan:
Δxt≈ -∑r = t - wt - 1ρt - 1 - r( 1 - ρ ) Δx2r+ ϵ---------------------√∑r = t + 1 - wtρt - r( 1 - ρ )g2r+ ϵ--------------------√gt=-∑r = t - wt - 1ρt - 1 - r( 1 - ρ )⎛⎝⎜saya2rj2rk2r⎞⎠⎟+ ϵ------------------------⎷∑r = t + 1 - wtρt - r( 1 - ρ )⎛⎝⎜Sebuah2rb2rc2r⎞⎠⎟+ ϵ------------------------⎷⎛⎝Sebuahtbtct⎞⎠↓Δxt≈ -⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜∑r = t - wt - 1ρt - 1 - r( 1 - ρ )saya2r+ ϵ--------------------√∑r = t + 1 - wtρt - r( 1 - ρ )Sebuah2r+ ϵ--------------------√Sebuaht∑r = t - wt - 1ρt - 1 - r( 1 - ρ )j2r+ ϵ--------------------√∑r = t + 1 - wtρt - r( 1 - ρ )b2r+ ϵ--------------------√bt∑r = t - wt - 1ρt - 1 - r( 1 - ρ )k2r+ ϵ--------------------√∑r = t + 1 - wtρt - r( 1 - ρ )c2r+ ϵ--------------------√ct⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟