Articulo de referencia

Reducción de la varianza estocástica

La reducción de varianza (estocástica) es un método algorítmico para minimizar funciones que pueden descomponerse en sumas finitas. Al aprovechar la estructura de suma finita, l...

La reducción de varianza (estocástica) es un método algorítmico para minimizar funciones que pueden descomponerse en sumas finitas. Al aprovechar la estructura de suma finita, las técnicas de reducción de varianza logran tasas de convergencia imposibles de alcanzar con métodos que tratan la función objetivo como una suma infinita, como en el contexto clásico de la aproximación estocástica .

Los enfoques de reducción de varianza se utilizan ampliamente para entrenar modelos de aprendizaje automático como la regresión logística y las máquinas de vectores de soporte [ 1 ] ya que estos problemas tienen una estructura de suma finita y un condicionamiento uniforme que los convierten en candidatos ideales para la reducción de varianza.

Objetivos de suma finita

Una funciónF{\displaystyle f}Se considera que tiene una estructura de suma finita si se puede descomponer en una suma o promedio:

F(incógnita)=1nortei=1norteFi(incógnita),{\displaystyle f(x)={\frac {1}{n}}\sum _{i=1}^{n}f_{i}(x),}

donde el valor de la función y la derivada de cadaFi{\displaystyle f_{i}}se pueden consultar de forma independiente. Aunque se pueden aplicar métodos de reducción de varianza para cualquier positivonorte{\displaystyle n}y cualquierFi{\displaystyle f_{i}}estructura, sus propiedades teóricas y prácticas favorables surgen cuandonorte{\displaystyle n}es grande en comparación con el número de condición de cada unoFi{\displaystyle f_{i}}y cuando elFi{\displaystyle f_{i}}tienen constantes de suavidad de Lipschitz y de convexidad fuerte similares (pero no necesariamente idénticas) .

La estructura de suma finita debe contrastarse con el entorno de aproximación estocástica que trata con funciones de la formaF(θ)=miξ[F(θ,ξ)]{\textstyle f(\theta )=\operatorname {E} _{\xi }[F(\theta ,\xi )]} que es el valor esperado de una función que depende de una variable aleatoria.ξ{\textstyle \xi }Cualquier problema de suma finita puede optimizarse utilizando un algoritmo de aproximación estocástica mediante el uso deF(,ξ)=Fξ{\displaystyle F(\cdot ,\xi )=f_{\xi }}.

Convergencia rápida

Los métodos de varianza reducida estocástica sin aceleración son capaces de encontrar un mínimo deF{\displaystyle f}dentro de la precisiónϵ>{\displaystyle \epsilon >}, es decirF(incógnita)F(incógnita)ϵ{\displaystyle f(x)-f(x_{*})\leq \epsilon }en una serie de pasos del pedido:

O((Lμ+norte)registro(1ϵ)).{\displaystyle O\left(\left({\frac {L}{\mu }}+n\right)\log \left({\frac {1}{\epsilon }}\right)\right).}

El número de pasos depende solo logarítmicamente del nivel de precisión requerido, a diferencia del marco de aproximación estocástica, donde el número de pasosO(L/(μϵ)){\displaystyle O{\bigl (}L/(\mu \epsilon ){\bigr )}}El requerido crece proporcionalmente a la precisión requerida. Los métodos de reducción de varianza estocástica convergen casi tan rápido como el método de descenso de gradiente.O((L/μ)registro(1/ϵ)){\displaystyle O{\bigl (}(L/\mu )\log(1/\epsilon ){\bigr )}}tasa, a pesar de usar solo un gradiente estocástico, en un1/norte{\displaystyle 1/n}menor coste que el descenso de gradiente.

Los métodos acelerados en el marco de reducción de varianza estocástica logran tasas de convergencia aún más rápidas, requiriendo solo

O((norteLμ+norte)registro(1ϵ)){\displaystyle O\left(\left({\sqrt {\frac {nL}{\mu }}}+n\right)\log \left({\frac {1}{\epsilon }}\right)\right)}

pasos para llegarϵ{\displaystyle \epsilon }precisión, potencialmentenorte{\displaystyle {\sqrt {n}}}más rápido que los métodos no acelerados. Límites de complejidad más bajos. [ 2 ] para la clase de suma finita establecen que esta tasa es la más rápida posible para problemas fuertemente convexos suaves.

Aproches

Los métodos de reducción de varianza se dividen en cuatro categorías principales: métodos de promedio de tablas, métodos de instantáneas de gradiente completo, métodos de estimador recursivo (por ejemplo, SARAH) y métodos duales. Cada categoría incluye métodos diseñados para abordar problemas convexos, no suaves y no convexos, diferenciándose entre sí en la configuración de hiperparámetros y otros detalles algorítmicos.

SAGA

En el método SAGA, [ 3 ] el enfoque prototípico de promedio de tablas, una tabla de tamañonorte{\displaystyle n}se mantiene que contiene el último gradiente observado para cadaFi{\displaystyle f_{i}}término, que denotamosgramoi{\displaystyle g_{i}}En cada paso, un índicei{\displaystyle i}se muestrea y se obtiene un nuevo gradiente.Fi(incógnitak){\displaystyle \nabla f_{i}(x_{k})}se calcula. La iteraciónincógnitak{\displaystyle x_{k}}Se actualiza con:

incógnitak+1=incógnitakγ[Fi(incógnitak)gramoi+1nortei=1nortegramoi],{\displaystyle x_{k+1}=x_{k}-\gamma \left[\nabla f_{i}(x_{k})-g_{i}+{\frac {1}{n}}\sum _{i=1}^{n}g_{i}\right],}

y después entrada a la mesai{\displaystyle i}se actualiza congramoi=Fi(incógnitak){\displaystyle g_{i}=\nabla f_{i}(x_{k})}.

SAGA es uno de los métodos de reducción de varianza más populares debido a su simplicidad, su teoría fácilmente adaptable y su excelente rendimiento. Es el sucesor del método SAG, [ 4 ] mejorando su flexibilidad y rendimiento.

SVRG

El método de gradiente reducido de varianza estocástica (SVRG), [ 5 ] el método de instantánea prototípico, utiliza una actualización similar, excepto que en lugar de usar el promedio de una tabla, utiliza un gradiente completo que se reevalúa en un punto de instantánea.incógnita~{\displaystyle {\tilde {x}}}a intervalos regulares demetronorte{\displaystyle m\geq n}iteraciones. La actualización queda así:

incógnitak+1=incógnitakγ[Fi(incógnitak)Fi(incógnita~)+F(incógnita~)],{\displaystyle x_{k+1}=x_{k}-\gamma [\nabla f_{i}(x_{k})-\nabla f_{i}({\tilde {x}})+\nabla f({\tilde {x}})],}

Este enfoque requiere dos evaluaciones de gradiente estocástico por paso, una para calcularFi(incógnitak){\displaystyle \nabla f_{i}(x_{k})}y uno para calcularFi(incógnita~),{\displaystyle \nabla f_{i}({\tilde {x}}),}mientras que los métodos de promedio de tabla solo necesitan uno.

A pesar de su elevado coste computacional, el método SVRG es popular debido a que su sencilla teoría de convergencia se adapta fácilmente a nuevos escenarios de optimización. Además, requiere menos almacenamiento que los métodos de promedio tabular, lo que lo hace aplicable en muchos contextos donde estos últimos no pueden utilizarse.

SARAH

El método SARAH (gradiente recursivo estocástico) [ 6 ] mantiene un estimador recursivo del gradiente en lugar de almacenar una tabla de gradientes pasados ​​(como en SAGA) o calcular instantáneas periódicas del gradiente completo (como en SVRG). Al comienzo de un bucle interno, se calcula un gradiente completo en un punto de referencia.incógnita~{\displaystyle {\tilde {x}}}:v0=F(incógnita~){\displaystyle v_{0}=\nabla f({\tilde {x}})}Para iteraciones internas, con un índice muestreadoik{\displaystyle i_{k}}, el estimador de gradiente y la iteración se actualizan mediante:

vk=Fik(incógnitak)Fik(incógnitak1)+vk1,incógnitak+1=incógnitakγvk.{\displaystyle v_{k}=\nabla f_{i_{k}}(x_{k})-\nabla f_{i_{k}}(x_{k-1})+v_{k-1},\qquad x_{k+1}=x_{k}-\gamma v_{k}.}

Esta recursión requiere dos evaluaciones de gradiente de componentes por paso.Fik(incógnitak){\displaystyle \nabla f_ {i_ {k}}(x_ {k})}yFik(incógnitak1){\displaystyle \nabla f_{i_{k}}(x_{k-1})}pero no necesita almacenar gradientes por muestra, lo que resulta en un menor costo de memoria que los métodos de promedio de tablas. SARAH admite convergencia lineal para funciones fuertemente convexas y se ha extendido a problemas compuestos y no convexos más generales. [ 7 ] [ 8 ]

SDCA

Aprovechar la representación dual del objetivo conduce a otro enfoque de reducción de varianza que es particularmente adecuado para sumas finitas donde cada término tiene una estructura que hace que el cálculo del conjugado convexo sea más fácil.Fi,{\displaystyle f_{i}^{*},}o su operador proximal tratable. El método SDCA estándar [ 9 ] considera sumas finitas que tienen una estructura adicional en comparación con la configuración genérica de sumas finitas:

F(incógnita)=1nortei=1norteFi(incógnitaTvi)+λ2incógnita2,{\displaystyle f(x)={\frac {1}{n}}\sum _{i=1}^{n}f_{i}(x^{T}v_{i})+{\frac {\lambda }{2}}\|x\|^{2},}

donde cadaFi{\displaystyle f_{i}}es unidimensional y cadavi{\displaystyle v_{i}}es un punto de datos asociado conFi{\displaystyle f_{i}}. SDCA resuelve el problema dual:

máximoαRnorte1nortei=1norteFi(αi)λ21λnortei=1norteαivi2,{\displaystyle \max _{\alpha \in \mathbb {R} ^{n}}-{\frac {1}{n}}\sum _{i=1}^{n}f_{i}^{*}(-\alpha _{i})-{\frac {\lambda }{2}}\left\|{\frac {1}{\lambda n}}\sum _{i=1}^{n}\alpha _{i}v_{i}\right\|^{2},}

mediante un procedimiento de ascenso de coordenadas estocástico , donde en cada paso el objetivo se optimiza con respecto a una coordenada elegida aleatoriamente.αi{\displaystyle \alpha _{i}}, dejando todas las demás coordenadas iguales. Una solución primal aproximadaincógnita{\displaystyle x}puede recuperarse de laα{\displaystyle \alpha }valores:

incógnita=1λnortei=1norteαivi{\displaystyle x={\frac {1}{\lambda n}}\sum _{i=1}^{n}\alpha _{i}v_{i}}.

Este método obtiene tasas de convergencia teóricas similares a otros métodos estocásticos de reducción de varianza, evitando la necesidad de especificar un parámetro de tamaño de paso. Es rápido en la práctica cuandoλ{\displaystyle \lambda }es grande, pero significativamente más lento que los otros enfoques cuandoλ{\displaystyle \lambda }es pequeño.

Enfoques acelerados

Los métodos de reducción de varianza acelerada se basan en los métodos estándar mencionados anteriormente. Los primeros enfoques utilizan operadores proximales para acelerar la convergencia, ya sea de forma aproximada o exacta. También se han desarrollado enfoques de aceleración directa. [ 10 ]

Aceleración del catalizador

El marco de trabajo Catalyst [ 11 ] utiliza cualquiera de los métodos estándar anteriores como optimizador interno para resolver aproximadamente un operador proximal :

incógnitakargininaincógnita{F(incógnita)+κ2incógnitayk12}{\displaystyle x_{k}\approx {\text{argmin}}_{x}\left\{f(x)+{\frac {\kappa }{2}}\|x-y_{k-1}\|^{2}\right\}}

Después de lo cual utiliza un paso de extrapolación para determinar el siguientey{\displaystyle y}:

yk=incógnitak+βk(incógnitakincógnitak1){\displaystyle y_{k}=x_{k}+\beta _{k}(x_{k}-x_{k-1})}

La flexibilidad y simplicidad del método catalizador lo convierten en un enfoque básico muy popular. Sin embargo, no alcanza la tasa de convergencia óptima entre los métodos acelerados; puede ser hasta un factor logarítmico más lento en los hiperparámetros.

Punto-SAGA

También se pueden aplicar operaciones proximales directamente a laFi{\displaystyle f_{i}}términos para producir un método acelerado. El método Point-SAGA [ 12 ] reemplaza las operaciones de gradiente en SAGA con evaluaciones de operadores proximales, lo que resulta en un método de aceleración simple y directo:

incógnitak+1=proximidadjγ(zkincógnitak+γ[gramoj1nortei=1nortegramoi]),{\displaystyle x_{k+1}={\text{prox}}_{j}^{\gamma }\left(z_{k}\triangleq x_{k}+\gamma \left[g_{j}-{\frac {1}{n}}\sum _{i=1}^{n}g_{i}\right]\right),}

con la actualización de la tablagramoj=1γ(zkincógnitak+1){\displaystyle g_{j}={\frac {1}{\gamma }}(z_{k}-x_{k+1})}realizado después de cada paso. Aquíproximidadjγ{\displaystyle {\text{prox}}_{j}^{\gamma }}se define como el operador proximal para elj{\displaystyle j}término:

proximidadjγ(y)=argininaincógnita{Fj(incógnita)+12γincógnitay2}.{\displaystyle {\text{prox}}_{j}^{\gamma }(y)={\text{argmin}}_{x}\left\{f_{j}(x)+{\frac {1}{2\gamma }}\|x-y\|^{2}\right\}.}

A diferencia de otros métodos acelerados conocidos, Point-SAGA requiere solo una secuencia de iteraciones.incógnita{\displaystyle x}debe mantenerse entre pasos, y tiene la ventaja de tener un único parámetro ajustable.γ{\displaystyle \gamma }Se obtiene la tasa de convergencia acelerada óptima para la minimización de suma finita fuertemente convexa sin factores logarítmicos adicionales.

Véase también

Referencias

  1. "sklearn.linear_model.LogisticRegression" . Scikit Learn . Consultado el 26 de febrero de 2022 .
  2. Lan, Guanghui; Zhou, Yi (2018). "Un método óptimo de gradiente incremental aleatorio". Mathematical Programming: Series A and B . 171 ( 1– 2): 167– 215. arXiv : 1507.02000 . doi : 10.1007/s10107-017-1173-0 . S2CID 9143586 . 
  3. Defazio, Aaron; Bach, Francis; Lacoste-Julien, Simon (2014). "SAGA: Un método rápido de gradiente incremental con soporte para objetivos compuestos no fuertemente convexos". Neural Information Processing Systems . arXiv : 1407.0202 .
  4. Schmidt, Mark; Le Roux, Nicolas; Bach, Francis (2017). "Minimizing finite sums with the stochastic average gradient". Mathematical Programming . 162 . arXiv : 1309.2388 .
  5. Johnson, Rie; Zhang, Tong (2013). "Aceleración del descenso de gradiente estocástico mediante la reducción predictiva de la varianza" (PDF) . Sistemas de procesamiento de información neuronal .
  6. Nguyen, Lam M.; Liu, Jie; Scheinberg, Katya; Takáč, Martin. "SARAH: Un método novedoso para problemas de aprendizaje automático utilizando gradiente recursivo estocástico" (PDF) . Conferencia internacional sobre aprendizaje automático .
  7. Fang, Cong; Li, Chris Junchi; Lin, Zhouchen; Zhang, Tong. "SPIDER: Optimización no convexa casi óptima mediante un estimador diferencial estocástico integrado en la ruta" (PDF) . NeurIPS 2018 .{{cite web}}: CS1 maint: varios nombres: lista de autores ( enlace )
  8. Pham, Nhan; Nguyen, Lam M.; Phan, Dzung T.; Tran-Dinh, Quoc. "ProxSARAH: Un marco algorítmico eficiente para la optimización no convexa compuesta estocástica" (PDF) . JMLR 2020 .{{cite web}}: CS1 maint: varios nombres: lista de autores ( enlace )
  9. Shalev-Shwartz, Shai; Zhang, Tong (2013). "Métodos de ascenso de coordenadas duales estocásticos para la minimización de pérdidas regularizada" (PDF) . Journal of Machine Learning Research . 14 .
  10. Lan, Guanghui; Zhou, Yi (2018). "Un método óptimo de gradiente incremental aleatorio". Mathematical Programming: Series A and B . 171 ( 1– 2): 167– 215. arXiv : 1507.02000 . doi : 10.1007/s10107-017-1173-0 . S2CID 9143586 . 
  11. Lin, Hongzhou; Mairal, Julien; Harchaoui, Zaid (2016). "Aceleración de catalizadores para la optimización convexa de primer orden: de la teoría a la práctica". Journal of Machine Learning Research . 18 . arXiv : 1712.05654 .
  12. Defazio, Aaron (2016). "Un método acelerado práctico y sencillo para sumas finitas". Sistemas de procesamiento de información neuronal . arXiv : 1602.02442 .