Cómo optimizar una red neuronal convolucional para hacer una clasificación de imágenes

Una red neuronal convolucional también puede considerarse como un aproximador de funciones; f (Im, params) -> clase, donde f representa su CNN que toma una imagen Im y usa los valores en params (incluye todos los parámetros) y genera una salida de clasificación. Ahora, el objetivo de la optimización es generar el mejor valor de los parámetros para obtener un buen resultado de clasificación. Entonces los pasos esenciales son

  1. Genere datos de verdad básica del formulario (Im, clase), un conjunto de datos de ejemplo es Imagenet
  2. Escriba una función de pérdida para medir la diferencia entre la salida de su red y la salida de clasificación de verdad del terreno en sus datos de entrenamiento. Digamos que su problema tiene K diferentes clases; entonces su CNN eventualmente debería generar un vector de longitud K como salida.
  3. Inicializa los valores de los parámetros al azar
  4. Actualice el valor de los parámetros en sus datos de entrenamiento para reducir su función de pérdida (la mayoría de las CNN usan una variante de descenso de gradiente)

Esta es una descripción amplia de todo el proceso. Recomendaría ir a través del documento LeNet o las notas Stanford CS 231n de Karpathy para comprender mejor el proceso de optimización.

Consulte mi blog si está utilizando TensorFlow en Python.

More Interesting

¿Aprendizaje automático sin historia matemática?

He completado el curso para el aprendizaje automático. Quiero hacer un proyecto corto sobre aprendizaje automático. Actualmente estoy haciendo BE en CS. ¿Qué materia debo elegir?

¿Cómo se mejora y mejora la técnica de aprendizaje automático mientras nadie sabe exactamente cómo funciona?

¿Es la informática de alto rendimiento un conocimiento esencial para el aprendizaje profundo dado que se trata de una gran red neuronal?

¿Cuál es el mejor enfoque para aprender sobre los algoritmos de redes neuronales de predicción del mercado de valores?

¿Hay alguna universidad en la India que ofrezca cursos a corto plazo sobre aprendizaje automático / ciencia de datos?

¿Cómo se pueden extender los codificadores automáticos a tamaños de imagen realistas como 640 x 480 o más?

¿Cuál es el mejor método para presentar la idea de una red neuronal de convolución a un profano?

¿Podemos obtener un intervalo de confianza para la salida de un clasificador en el aprendizaje supervisado?

Cómo aprender a crear un sistema óptico de reconocimiento de caracteres utilizando redes neuronales artificiales como mi mini proyecto

¿Qué es un buen algoritmo de recomendación de películas?

¿Puede un principiante de programación sumergirse profundamente en el aprendizaje automático y el aprendizaje profundo directamente?

¿Cómo puedo comenzar a construir un motor de recomendación? ¿Dónde puedo encontrar un conjunto de datos interesante? ¿Con qué herramientas / tecnologías / algoritmos es mejor construir el motor? ¿Cómo verifico la efectividad de las recomendaciones?

¿Cómo es tomar CS 228: modelo gráfico probabilístico en Stanford?

¿Debería aprender aprendizaje automático, desarrollo en la nube o desarrollo de juegos en Unity como estudiante universitario de primer año?