El desarrollo de cualquier modelo de aprendizaje automático implica un riguroso proceso experimental que sigue los ciclo idea-experimento-evaluación.
El ciclo anterior se repite varias veces hasta que se alcanzan niveles de rendimiento satisfactorios. La fase de “experimento” implica tanto los pasos de codificación como de capacitación del modelo de aprendizaje automático. Como Los modelos se vuelven más complejos. y están entrenados durante mucho conjuntos de datos más grandes, el tiempo de formación inevitablemente se amplía. Como consecuencia, entrenar una gran red neuronal profunda puede resultar extremadamente lento.
Afortunadamente para los profesionales de la ciencia de datos, existen varias técnicas para acelerar el proceso de capacitación, que incluyen:
- Transferir aprendizaje.
- Inicialización de pesocomo inicialización Glorot o He.
- Normalización por lotes para datos de entrenamiento.
- Escoger un función de activación confiable.
- Usar una optimizador más rápido.
Si bien todas las técnicas que señalé son importantes, en esta publicación me centraré profundamente en el último punto. Describiré múltiples algoritmos para la optimización de parámetros de redes neuronales, destacando tanto sus ventajas como sus limitaciones.
En la última sección de esta publicación, presentaré una visualización que muestra la comparación entre los algoritmos de optimización discutidos.
Para implementación prácticase puede acceder a todo el código utilizado en este artículo en este repositorio de GitHub:
Tradicionalmente, el descenso de gradiente por lotes se considera el elección predeterminada para el método optimizador en redes neuronales.