Capítulo 11. Entrenamiento de redes neuronales profundas
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
En el Capítulo 10 de construiste, entrenaste y pusiste a punto varias redes neuronales artificiales utilizando PyTorch. Pero eran redes poco profundas, con sólo unas pocas capas ocultas. ¿Y si necesitas abordar un problema complejo, como detectar cientos de tipos de objetos en imágenes de alta resolución? Puede que necesites entrenar una RNA mucho más profunda, quizá con docenas o incluso cientos de capas, cada una de ellas con cientos de neuronas, enlazadas por cientos de miles de conexiones. Entrenar una red neuronal profunda no es un paseo. Estos son algunos de los problemas con los que te puedes encontrar:
-
Puedes enfrentarte al problema de que los gradientes se hagan cada vez más pequeños o más grandes al fluir hacia atrás a través de la DNN durante el entrenamiento. Ambos problemas hacen que las capas inferiores sean muy difíciles de entrenar.
-
Puede que no tengas suficientes datos de entrenamiento para una red tan grande, o puede que sea demasiado costoso etiquetarla.
-
El entrenamiento puede ser extremadamente lento.
-
Un modelo con millones de parámetros corre el riesgo de sobreajustar gravemente el conjunto de entrenamiento, sobre todo si no hay suficientes instancias de entrenamiento o si son demasiado ruidosas.
En este capítulo recorreremos cada uno de estos problemas y presentaremos diversas ...