Adam

Resources

Main Idea

Add momentum and gradient normalization to (Stochastic) Gradient Descent. This gradient normalization can be seen as a special Preconditioner based on the gradient history. These methods are not Descent Methods, even in the deterministic case, as they depend on the history and thus the starting point.

Details

Define gk=∇θL(θk−1).

RMSProp

RMSProp or Root-mean-square propagation adapts the learning rate for each parameter based on the gradient history. The update is given as

θk=θk−1−ηvk+ϵ⋅gk,

where

vk=γ⋅vk−1+(1−γ)gk2.

So for two steps, this would be

vk=γ2⋅vk−2+γ(1−γ)gk−12+(1−γ)gk2.

E.g. taking γ=1/2 gives gk−1 half the weight of gk, and γ=1 relies entirely on the previous update and not at all on the gradient.

Adam

Adam combines momentum with RMSProp. There are two history variables tracked now.

mk=β1mk−1+(1−β1)gk,vk=β2vk−1+(1−β2)gk2.

To account for the bias of m0 and v0 being initialized to 0, take

m^k=mk1−(β1)k,v^k=vk1−(β2)k.

Then, the parameter update is given as

θk=θk−1−η⋅m^kv^k+ϵ.