Lookahead Optimizer/es

    From Marovi AI
    This page is a translated version of the page Lookahead Optimizer and the translation is 100% complete.
    Other languages:
    Article
    Topic area Optimization
    Prerequisites Stochastic Gradient Descent, Adam Optimizer


    Visión general

    El Optimizador Lookahead es un algoritmo envoltorio para optimización estocástica en aprendizaje profundo, introducido por Zhang, Lucas, Hinton y Ba en 2019.[1] En lugar de reemplazar optimizadores existentes como SGD o Adam, Lookahead mantiene dos conjuntos de pesos: un conjunto rápido que se actualiza con un optimizador interno durante varios pasos y un conjunto lento que se desplaza periódicamente hacia el conjunto rápido. Después de cada sincronización, los pesos rápidos se reinician a los pesos lentos y el proceso se repite. Esta estructura de doble bucle reduce la varianza de la trayectoria del optimizador interno y tiende a mejorar la generalización con un coste adicional insignificante.

    Lookahead se utiliza ampliamente como una mejora directa para tuberías de entrenamiento existentes, porque preserva el comportamiento del optimizador interno e introduce únicamente dos hiperparámetros: el número de pasos internos $ k $ y el coeficiente de interpolación de los pesos lentos $ \alpha $.

    Intuición

    Los métodos de gradiente estocástico son intrínsecamente ruidosos: cada paso se calcula a partir de un minilote, por lo que la trayectoria a través del espacio de parámetros oscila alrededor de las direcciones de descenso en lugar de seguirlas exactamente. Las soluciones estándar, como el método de la bola pesada o las tasas de aprendizaje adaptativas, ajustan la señal de gradiente inmediata. Lookahead, en cambio, opera en una escala temporal más larga: trata una secuencia de actualizaciones del optimizador interno como una fase de exploración y luego se compromete con una fracción del desplazamiento resultante.

    A menudo el algoritmo se describe con el lema "k pasos adelante, 1 paso atrás". El bucle interno explora una región del paisaje de la pérdida; el bucle externo desplaza los pesos lentos de manera conservadora a lo largo de la línea que conecta el punto lento anterior y el nuevo punto rápido. Como los pesos lentos solo se mueven una fracción $ \alpha $ del desplazamiento, las oscilaciones transitorias de la trayectoria interna se amortiguan, mientras que las direcciones de descenso consistentes se acumulan.

    Algoritmo

    Sea $ \phi $ los pesos lentos y $ \theta $ los pesos rápidos. Sea $ A $ cualquier optimizador interno (por ejemplo SGD con momento o Adam), y sea $ L $ la función de pérdida. Lookahead alterna entre un bucle interno y una actualización externa.

    1. Inicializar $ \phi_0 $ y establecer $ \theta_{0,0} \leftarrow \phi_0 $.
    2. Para cada paso externo $ t = 0, 1, 2, \dots $:
      1. Para $ i = 1, \dots, k $: extraer un minilote $ d_i $ y actualizar $ \theta_{t,i} \leftarrow A(\theta_{t,i-1}, \nabla L(\theta_{t,i-1}, d_i)) $.
      2. Actualizar los pesos lentos: $ \phi_{t+1} \leftarrow \phi_t + \alpha\,(\theta_{t,k} - \phi_t) $.
      3. Reiniciar los pesos rápidos: $ \theta_{t+1,0} \leftarrow \phi_{t+1} $.

    Los pesos lentos $ \phi $ son los pesos que se devuelven al final del entrenamiento y se utilizan en el momento de la inferencia. Los pesos rápidos son un estado auxiliar.

    Regla de actualización

    La actualización del bucle externo puede escribirse de forma compacta como una interpolación lineal:

    $ {\displaystyle \phi_{t+1} = (1 - \alpha)\,\phi_t + \alpha\,\theta_{t,k}.} $

    Cuando $ \alpha = 1 $, los pesos lentos saltan a los pesos rápidos en cada sincronización, y Lookahead se reduce a ejecutar el optimizador interno. Cuando $ \alpha = 0 $, los pesos lentos no se mueven nunca. Los valores prácticos se encuentran en $ (0, 1] $, siendo $ \alpha = 0.5 $ un valor por defecto habitual.

    Una formulación equivalente utiliza una media móvil exponencial sobre una secuencia de puntos de control rápidos muestreados cada $ k $ pasos. Sin embargo, a diferencia de una media móvil estándar, Lookahead también reinicia los pesos rápidos a los pesos lentos después de cada actualización externa, lo que acopla las dos trayectorias en lugar de dejarlas separarse.

    Hiperparámetros

    Lookahead introduce dos hiperparámetros además de los del optimizador interno.

    • Periodo de sincronización $ k $: el número de pasos internos entre actualizaciones externas. Los valores típicos son $ 5 $, $ 10 $ o $ 20 $. Un $ k $ mayor amortiza la (pequeña) sobrecarga del paso externo, pero permite que el optimizador interno se aleje más entre sincronizaciones.
    • Tamaño de paso de los pesos lentos $ \alpha $: la fracción del desplazamiento interno aplicada a los pesos lentos. Los valores típicos son $ 0.5 $ o $ 0.8 $. Un $ \alpha $ menor produce más reducción de varianza pero un progreso más lento.

    El trabajo original informa de un rendimiento robusto para $ k \in \{5, 10\} $ y $ \alpha \in \{0.5, 0.8\} $ en tareas de clasificación de imágenes y modelado del lenguaje, lo que sugiere que rara vez es necesario un ajuste cuidadoso.

    Reducción de varianza

    Bajo una aproximación de pérdida cuadrática, Zhang et al. demuestran que, para una dinámica fija del optimizador interno, la varianza de los pesos lentos satisface

    $ {\displaystyle \mathrm{Var}(\phi_{t+1}) = (1-\alpha)^2 \,\mathrm{Var}(\phi_t) + \alpha^2 \,\mathrm{Var}(\theta_{t,k}),} $

    por lo que la varianza en estado estacionario de los pesos lentos es una fracción $ \alpha / (2 - \alpha) $ de la varianza del optimizador interno. Con $ \alpha = 0.5 $, los pesos lentos tienen un tercio de la varianza, lo que puede traducirse en mínimos más planos y una mejor generalización. El análisis supone trayectorias internas no correlacionadas y una pérdida cuadrática localmente, por lo que es una guía y no una garantía en redes profundas, pero coincide con el patrón empírico observado en la práctica.

    Consideraciones prácticas

    La sobrecarga de memoria y de cómputo es modesta. Lookahead requiere almacenar una copia adicional de los parámetros (los pesos lentos) y realizar una interpolación por elementos cada $ k $ pasos, por lo que el coste de tiempo real respecto al optimizador interno suele ser inferior al uno por ciento para $ k \geq 5 $.

    Cuando se combina Lookahead con la normalización por lotes u otros módulos con estadísticas en ejecución, los búferes que esas capas mantienen (medias y varianzas móviles) no son parámetros del optimizador y no se interpolan. La mayoría de implementaciones los deja adjuntos al modelo y los actualiza con las pasadas hacia adelante del bucle interno, que es la convención recomendada.

    En cuanto a la programación de la tasa de aprendizaje, normalmente se conserva el calendario del optimizador interno sin modificaciones. Lookahead no requiere calentamiento, pero el calentamiento no es perjudicial y sigue siendo útil para el optimizador interno en el entrenamiento de un Transformer.

    Variantes y métodos relacionados

    Existen varios trabajos posteriores que extienden Lookahead o se relacionan con él.

    • Stochastic Weight Averaging (SWA) promedia los pesos al final del entrenamiento en lugar de durante el mismo. SWA produce un único punto de control promediado, mientras que Lookahead mantiene una interpolación continua a lo largo de toda la optimización.
    • Ranger combina Lookahead con la variante RAdam de Adam y ha sido popular en pruebas de visión por computador.[2]
    • El promediado de Polyak calcula una media móvil de las iteraciones pasadas y se recupera como límite de interpolaciones $ \alpha $ repetidas sin el reinicio de los pesos rápidos.
    • Reptile es un algoritmo de metaaprendizaje con la misma forma de actualización externa, en el que el bucle interno se entrena con una tarea muestreada en lugar de un minilote muestreado.

    Comparaciones

    En comparación con el SGD o Adam estándar, Lookahead intercambia una pequeña cantidad de memoria por una varianza de trayectoria reducida y, a menudo, una mejora modesta de la precisión de prueba. En comparación con SWA, Lookahead no requiere una fase especial de promediado al final del entrenamiento y puede evaluarse en cualquier punto de control. En comparación con el momento, las dos escalas temporales son ortogonales: el momento suaviza la señal del gradiente a nivel de cada paso, mientras que Lookahead suaviza la trayectoria de los parámetros a nivel de cada $ k $ pasos, y los dos se combinan de forma habitual.

    Limitaciones

    Las ganancias empíricas de Lookahead son modestas e inconsistentes entre tareas. Sobre líneas base bien ajustadas y con buenos calendarios de tasa de aprendizaje, la mejora puede situarse dentro del ruido de la variación entre ejecuciones. El método añade además dos hiperparámetros, aunque los valores por defecto $ k=5 $ y $ \alpha=0.5 $ suelen ser adecuados. Por último, el análisis de reducción de varianza supone una pérdida cuadrática local y una dinámica interna aproximadamente estacionaria, ninguna de las cuales se cumple estrictamente en el entrenamiento no convexo de redes profundas, por lo que las garantías teóricas no se aplican directamente.

    Referencias

    1. Template:Cite arxiv
    2. Wright, Less. New Deep Learning Optimizer, Ranger. 2019.