¿Cómo debo implementar una red neuronal completamente conectada para clasificar los dígitos MNIST usando el descenso de gradiente estocástico?

El OP pregunta acerca de un enfoque sistemático para ajustar la tasa de aprendizaje, parámetro de regularización, no. de capas, no. de neuronas ocultas por capa.

Conjunto de datos de referencia MNIST:

En general, los hiperparámetros de ajuste, como la tasa de aprendizaje, no. de los nodos puede ser un ejercicio tedioso. Como está trabajando en MNIST, un popular conjunto de datos de referencia, puede aprovechar los resultados informados por otros investigadores. El sitio web de MNIST tiene listas de resultados informados y hay una sección para resultados basados ​​en Neural Net: base de datos de dígitos escritos a mano MNIST, Yann LeCun, Corinna Cortes y Chris Burges. Recomiendo hojear algunos, seleccione los más relevantes para evaluar qué valores tienen más sentido.

Recursos sobre “Trucos del oficio”:

Un par de publicaciones que no son específicas de un solo conjunto de datos, pero ofrecen sugerencias sobre cómo ajustar hiperparámetros al entrenar redes neuronales:

  • [1206.5533] Recomendaciones prácticas para el entrenamiento basado en gradientes de arquitecturas profundas por Yoshua Bengio
  • http://yann.lecun.com/exdb/publi… “Efficient Backprop” de Yann A. LeCun, Léon Bottou, Genevieve B. Orr, Klaus-Robert Müller

Al ajustar varios hiperparámetros a la vez, es útil saber a qué rendimiento es más sensible. Encuentre buenos valores para aquellos antes de optimizar los valores de los parámetros más “conservadores”, los parámetros que cuando se modifican, solo conducen a un ligero cambio en el rendimiento.

Primero establecería la tasa de aprendizaje y el parámetro de regularización lambda en un valor común (consulte la página de resultados de referencia más arriba). No jugaría demasiado con un no. de nodos ocultos por capa al principio, pero mantén el no. de unidades ocultas constantes en todas las capas. Entonces puede ver si reducir no. de los nodos podría conducir a menos sobreajuste más adelante. Entonces, los dos primeros hiperparámetros que sintonizaría son el no. de capas Sigue agregando otra capa hasta que encuentres un sobreajuste claro. Luego puede comenzar a cambiar el no. de nodos ocultos, pero mantenga ese número constante en todas las capas. Esto le da un espacio bidimensional donde varía el no. de capas y el no. de unidades ocultas. Luego, puede proceder a ajustar los otros parámetros para un subconjunto de sus configuraciones más prometedoras.

Toda la comprensión de MIST y Neural Networking es inversa a lo que tiene que hacer. Si necesita intercambiar datos, comience con una organización de base de datos adecuada. Me gusta esto. Formación de vórtice. Entonces no tendrá que lidiar con ninguna complicación. Cualquier pregunta házmelo saber. Simplemente están perdiendo el tiempo con las estructuras actuales.
un