{ "

Rectified Adam (RAdam) optimizer

\n": "

\u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2\u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0d86\u0daf\u0db8\u0dca (RaDAM) \u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0dd2

\n", "

Rectified Adam Optimizer

\n

This class extends from AMSAdam optimizer defined in _^_0_^_.

\n": "

\u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2\u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0d86\u0daf\u0db8\u0dca \u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0d9a\u0dbb\u0dab\u0dba

\n

\u0db8\u0dd9\u0db8\u0db4\u0db1\u0dca\u0dad\u0dd2\u0dba \u0d87\u0db8\u0dca\u0dc3\u0dcf\u0da9\u0db8\u0dca \u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0d9a\u0dbb\u0dab\u0dba\u0dd9\u0db1\u0dca \u0d85\u0dbb\u0dca\u0dae \u0daf\u0d9a\u0dca\u0dc0\u0dcf \u0d87\u0dad _^_0_^_.

\n", "

Rectified Adam

\n": "

\u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2\u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0d86\u0daf\u0db8\u0dca

\n", "

Approximating _^_0_^_

\n": "

\u0d86\u0dc3\u0db1\u0dca\u0db1\u0d9a\u0dd2\u0dbb\u0dd3\u0db8 _^_0_^_

\n", "

Calculate rectification term _^_0_^_

\n": "

\u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0db4\u0daf\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 _^_0_^_

\n", "

Do the RAdam parameter update

\n\n": "

RadAM \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd2 \u0dba\u0dcf\u0dc0\u0dad\u0dca\u0d9a\u0dcf\u0dbd\u0dd3\u0db1 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0d9a\u0dbb\u0db1\u0dca\u0db1

\n\n", "

Exponential moving average as simple moving average

\n": "

\u0dc3\u0dbb\u0dbd\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0dc0\u0db1 \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0dba \u0dbd\u0dd9\u0dc3 \u0d9d\u0dcf\u0dad\u0dd3\u0dba \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0dc0\u0db1 \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0dba

\n", "

Initialize the optimizer

\n\n": "

\u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0d9a\u0dbb\u0dab\u0dba\u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb\u0db1\u0dca\u0db1

\n\n", "

Plot _^_0_^_ against _^_1_^_ for various _^_2_^_

\n

_^_3_^_

\n": "

\u0dc0\u0dd2\u0dc0\u0dd2\u0db0 _^_1_^_ \u0dc3\u0db3\u0dc4\u0dcf _^_0_^_ \u0d9a\u0dd4\u0db8\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dab\u0dba _^_2_^_

\n

_^_3_^_

\n", "

Rectification term

\n": "

\u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0db4\u0daf\u0dba

\n", "

Rectification

\n": "

\u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2\u0d9a\u0dd2\u0dbb\u0dd3\u0db8

\n", "

Scaled inverse chi-squared

\n": "

\u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba\u0d9a\u0dc5 \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0dbd\u0ddd\u0db8 \u0da0\u0dd2-\u0d9a\u0ddc\u0da7\u0dd4

\n", "

Take an update step for a given parameter tensor

\n\n": "

\u0daf\u0dd3\u0d87\u0dad\u0dd2 \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd2 \u0da7\u0dd9\u0db1\u0dca\u0dc3\u0dbb\u0dba\u0d9a\u0dca \u0dc3\u0db3\u0dc4\u0dcf \u0dba\u0dcf\u0dc0\u0dad\u0dca\u0d9a\u0dcf\u0dbd\u0dd3\u0db1 \u0db4\u0dd2\u0dba\u0dc0\u0dbb\u0d9a\u0dca \u0d9c\u0db1\u0dca\u0db1

\n
  • _^_5_^_ \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd2\u0dba tensor \u0dc0\u0dda _^_6_^_
  • \n", "

    Scaled inverse chi-squared is the distribution of squared inverse of mean of _^_0_^_ normal distributions. _^_1_^_ where _^_2_^_.

    \n": "

    \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0dbd\u0ddd\u0db8 \u0da0\u0dd2-\u0da0\u0dad\u0dd4\u0dbb\u0dc3\u0dca\u0dbb\u0dcf\u0d9a\u0dcf\u0dbb \u0dba\u0db1\u0dd4 _^_0_^_ \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba \u0db6\u0dd9\u0daf\u0dcf\u0dc4\u0dd0\u0dbb\u0dd3\u0db8\u0dca \u0dc0\u0dbd \u0db8\u0db0\u0dca\u0dba\u0db1\u0dca\u0dba\u0dba\u0dda \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0dbd\u0ddd\u0db8 \u0da0\u0dad\u0dd4\u0dbb\u0dc3\u0dca\u0dbb\u0dcf\u0d9a\u0dcf\u0dbb \u0db6\u0dd9\u0daf\u0dcf \u0dc4\u0dd0\u0dbb\u0dd3\u0db8\u0dba\u0dd2. _^_1_^_ \u0d9a\u0ddc\u0dc4\u0dd9\u0daf _^_2_^_.

    \n", "

    _^_0_^_

    \n": "

    _^_0_^_

    \n", "

    _^_0_^_ is tractable when _^_1_^_. We are being a little more conservative since it's an approximated value

    \n": "

    _^_0_^_ \u0dc0\u0dd2\u0da7 \u0dc3\u0ddc\u0dba\u0dcf\u0d9c\u0dad \u0dc4\u0dd0\u0d9a\u0dd2\u0dba _^_1_^_. \u0d91\u0dba \u0d86\u0dc3\u0db1\u0dca\u0db1 \u0d85\u0d9c\u0dba\u0d9a\u0dca \u0db6\u0dd0\u0dc0\u0dd2\u0db1\u0dca \u0d85\u0db4\u0dd2 \u0dad\u0dc0 \u0da7\u0dd2\u0d9a\u0d9a\u0dca \u0d9c\u0dad\u0dcf\u0db1\u0dd4\u0d9c\u0dad\u0dd2\u0d9a \u0dc0\u0dd9\u0db8\u0dd4

    \n", "

    Adam optimizer sometimes converges to a bad local optima during the initial stages of the training; especially when training transformers. Researches use warmups to counter this; for the the initial training steps (warm-up stage) they use a low learning rate. This paper identifies the problem to be the high variance of adaptive learning rate during initial stages of training, and counters it using a new rectification term to reduce variance.

    \n": "

    \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0\u0dda\u0d86\u0dbb\u0db8\u0dca\u0db7\u0d9a \u0d85\u0daf\u0dd2\u0dba\u0dbb\u0dc0\u0dbd\u0daf\u0dd3 \u0d87\u0da9\u0db8\u0dca \u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0d9a\u0dbb\u0dab\u0dba \u0dc3\u0db8\u0dc4\u0dbb \u0dc0\u0dd2\u0da7 \u0db1\u0dbb\u0d9a \u0daf\u0dda\u0dc1\u0dd3\u0dba \u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0dd2\u0d9a\u0dbb\u0dab\u0dba\u0d9a\u0da7 \u0d85\u0db7\u0dd2\u0dc3\u0dcf\u0dbb\u0dd3 \u0dc0\u0dda; \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dba\u0dd9\u0db1\u0dca \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda\u0daf\u0dd3. \u0db4\u0dbb\u0dca\u0dba\u0dda\u0dc2\u0dab\u0dba\u0db1\u0dca \u0db8\u0dd9\u0dba \u0db8\u0dd0\u0da9\u0db4\u0dd0\u0dc0\u0dd0\u0dad\u0dca\u0dc0\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d8b\u0dab\u0dd4\u0dc3\u0dd4\u0db8\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0dba\u0dd2; \u0db8\u0dd6\u0dbd\u0dd2\u0d9a \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0dc3\u0db3\u0dc4\u0dcf (\u0d8b\u0dab\u0dd4\u0dc3\u0dd4\u0db8\u0dca \u0d85\u0dc0\u0db0\u0dd2\u0dba) \u0d94\u0dc0\u0dd4\u0db1\u0dca \u0d85\u0da9\u0dd4 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba\u0d9a\u0dca \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0dba\u0dd2. \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0\u0dda \u0d86\u0dbb\u0db8\u0dca\u0db7\u0d9a \u0d85\u0daf\u0dd2\u0dba\u0dbb\u0dc0\u0dbd\u0daf\u0dd3 \u0d85\u0db1\u0dd4\u0dc0\u0dbb\u0dca\u0dad\u0dd3 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba\u0dda \u0d89\u0dc4\u0dc5 \u0dc0\u0dd2\u0da0\u0dbd\u0dad\u0dcf\u0dc0 \u0db8\u0dd9\u0db8 \u0dbd\u0dd2\u0db4\u0dd2\u0dba \u0db8\u0d9f\u0dd2\u0db1\u0dca \u0d9c\u0dd0\u0da7\u0dc5\u0dd4\u0dc0 \u0dc4\u0db3\u0dd4\u0db1\u0dcf \u0d9c\u0db1\u0dca\u0db1\u0dcf \u0d85\u0dad\u0dbb \u0dc0\u0dd2\u0da0\u0dbd\u0dad\u0dcf\u0dc0 \u0d85\u0da9\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0db1\u0dc0 \u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dba\u0dd9\u0daf\u0dd4\u0db8\u0d9a\u0dca \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db8\u0dd2\u0db1\u0dca \u0d91\u0dba \u0d9c\u0dab\u0db1\u0dca \u0d9a\u0dbb\u0dba\u0dd2.

    \n", "

    Bias correction term for _^_0_^_, _^_1_^_

    \n": "

    \u0dc3\u0db3\u0dc4\u0dcf\u0db1\u0dd0\u0db9\u0dd4\u0dbb\u0dd4\u0dc0 \u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0db4\u0daf\u0dba _^_0_^_, _^_1_^_

    \n", "

    Calculate _^_0_^_ the number of optimizer steps

    \n": "

    \u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0dd2\u0d9a\u0dbb\u0dab\u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0d9c\u0dab\u0db1 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 _^_0_^_

    \n", "

    Calculate weight decay

    \n": "

    \u0db6\u0dbb\u0d9a\u0dca\u0dc2\u0dba \u0dc0\u0dd3\u0db8 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1

    \n", "

    Computation without optimization

    \n": "

    \u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0dd2\u0d9a\u0dbb\u0dab\u0dba\u0d9a\u0dd2\u0db1\u0dca\u0dad\u0ddc\u0dbb\u0dc0 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8

    \n", "

    Denominator _^_0_^_

    \n": "

    \u0db1\u0dd2\u0d9c\u0dab\u0dca\u0da8\u0dba\u0dcf _^_0_^_

    \n", "

    From _^_0_^_ distribution we have,

    \n": "

    _^_0_^_ \u0db6\u0dd9\u0daf\u0dcf \u0dc4\u0dd0\u0dbb\u0dd3\u0db8\u0dda \u0dc3\u0dd2\u0da7 \u0d85\u0db4 \u0dc3\u0dad\u0dd4\u0dc0 \u0d87\u0dad,

    \n", "

    From above we have _^_0_^_ where _^_1_^_. Note that _^_2_^_ here is the standard deviation and different from _^_3_^_ for momentum.

    \n": "

    \u0d89\u0dc4\u0dc5\u0dd2\u0db1\u0dca\u0d85\u0db4\u0da7 _^_0_^_ \u0d9a\u0ddc\u0dc4\u0dda\u0daf \u0dad\u0dd2\u0db6\u0dda _^_1_^_. _^_2_^_ \u0db8\u0dd9\u0dc4\u0dd2 \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba \u0dc4\u0dcf \u0d9c\u0db8\u0dca\u0dba\u0dad\u0dcf\u0dc0 _^_3_^_ \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0da9\u0dcf \u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0db6\u0dc0 \u0dc3\u0dbd\u0d9a\u0db1\u0dca\u0db1.

    \n", "

    Get _^_0_^_ and _^_1_^_

    \n": "

    \u0dbd\u0db6\u0dcf _^_0_^_ \u0d9c\u0db1\u0dca\u0db1 _^_1_^_

    \n", "

    Get _^_0_^_ and _^_1_^_; i.e. _^_2_^_ and _^_3_^_ without bias correction

    \n": "

    \u0dbd\u0db6\u0dcf\u0d9c\u0db1\u0dca\u0db1 _^_0_^_ \u0dc3\u0dc4 _^_1_^_; \u0d91\u0db1\u0db8\u0dca _^_2_^_ \u0dc3\u0dc4 \u0db4\u0d9a\u0dca\u0dc2\u0d9c\u0dca\u0dbb\u0dcf\u0dc4\u0dd3 \u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2 _^_3_^_ \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0d9a\u0dd2\u0db1\u0dca \u0dad\u0ddc\u0dbb\u0dc0

    \n", "

    Get learning rate

    \n": "

    \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca\u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1

    \n", "

    Here we are taking the simple moving average of the last _^_0_^_ gradients. _^_1_^_ satisfies the following,

    \n": "

    \u0db8\u0dd9\u0db1\u0dca\u0db1\u0d85\u0db4\u0dd2 \u0d85\u0dc0\u0dc3\u0dcf\u0db1 _^_0_^_ \u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dda \u0dc3\u0dbb\u0dbd \u0da0\u0dbd\u0db1\u0dba \u0dc0\u0db1 \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0dba \u0d9c\u0db1\u0dca\u0db1\u0dd9\u0db8\u0dd4. _^_1_^_ \u0db4\u0dc4\u0dad \u0dc3\u0db3\u0dc4\u0db1\u0dca \u0daf\u0dd1 \u0dad\u0dd8\u0db4\u0dca\u0dad\u0dd2\u0db8\u0dad\u0dca \u0d9a\u0dbb\u0dba\u0dd2,

    \n", "

    If _^_0_^_ is intractable

    \n": "

    \u0d87\u0daf _^_0_^_ \u0d9c\u0dad \u0db1\u0ddc\u0dc4\u0dd0\u0d9a\u0dd2 \u0db1\u0db8\u0dca

    \n", "

    If _^_0_^_ is intractable do a SGD with momentum

    \n": "

    \u0dbd\u0db6\u0dcf\u0d9c\u0dad \u0db1\u0ddc\u0dc4\u0dd0\u0d9a\u0dd2 _^_0_^_ \u0db1\u0db8\u0dca \u0d9c\u0db8\u0dca\u0dba\u0dad\u0dcf\u0dc0 \u0dc3\u0db8\u0d9c SGD \u0d9a\u0dbb\u0db1\u0dca\u0db1

    \n", "

    In order to ensure that the adaptive learning rate _^_0_^_ has consistent variance, we rectify the variance with _^_1_^_

    \n": "

    \u0d85\u0db1\u0dd4\u0dc0\u0dbb\u0dca\u0dad\u0dd3\u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba\u0da7 \u0dc3\u0dca\u0dae\u0dcf\u0dc0\u0dbb \u0dc0\u0dd2\u0da0\u0dbd\u0dad\u0dcf\u0dc0\u0dba\u0d9a\u0dca _^_0_^_ \u0d87\u0dad\u0dd2 \u0db6\u0dc0 \u0dc3\u0dc4\u0dad\u0dd2\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf, \u0d85\u0db4\u0dd2 \u0dc0\u0dd2\u0da0\u0dbd\u0db1\u0dba \u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2 \u0d9a\u0dbb\u0db8\u0dd4 _^_1_^_

    \n", "

    Let _^_0_^_ and _^_1_^_ be the functions to calculate momentum and adaptive learning rate. For Adam, they are

    \n": "

    \u0d9c\u0db8\u0dca\u0dba\u0dad\u0dcf\u0dc0 _^_0_^_ \u0dc3\u0dc4 _^_1_^_ \u0d85\u0db1\u0dd4\u0dc0\u0dbb\u0dca\u0dad\u0dd3 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d9a\u0dcf\u0dbb\u0dca\u0dba\u0dba\u0db1\u0dca \u0d9a\u0dbb\u0db8\u0dd4. \u0d86\u0daf\u0db8\u0dca \u0dc3\u0db3\u0dc4\u0dcf, \u0d94\u0dc0\u0dd4\u0db1\u0dca

    \n", "

    Perform RAdam update

    \n": "

    RadAM \u0dba\u0dcf\u0dc0\u0dad\u0dca\u0d9a\u0dcf\u0dbd\u0dd3\u0db1 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0dd2\u0daf\u0dd4

    \n", "

    Step size _^_0_^_

    \n": "

    \u0db4\u0dd2\u0dba\u0dc0\u0dbb\u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba _^_0_^_

    \n", "

    The distribution of exponential moving average can be approximated as a simple moving average.

    \n": "

    \u0d9d\u0dcf\u0dad\u0dd3\u0dba\u0da0\u0dbd\u0db1\u0dba \u0dc0\u0db1 \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0dba \u0db6\u0dd9\u0daf\u0dcf \u0dc4\u0dd0\u0dbb\u0dd3\u0db8 \u0dc3\u0dbb\u0dbd \u0da0\u0dbd\u0db1\u0dba \u0dc0\u0db1 \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0dba\u0d9a\u0dca \u0dbd\u0dd9\u0dc3 \u0d86\u0dc3\u0db1\u0dca\u0db1 \u0d9a\u0dc5 \u0dc4\u0dd0\u0d9a\u0dd2\u0dba.

    \n", "

    The paper also evaluates two variance reduction mechanisms: Adam-2k: Only compute the adaptive learning rate (_^_0_^_ in Adam) during the first 2k steps, without changing parameters or calculating momentum (_^_1_^_). Adam-eps: Adam with large _^_2_^_.

    \n": "

    \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2\u0dc0\u0dd2\u0da0\u0dbd\u0dca\u0dba\u0dad\u0dcf \u0d85\u0da9\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dba\u0dcf\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dab \u0daf\u0dd9\u0d9a\u0d9a\u0dca \u0daf \u0d87\u0d9c\u0dba\u0dd3\u0db8\u0da7 \u0dbd\u0d9a\u0dca \u0d9a\u0dbb\u0dba\u0dd2: \u0d87\u0da9\u0db8\u0dca-2K: \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd3\u0db1\u0dca \u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0db1\u0ddc\u0d9a\u0dbb \u0dc4\u0ddd \u0d9c\u0db8\u0dca\u0dba\u0dad\u0dcf\u0dc0 \u0d9c\u0dab\u0db1\u0dba \u0db1\u0ddc\u0d9a\u0dbb \u0db4\u0dc5\u0db8\u0dd4 2k \u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0dad\u0dd4\u0dc5 \u0d85\u0db1\u0dd4\u0dc0\u0dbb\u0dca\u0dad\u0dd3 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba (_^_0_^_ \u0d86\u0daf\u0db8\u0dca\u0dc4\u0dd2) \u0db4\u0db8\u0dab\u0d9a\u0dca \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 ( _^_1_^_). \u0d87\u0da9\u0db8\u0dca-\u0d8a\u0db4\u0dd3\u0d91\u0dc3\u0dca: \u0d86\u0daf\u0db8\u0dca \u0dc0\u0dd2\u0dc1\u0dcf\u0dbd _^_2_^_.

    \n", "

    Therefore the variance is minimized at maximal _^_0_^_ which is _^_1_^_. Let the minimum variance be _^_2_^_

    \n": "

    \u0d91\u0db6\u0dd0\u0dc0\u0dd2\u0db1\u0dca\u0dc0\u0dd2\u0da0\u0dbd\u0dad\u0dcf\u0dc0 \u0d8b\u0db4\u0dbb\u0dd2\u0db8 _^_0_^_ \u0dc0\u0dc1\u0dba\u0dd9\u0db1\u0dca \u0d85\u0dc0\u0db8 \u0d9a\u0dbb _^_1_^_\u0d87\u0dad. \u0d85\u0dc0\u0db8 \u0dc0\u0dd2\u0da0\u0dbd\u0dad\u0dcf\u0dc0 \u0dc0\u0dd3\u0db8\u0da7 \u0d89\u0da9 \u0daf\u0dd9\u0db1\u0dca\u0db1 _^_2_^_

    \n", "

    They estimate _^_0_^_ based on first order expansion of _^_1_^_ \ud83e\udd2a I didn't get how it was derived.

    \n": "

    \u0d94\u0dc0\u0dd4\u0db1\u0dca _^_1_^_ \ud83e\udd2a \u0db4\u0dc5\u0db8\u0dd4 \u0db4\u0dd2\u0dab\u0dd2\u0dc3 \u0db4\u0dd4\u0dc5\u0dd4\u0dbd\u0dca \u0db8\u0dad _^_0_^_ \u0db4\u0daf\u0db1\u0db8\u0dca \u0dad\u0d9a\u0dca\u0dc3\u0dda\u0dbb\u0dd4 \u0db8\u0db8 \u0d91\u0dba \u0dc0\u0dca\u0dba\u0dd4\u0dad\u0dca\u0db4\u0db1\u0dca\u0db1 \u0d9a\u0dbb\u0db1 \u0d86\u0d9a\u0dcf\u0dbb\u0dba \u0dbd\u0dd0\u0db6\u0dd4\u0dab\u0dda \u0db1\u0dd0\u0dc4\u0dd0.

    \n", "

    They prove that variance of _^_0_^_ decreases with _^_1_^_ when _^_2_^_.

    \n": "

    \u0d94\u0dc0\u0dd4\u0db1\u0dca\u0dc0\u0dd2\u0da0\u0dbd\u0db1\u0dba \u0dc0\u0db1 _^_1_^_ \u0dc0\u0dd2\u0da7 _^_0_^_ \u0d85\u0da9\u0dd4 \u0dc0\u0db1 \u0db6\u0dc0 \u0d94\u0dc0\u0dd4\u0dc4\u0dd4 \u0d94\u0db4\u0dca\u0db4\u0dd4 _^_2_^_\u0d9a\u0dbb\u0dad\u0dd2.

    \n", "

    This gives,

    \n": "

    \u0db8\u0dd9\u0dba\u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0dba\u0dd2,

    \n", "

    This implementation is based on the official implementation of the paper On the Variance of the Adaptive Learning Rate and Beyond.

    \n": "

    \u0db8\u0dd9\u0db8\u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd3 \u0d87\u0dad\u0dca\u0dad\u0dda \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0db1\u0dd2\u0dbd \u0dc0\u0dc1\u0dba\u0dd9\u0db1\u0dca \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0db8\u0dad \u0d85\u0db1\u0dd4\u0dc0\u0dbb\u0dca\u0dad\u0dd3 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba \u0dc3\u0dc4 \u0d89\u0db1\u0dca \u0d94\u0db6\u0dca\u0db6\u0da7 \u0dc0\u0dd2\u0da0\u0dbd\u0dca\u0dba\u0dad\u0dcf\u0dc0 \u0db8\u0dad \u0dba.

    \n", "

    Update parameters _^_0_^_

    \n": "

    \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd3\u0db1\u0dca\u0dba\u0dcf\u0dc0\u0dad\u0dca\u0d9a\u0dcf\u0dbd\u0dd3\u0db1 \u0d9a\u0dbb\u0db1\u0dca\u0db1 _^_0_^_

    \n", "

    We have implemented it in PyTorch as an extension to our AMSGrad implementation thus requiring only the modifications to be implemented.

    \n": "

    \u0d85\u0db4\u0d9c\u0dda AMSGrad \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0daf\u0dd2\u0d9c\u0dd4\u0dc0\u0d9a\u0dca \u0dbd\u0dd9\u0dc3 \u0d85\u0db4\u0dd2 \u0d91\u0dba PyTorch \u0dc4\u0dd2 \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dbb \u0d87\u0dad\u0dd2 \u0d85\u0dad\u0dbb \u0d91\u0db8\u0d9f\u0dd2\u0db1\u0dca \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dc5 \u0dba\u0dd4\u0dad\u0dd4 \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0db4\u0db8\u0dab\u0d9a\u0dca \u0d85\u0dc0\u0dc1\u0dca\u0dba \u0dc0\u0dda.

    \n", "

    We have

    \n": "

    \u0d85\u0db4\u0dc3\u0dad\u0dd4\u0dc0 \u0d87\u0dad

    \n", "

    Whether to optimize the computation by combining scalar computations

    \n": "

    Scalar\u0d9c\u0dab\u0db1\u0dba \u0d92\u0d9a\u0dcf\u0db6\u0daf\u0dca\u0db0 \u0dc0\u0dd2\u0dc3\u0dd2\u0db1\u0dca \u0d9c\u0dab\u0db1\u0dba \u0d8b\u0db4\u0dbb\u0dd2\u0db8 \u0db5\u0dbd \u0dbd\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dba\u0db1\u0dca\u0db1

    \n", "

    where _^_0_^_ is _^_1_^_ for _^_2_^_. Lt _^_3_^_ and step _^_4_^_ be _^_5_^_, and _^_6_^_ be the rectification term at step _^_7_^_.

    \n": "

    _^_0_^_ _^_1_^_ _^_2_^_\u0d9a\u0ddc\u0dc4\u0dda\u0daf? Lt _^_3_^_ \u0dc3\u0dc4 \u0db4\u0dd2\u0dba\u0dc0\u0dbb _^_4_^_ \u0dc0\u0db1\u0dca\u0db1 _^_5_^_, \u0dc3\u0dc4 \u0db4\u0dd2\u0dba\u0dc0\u0dbb\u0dd9\u0db1\u0dca \u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0db4\u0daf\u0dba _^_6_^_ \u0dc0\u0db1\u0dca\u0db1 _^_7_^_.

    \n", "

    which gives, _^_0_^_

    \n": "

    \u0dbd\u0db6\u0dcf\u0daf\u0dd9\u0db1, _^_0_^_

    \n", "_^_0_^_": "_^_0_^_", "A simple PyTorch implementation/tutorial of RAdam optimizer.": "RadAM \u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0d9a\u0dcf\u0dbb\u0d9a\u0dba\u0dda \u0dc3\u0dbb\u0dbd PyTorch \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8/\u0db1\u0dd2\u0db6\u0db1\u0dca\u0db0\u0db1\u0dba.", "Rectified Adam (RAdam) optimizer": "\u0db1\u0dd2\u0dc0\u0dd0\u0dbb\u0daf\u0dd2 \u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0d86\u0daf\u0db8\u0dca (RaDAM) \u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0dd2" }