Reconocimiento de imágenes | Reconocimiento de dígitos escritos a mano basado en Keras (incluido el código)
Frontera
La ola de inteligencia artificial ha arrasado el mundo, y términos como aprendizaje profundo (Deep Learning) e inteligencia artificial (IA) nos rodean constantemente. El desarrollo de la inteligencia artificial tuvo tres altibajos: durante la década de 1990, el conocimiento de la red neuronal gt; alrededor de 2005, el conocimiento de la máquina gt (web semántica); eso, red neuronal basada en aprendizaje profundo > conocimiento (gráfico de conocimiento) > aprendizaje automático.
Como representante del aprendizaje profundo, la red neuronal convolucional (CNN) se inspiró por primera vez en dos neurobiólogos, Hubel y Wiesel, en 1961, quienes realizaron experimentos con células de la corteza visual de gatos. que la corteza visual del cerebro es jerárquica (la estructura de red jerárquica en CNN es exactamente la misma). El aprendizaje profundo, un subcampo del aprendizaje automático (ML), ha experimentado un espectacular resurgimiento debido al aumento de la potencia informática y la disponibilidad de grandes cantidades de datos. Sin embargo, el autor cree que es cuestionable si el aprendizaje profundo puede ser igual o representar la inteligencia artificial. El aprendizaje profundo puede considerarse una tecnología importante en la etapa actual de desarrollo de la inteligencia artificial. Dado que este artículo escribe principalmente sobre la práctica introductoria del aprendizaje profundo y no realiza una investigación en profundidad sobre conceptos detallados, el siguiente autor presenta el proceso general de aprendizaje profundo para procesar imágenes de casos reales.
Contenido:
Tomando como ejemplo los dígitos de reconocimiento de escritura a mano, como proyecto introductorio al aprendizaje profundo, este artículo se basa en la biblioteca de aprendizaje profundo de Keras. El tensorflow y otros módulos utilizados deben configurarse con anticipación. Al mismo tiempo, preste atención a la ruta del archivo del modelo y al guardado y carga de la imagen. Debe crearse o modificarse cuando se ejecuta en su propia computadora. El siguiente proceso incluye: usar Keras para cargar el conjunto de datos MNIST, construir un modelo de red de entrenamiento Lenet, usar Keras para guardar y cargar el modelo, usar Keras para implementar el entrenamiento y la predicción del conjunto de datos de dígitos escritos a mano y, finalmente, dibujar una iteración de error. gráfico.
Introducción al conjunto de datos de dígitos escritos a mano:
El reconocimiento de dígitos escritos a mano es casi un conjunto de datos introductorio para el aprendizaje profundo. El conjunto de datos MNIST está integrado en keras. El conjunto de prueba contiene 60.000 datos y el conjunto de verificación contiene 10.000 datos. Es una imagen en escala de grises de un solo canal. El tamaño de píxel de cada imagen es 28 28. Contiene 10 categorías, para los números del 0 al 9.
Importar módulos relacionados:
Cargar conjunto de datos MNIST
Keras puede implementar una variedad de modelos de redes neuronales y cargar una variedad de conjuntos de datos para evaluar el modelo. Efecto, a continuación usamos el código para cargar automáticamente el conjunto de datos MNIST.
Muestre las primeras 6 imágenes en el conjunto de datos de entrenamiento MNIST:
Preprocesamiento de datos
Primero, convierta los datos en un vector de 4 dimensiones
Establecimiento y cálculo del modelo
Configuración de parámetros del modelo de entrenamiento:
Este artículo utiliza la arquitectura de red Lenet. La estructura de la red Lenet se define a continuación. Estructura de red, como usar VGGNet, GoogleNet, Inception, ResNets o crear diferentes estructuras de red usted mismo, que se pueden modificar directamente dentro de esta función.
Se adjuntan dos modelos más clásicos:
VGG16:
GoogleNet:
Establece el método de optimización, la función de pérdida y compila el modelo. :
Este artículo utiliza un generador para ahorrar memoria:
Análisis de resultados
Haga el gráfico de iteración de pérdida y precisión de la fase de entrenamiento. Este artículo establece la época en. 10, ha alcanzado una precisión de 0,98 (el código y la imagen se muestran a continuación).
Cuenta oficial: Papa Technology Meow
Bienvenido a seguirnos y discutir~