Cómo se usa
- Elige una programación.
- Escribe el learning rate inicial, el paso t que quieres comprobar y el total T.
- Si hace falta, indica los pasos de calentamiento y los ajustes de la programación: intervalo y γ, tasa final o potencia.
- Lee el learning rate en t, su fracción del inicial y si t está en el calentamiento.
Fórmulas
Con calentamiento W, τ = t − W cuenta los pasos tras el calentamiento y L = T − W es la duración del decaimiento.
- Calentamiento (t < W): lr = lr₀ × t ÷ W
- Escalonado: lr = lr₀ × γ^⌊τ ÷ s⌋
- Exponencial: lr = lr₀ × γ^τ
- Coseno: lr = min + (lr₀ − min) × (1 + cos(π τ ÷ L)) ÷ 2
- Lineal: lr = lr₀ + (min − lr₀) × τ ÷ L
- Polinómico: lr = (lr₀ − min) × (1 − τ ÷ L)^p + min
En coseno, lineal y polinómico, τ se detiene en L: después de T pasos la tasa se queda en el valor final.
Ejemplo
Coseno de 0,001 a 0 en 100 épocas, sin calentamiento, en la época 25:
- τ ÷ L = 25 ÷ 100 = 0,25, cos(π × 0,25) = 0,70711;
- (1 + 0,70711) ÷ 2 = 0,853553;
- lr = 0,001 × 0,853553 = 0,0008535534, es decir, 0,853553 del inicial.
Con 10 épocas de calentamiento, la época 5 da 0,001 × 5 ÷ 10 = 0,0005; la época 55 es la 45 de 90 de decaimiento —justo la mitad— y también da 0,0005.
Escalonado desde 0,1 con ×0,1 cada 30 épocas: en la época 65 ha habido ⌊65 ÷ 30⌋ = 2 bajadas, así que lr = 0,1 × 0,1² = 0,001.
Consejos
- Calienta los modelos grandes. Unos cientos o miles de pasos de calentamiento evitan que Adam dé pasos enormes mientras sus estadísticas aún son ruidosas.
- Deja un suelo. Una tasa final pequeña (por ejemplo, el 10 % de la inicial) suele funcionar mejor que bajar hasta 0.
- Cuenta bien los pasos totales: épocas × lotes por época. La calculadora de división train/test da los lotes por época.