13 votos

Elegir un tamaño apropiado minibatch para descenso de gradiente estocástico (SGD)

Hay alguna literatura que examina la elección de minibatch tamaño al realizar estocástico de gradiente de la pendiente? En mi experiencia, parece ser empírico de elección, que se encuentra generalmente a través de la validación cruzada o utilizando diferentes reglas de oro.

Es una buena idea para incrementar lentamente el minibatch tamaño como la validación de error disminuye? ¿Qué efectos tendría esto en la generalización de error? Estoy mejor-off mediante un extremadamente pequeño minibatch y la actualización de mi modelo de cientos de miles de veces? Estaría mejor con un número equilibrado en algún lugar entre el extremadamente pequeño, y el lote?
Debo escalar el tamaño de mi minibatch con el tamaño del conjunto de datos, o el número esperado de características en el conjunto de datos?

Yo, obviamente, tiene un montón de preguntas acerca de la implementación de minibatch planes de aprendizaje. Desafortunadamente, la mayoría de los trabajos que he leído realmente no especificar cómo se eligió este hyperparameter. He tenido un poco de éxito de autores como Yann LeCun, especialmente de los Trucos del Comercio de la colección de documentos. Sin embargo, todavía no he visto a estas preguntas se ha abordado plenamente. ¿Alguien tiene alguna recomendación para los papeles, o asesoramiento en cuanto a los criterios que puede utilizar para determinar las buenas minibatch tamaños cuando tratando de aprender características?

7voto

Cnote Puntos 6

La teoría de la eficacia de SGD, se ha trabajado en el único ejemplo de actualizaciones (es decir, minibatch tamaño 1), por lo que el uso de un mayor minibatches no es teóricamente necesario. Tiene dos ventajas prácticas. Uno, si el cálculo puede ser vectorizadas, usted podría ser capaz de calcular los gradientes para un pequeño minibatch >1 casi igual de rápido, lo que lleva a importantes aumentos de velocidad en el entrenamiento. En este caso, el óptimo minibatch tamaño está en función del hardware y la aplicación que está trabajando, así que usted está probablemente mejor que experimentar para encontrar el punto dulce. Dos, calcular el gradiente en un minibatch tamaño >1 llevará a más precisos gradientes y más óptimo pasos. Pero este beneficio llegará y fuera de nivel rápidamente una vez que la minibatch tamaño se incrementa más allá de la 1, así que usted puede centrarse principalmente en el primer objetivo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X