Оптимизатор LION — evoLved sIgn mOmeNtum или о том, как нейросети снова победили
Алгоритм разработан командой из DeepMind (подразделение Google, занимающиеся ИИ и известным проектами, такими как AlphaGo, AlphaZero, AlphaTensor и др.). Однако, учитывая их любовь к экспериментам со скрещиванием нейросетей и математических моделей, не удивительно, что этот алгоритм также получил эволюционное развитие.
Методология создания
LION был разработан с применением генетического алгоритма, где мутации определяли смену функций, знаков и прочих параметров. Это позволило получить оптимизатор, эволюционирующий за счет отбора и модификации своих компонентов.
Принцип работы
Оптимизатор дважды сглаживает градиент с использованием различных параметров $\beta$ (в статье рекомендуют $\beta_1$ = 0.9 и $\beta_2$ = 0.99) и перемещается по пространству параметров с постоянным шагом, равным значению learning rate. Дополнительно, рекомендуется использовать коэффициент $\gamma$ в 3–10 раз меньше, чем у AdamW. Это оправдано тем, что алгоритм не учитывает «угол наклона» поверхности, что позволяет ему с легкостью перескакивать через локальные минимумы. Авторы также советуют применять большой размер батча — например, если для Adam используется 256, то для LION оптимальным будет 4096, что способствует более уверенной работе алгоритма.
Математическая модель алгоритма
Инициализация $\theta_0 \thicksim rand, m_0 = 0 $ Цикл $g_t = \nabla_\theta f(\theta_{t-1})$ $c_t = \beta_1m_{t-1}+(1-\beta_1)g_t$ $\theta_t = \theta_{t-1}-\gamma sign(c_t)$ $m_t = \beta_2m_{t-1}+(1-\beta_2)g_t$
Особенности подхода к градиенту
Может возникнуть вопрос, почему новый градиент учитывается с меньшей долей. Это, скорее всего, связано с тем, что вблизи минимума градиент может часто менять знак, что критично для работы LION. Поэтому лучше доверять предыдущему направлению, чтобы обеспечить стабильность движения в сторону минимума.
Преимущества и производительность
Интуитивно понятно, что оптимизатор демонстрирует высокую эффективность даже в условиях «плато», аналогично Adam. По результатам тестирования, LION в среднем опережает AdamW на 1–3% — прирост, который может оказаться значительным, особенно для задач компьютерного зрения. К тому же, благодаря небольшому количеству дополнительных переменных, алгоритм потребляет меньше памяти и обладает довольно легким вычислительным графом по сравнению с Adam.