¿Cuál es el propósito de AdaGrad para la formación decente de la red neuronal de gradiente estocástico?

Algunas características pueden ser extremadamente útiles e informativas para un problema de optimización, pero pueden no aparecer en la mayoría de las instancias o datos de capacitación. Si, cuando aparecen, se ponderan por igual en términos de tasa de aprendizaje como una característica que ha aparecido cientos de veces, prácticamente estamos diciendo que la influencia de tales características no significa nada en la optimización general (es el impacto por paso en el el descenso de gradiente estocástico será tan pequeño que prácticamente se puede descartar). Para contrarrestar esto, AdaGrad hace que las características que son más escasas en los datos tengan una tasa de aprendizaje más alta que se traduce en una actualización más grande para esa característica (es decir, en la regresión logística, el coeficiente de regresión de esa característica aumentará / disminuirá más que un coeficiente de una característica que se ve muy a menudo).

En pocas palabras, las funciones dispersas pueden ser muy útiles. No tengo un ejemplo de aplicación en el entrenamiento de redes neuronales. Los diferentes algoritmos de aprendizaje adaptativo son útiles con diferentes datos (realmente dependería de cuáles sean sus datos y de la importancia que otorgue a las funciones dispersas).

Esta página proporciona algunos ejemplos sintéticos de casos con características dispersas en las que AdaGrad es útil:
Página en ucsd.edu

El razonamiento de la aplicación de AdaGrad puede explicarse mejor en el contexto de los lenguajes naturales. En el procesamiento del lenguaje natural, las características son palabras extraídas del corpus. Ahora, según la ley de Zip, la frecuencia de las características en el corpus sigue una curva hiperbólica. Algunas características son más frecuentes que otras, por lo que al entrenar a un NN para una tarea de PNL, esta información se debe alimentar a la red neuronal.

Esta información se puede aprovechar mientras se optimiza. Las características que son más frecuentes pueden tener una mayor tasa de aprendizaje, mientras que las características que son menos frecuentes deben tener una menor tasa de aprendizaje. AdaGrad esencialmente hace eso. Cada característica tiene una tasa de aprendizaje diferente que es adaptable.

Bien explicado aquí por el prof. de Freitas: