Diferenciación Automática de Rutas Selectiva: Más Allá de la Distribución Uniforme en el Dropout de Retropropagación
La efectividad desmesurada del Stochastic Gradient Descent (SGD) es probablemente el mayor hallazgo de machine learning de la década de 2010. SGD impulsa casi todos los avances recientes en machine learning. Conceptualmente, SGD es notablemente simple: procesa tu conjunto de datos un punto de datos a la vez y, por cada punto, ajusta los parámetros del modelo en la dirección indicada por ese punto. En términos más técnicos, la “dirección” se expresa como un gradiente, y el “ajuste” implica un pequeño coeficiente de escalado, usualmente referido como el learning rate.
Aunque la técnica SGD se remonta a los años 50, en su mayor parte permaneció como una técnica oscura y poco utilizada hasta que cobró protagonismo con el advenimiento del deep learning. Las razones por las que esta técnica funciona no estaban claras y, en cierto modo, aún no lo están. Dado que el objetivo es minimizar el error del modelo sobre el conjunto de datos en su totalidad, no es obvio que seleccionar puntos en estricto aislamiento produzca otra cosa que basura numérica.
Hoy en día, se entiende generalmente que la efectividad de SGD – es decir, por qué funciona – proviene de dos factores. Primero, aunque el gradiente obtenido mediante SGD es muy ruidoso – cada paso considera un único punto de datos – este gradiente resulta muy económico. Resulta que, para un presupuesto dado de recursos computacionales, aplicar numerosas actualizaciones de gradiente de baja calidad supera con creces la aplicación de una única actualización de gradiente de alta calidad. Segundo, las actualizaciones ruidosas ayudan al modelo a salir de las vastas mesetas de indiferencia numérica que existen en dimensiones superiores. De hecho, en dimensiones superiores, el meollo de la optimización no es, como se pensaba durante mucho tiempo, escapar de mínimos locales, sino escapar de mesetas locales – áreas donde la pérdida varía muy poco.

Algunos de nosotros, incluyendo a Paul Peseux y Victor Nicollet, decidimos llevar estas ideas más allá. Si el SGD funciona intercambiando la calidad del gradiente por eficiencia computacional, ¿qué tal extender este principio aún más? ¿Qué tal un gradiente sub-punto que fuera aún más económico de calcular, aunque incluso más ruidoso? Esto es precisamente lo que se ha logrado con el Selective Path Automatic Differentiation (SPAD). SPAD revisita uno de los pilares del paradigma moderno de machine learning con un giro: un punto de datos puede ser “dividido” en términos de gradiente según sus caminos de evaluación.
El artículo a continuación presenta una contribución de Paul Peseux (Lokad), Victor Nicollet (Lokad), Maxime Berar (Litis) y Thierry Paquet (Litis).
Title: Diferenciación Automática de Rutas Selectiva: Más Allá de la Distribución Uniforme en el Dropout de Retropropagación
Autores: Paul Peseux, Maxime Berar, Thierry Paquet, Victor Nicollet
Abstract: Este artículo introduce el Selective Path Automatic Differentiation (SPAD), un enfoque novedoso para reducir el consumo de memoria y mitigar el overfitting en modelos basados en gradientes para la inteligencia artificial embebida. SPAD amplía la Diferenciación Automática Aleatorizada existente, propuesta por Oktay et al y que traza caminos aleatorios a través del grafo de retropropagación con inyección de matrices, al habilitar distribuciones de probabilidad alternativas en dicho grafo, mejorando así el rendimiento del aprendizaje y la gestión de la memoria. En una iteración específica, SPAD evalúa y clasifica múltiples caminos dentro del grafo de retropropagación. En iteraciones subsiguientes, sigue preferentemente estos caminos de mayor clasificación. Este trabajo también presenta una técnica basada en compilación que permite el acceso independiente del modelo a caminos aleatorios, asegurando la generalizabilidad a través de diversas arquitecturas de modelos, sin restringirse a modelos deep. Las evaluaciones experimentales realizadas en diversas funciones de optimización demuestran un rendimiento de minimización mejorado al emplear SPAD. Además, los experimentos de deep learning con SPAD mitigan notablemente el overfitting, ofreciendo beneficios similares a los de los métodos tradicionales de dropout, pero con una disminución concomitante en el uso de memoria. Concluimos discutiendo las implicaciones únicas de estocasticidad de nuestro trabajo y el potencial para que éste amplíe otras técnicas estocásticas en el campo.