Sin considerar el costo del conjunto de validación, ¿necesito muchos datos para reducir el costo del tren en la Red neuronal profunda?

No siempre, a veces el costo se atascará, nunca cruzando una cierta precisión. Como cuando se trabaja con MNIST, un conjunto de datos relativamente simple, es fácil obtener una precisión del 99%, pero es mucho más difícil pasar del 99% al 99.5%, por ejemplo.

Aumentar los datos de entrenamiento en tal escenario es una exageración. El mejor enfoque es mirar los métodos de regularización y la arquitectura en sí, hay varios métodos que puede usar para mejorar el rendimiento sin recurrir a aumentar los datos de capacitación, use:

  1. [matemática] L_1 [/ matemática] o [matemática] L_2 [/ matemática] regularización: este tipo de regularización penaliza grandes pesos, que son la causa de muchos comportamientos erróneos en las redes neuronales. Forzan a la red a aprender un modelo algo más escaso y simple. [math] L_1 [/ math] es especialmente bueno para inducir la dispersión en la red. Esto puede ayudar a reducir aún más el costo de la capacitación.
  2. Abandono: este algoritmo literalmente elimina un conjunto aleatorio de neuronas de la red, lo que obliga a la red entrenada en general a comportarse como una técnica de promedio de modelo, es decir, la red general está compuesta por varias subredes cuyas respuestas se promedian juntas. Todos sabemos que los métodos de conjunto siempre son mejores, por lo tanto, este algoritmo de deserción induce este proceso de promediación, por lo que puede verse libremente como un método de conjunto, al menos intuitivamente pero no literalmente. Otra forma de verlo es que al abandonar algunas neuronas aleatorias, el sistema tiende a aprender a lidiar con la degradación de una manera elegante, también se sabe que los cerebros biológicos se degradan con gracia. El abandono hace que las redes neuronales también se degraden con gracia, es decir, eliminar un pequeño conjunto de neuronas de la red no afectará tanto el rendimiento, mientras que eliminar una gran parte de las neuronas causará un rendimiento más degradado. Sí, en la práctica, todas las neuronas estarán disponibles, pero la entrada puede no estar tan limpia, por lo que esto hace que la red neuronal también se degrade un poco más con gracia con la degradación de la entrada. Esto hace que la deserción elimine el sobreajuste.
  3. Normalización por lotes: la idea básica aquí es normalizar la entrada de cada capa de modo que la distribución de cada entrada a cualquier capa sea bastante constante. Por lo tanto, esto mejora la convergencia de aprendizaje y el rendimiento de la red, lo que significa que también puede eliminar la necesidad de abandono, [matemática] L_1 [/ matemática] y [matemática] L_2 [/ matemática] regularización. Con la norma Batch (BN) hay parámetros adicionales entrenables para las capas BN, pero mejora el rendimiento general de la red, por lo que vale la pena.

Por lo tanto, no siempre recurra a aumentar los datos de entrenamiento sin agotar las muchas técnicas para mejorar el aprendizaje en redes neuronales profundas (DNN). Culpar a los datos debería ser el último recurso.

Pero si sus datos son claramente pequeños, como unos pocos miles, considere capacitar una red menos profunda en lugar de una más profunda. Y si la red superficial tampoco es buena, intente con máquinas de vectores de soporte (SVM) con trucos de kernel. Deje todas las opciones sobre la mesa.

Si todo lo demás falla, reúna más datos de capacitación de mayor calidad.

Espero que esto ayude.

More Interesting

¿Cómo explicaría el concepto de una capa convolucional en una red profunda a una persona no técnica?

Cómo conseguir un trabajo de nivel de entrada en India en el campo de la robótica, la inteligencia artificial o el aprendizaje automático

¿Cómo genera fastText un vector para una palabra que no está en el modelo pre-entrenado?

¿Cuáles son los temas sobre big data para hacer una tesis de maestría que excluye el aprendizaje automático?

Cómo combinar un clasificador basado en características con un modelo de serie temporal como ARIMA

En Python, ¿cómo puedo probar y asegurarme de que mi modelo predice datos correctamente? (principiante preguntando)

¿Es el "grado de libertad" en el aprendizaje automático igual al número de variables independientes o el número de parámetros?

¿Qué piensan los pequeños equipos de ciencia de datos sobre la plataforma Dato y el pensamiento de Carlos Guestrin detrás de la democratización del aprendizaje automático?

¿A qué se refiere el concepto de sesgo de presentación-retroalimentación en el contexto del aprendizaje automático?

¿Alguna vez has observado que la normalización por lotes en realidad ralentiza el entrenamiento?

¿Es el aprendizaje automático una mejor forma o técnica para comprender los datos y hacer pronósticos que las estadísticas?

¿Alguna forma de dormir será esencial en la IA (inteligencia artificial)?

¿Cuáles son los pasos básicos del procesamiento de texto en el procesamiento del lenguaje natural para la similitud de texto?

¿Qué hace exactamente esta función, tf.nn.embedding_lookup (), en TensorFlow?

¿Cuáles son los mejores libros de aprendizaje automático para principiantes?