Capítulo 16. El proceso de formación
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Ahora ya sabes cómo crear arquitecturas de vanguardia para la visión por ordenador, el procesamiento del lenguaje natural, el análisis tabular y el filtrado colaborativo, y sabes cómo entrenarlas rápidamente. Así que hemos terminado, ¿verdad? Todavía no. Aún tenemos que explorar un poco más el proceso de entrenamiento.
Ya explicamos en el capítulo 4 el fundamento del descenso de gradiente estocástico: pasar un mini lote al modelo, compararlo con nuestro objetivocon la función de pérdida, y luego calcular los gradientes de esta función de pérdida con respecto a cada peso antes de actualizar los pesos con la fórmula:
new_weight
=
weight
-
lr
*
weight
.
grad
Implementamos esto desde cero en un bucle de entrenamiento, y vimos que PyTorch proporciona una sencilla clase nn.SGD
que realiza este cálculo para cada parámetro por nosotros. En este capítulo, construiremos algunos optimizadores más rápidos, utilizando una base flexible. Pero eso no es todo lo que podemos querer cambiar en el proceso de entrenamiento. Para cualquier retoque del bucle de entrenamiento, necesitaremos una forma de añadir algo de código a la base de SGD. La biblioteca fastai tiene un sistema de llamadas de retorno para hacerlo, y te enseñaremos todo sobre él.
Empecemos con el SGD estándar para tener una base de referencia; luego presentaremos los optimizadores más ...
Get Aprendizaje profundo para programadores con fastai y PyTorch now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.