Cho f(x)=a*x^2+b*x+c. Adam kết hợp momentum và RMSProp:
g = f'(x)
m <- beta1*m + (1-beta1)*g
v <- beta2*v + (1-beta2)*g^2
m_hat = m/(1-beta1^t)
v_hat = v/(1-beta2^t)
x <- x - lr*m_hat/(sqrt(v_hat)+eps)
với t là số thứ tự bước (bắt đầu t=1), m=v=0, eps=1e-8, beta1=0.9, beta2=0.999 cố định. Xuất phát x0, lr cho trước, lặp n bước, in x.
a=1,b=0,c=0,x0=10,lr=0.1,n=1: g=20, m_hat=g, v_hat=g^2, x≈10-0.1=9.900000.
Dòng 1: a b c. Dòng 2: x0 lr. Dòng 3: n.
a > 0; 0 < lr <= 1; 1 <= n <= 100000.
Một dòng: x sau n bước. Dùng beta1=0.9, beta2=0.999, eps=1e-8. Số thực in với định dạng {:.6f} (6 chữ số thập phân).
Ví dụ:
Đầu vào:
1 0 0
10 0.1
1
Đầu ra:
9.900000
Giải thích:
Đang tải editor...