Aquí hay un modelo de varias capas (juego de palabras) para garantizar que la configuración del experimento sea correcta:
- Aprende bien las matemáticas. Las arquitecturas neuronales generalmente se describen en términos de transformaciones no lineales generalizadas (piense en algo como [math] h (x; \ theta) [/ math]. Es imprescindible comprender claramente cada función dentro de las formas de los tensores de entrada y salida).
- La verificación de tipo y la verificación de la forma de los datos de entrenamiento deben realizarse después del preprocesamiento. Es una fuente muy frecuente de errores. La rutina de capacitación generalmente consta de varios métodos pequeños para la generación de lotes, el cálculo de objetivos, el muestreo, etc. Cada uno de ellos es fácil de probar durante el desarrollo.
- Durante el entrenamiento, muchas cosas pueden salir mal, así que si no está seguro, controle no solo la pérdida, sino también las normas de gradiente, la variación de gradiente estocástico por elementos, etc. Si está seguro, vigílelas también.
- Ve por la simplicidad. Haga su código claro, compacto y modular para que pueda probar todo por separado.
Hacer un prototipo en una computadora portátil Jupyter es una buena práctica, ya que le permite ver todo paso a paso y ver la salida de depuración cuando lo desee.
No puedo decir que escribo un código excelente, pero hago todo lo posible para no dispararme en el pie haciendo demasiadas cosas.
- ¿Qué es la precisión?
- Además de tratar de reconstruir la entrada (como en Autoencoder), ¿qué otras tareas podrían resultar útiles para el aprendizaje no supervisado de redes profundas?
- ¿Sigue siendo útil saber HTML hoy?
- ¿Cómo funciona el aprendizaje automático en el comercio algorítmico (finanzas)?
- ¿Cuál es una buena fuente para aprender la optimización convexa?