¿Cómo mejorar el diseño y la precisión de los algoritmos de reconocimiento al procesar imágenes?
Esta es sin duda la solución más sencilla. La solidez de un modelo de aprendizaje profundo depende de los datos que aporta. Una de las formas más sencillas de mejorar la precisión de la validación es agregar más datos. Esto es especialmente útil si no tienes muchos ejemplos de entrenamiento.
Si está trabajando en un modelo de reconocimiento de imágenes, considere aumentar la diversidad de sus conjuntos de datos disponibles mediante el uso de aumento de datos. Estas técnicas incluyen voltear la imagen sobre su eje y agregar ruido para ampliar la imagen. Si es un buen ingeniero de aprendizaje automático, también puede intentar utilizar GAN para la expansión de datos.
Tenga en cuenta que las técnicas de mejora que utilice cambiarán toda la categoría de la imagen. Por ejemplo, ¡no tiene sentido invertir una imagen en el eje Y!
Agregar más capas
Agregar más capas a un modelo mejora su capacidad para aprender las características de un conjunto de datos de manera más profunda, por lo que podrá identificar sutilezas que los humanos podrían no notar. diferencia.
Esta técnica mapea la naturaleza de la tarea que se está resolviendo.
Para tareas complejas, como distinguir entre razas de perros y gatos, tiene sentido agregar más capas, ya que su modelo podrá aprender las características sutiles que distinguen a un caniche de un shih tzu.
Para tareas sencillas, como clasificar perros y gatos, un modelo sencillo con sólo unas pocas capas es suficiente.
Más capas -> patrones más sutiles
Cambiar el tamaño de la imagen
Al preprocesar imágenes para entrenamiento y evaluación, es necesario cambiar el tamaño de la imagen. Realizar muchos experimentos. .
Si elige un tamaño de imagen demasiado pequeño, su modelo no podrá identificar las características destacadas que ayudan en el reconocimiento de imágenes.
Por el contrario, si las imágenes son demasiado grandes, aumentan los recursos computacionales necesarios en su computadora y/o su modelo puede no ser lo suficientemente complejo para manejarlas.
Los tamaños de imagen comunes incluyen 64x64, 128x128, 28x28 (MNIST) y 224x224 (vgg -16).
Recuerde que la mayoría de algoritmos de preprocesamiento no tienen en cuenta la relación de aspecto de la imagen, por lo que las imágenes con dimensiones más pequeñas pueden reducirse en un eje.
Pasar de una imagen de gran resolución a una imagen de tamaño pequeño, como 28x28, suele provocar mucha pixelación, lo que muchas veces afecta negativamente al rendimiento del modelo.
Aumentar épocas de entrenamiento
La época es básicamente la cantidad de veces que pasa todo el conjunto de datos a través de la red neuronal. Entrena tu modelo de forma incremental con intervalos de 25 y 100.
Solo es necesario agregar épocas si tiene una gran cantidad de datos en su conjunto de datos. Sin embargo, su modelo eventualmente llegará a un punto en el que agregar épocas no mejora la precisión.
En este punto, deberías considerar ajustar la velocidad de aprendizaje del modelo. Este pequeño hiperparámetro determina si su modelo alcanza un mínimo global (el objetivo final de las redes neuronales) o cae en un mínimo local.
La minimización global es el objetivo final de las redes neuronales.
Reducir canales de color
Los canales de color reflejan las dimensiones de la matriz de imágenes. La mayoría de las imágenes en color (RGB) constan de tres canales de color, mientras que las imágenes en escala de grises tienen un solo canal.
Cuanto más complejos sean los canales de color y más complejo el conjunto de datos, más tiempo llevará entrenar el modelo.
Si el color no es un factor tan importante en tu modelo, puedes continuar y convertir tu imagen en color a escala de grises.
Incluso puedes considerar otros espacios de color, como HSV y Lab.
Las imágenes RGB constan de tres canales de color: rojo, verde y azul.
Aprendizaje por transferencia
El aprendizaje por transferencia implica el uso de modelos previamente entrenados como YOLO y ResNet como punto de partida para la mayoría de las tareas de procesamiento del lenguaje natural y visión por computadora.
Los modelos preentrenados son los modelos de aprendizaje profundo más avanzados. Están entrenados con millones de muestras, lo que suele llevar varios meses. Estos modelos tienen una capacidad asombrosa para detectar diferencias sutiles en diferentes imágenes.
Estos modelos pueden servirte como base para tus propios modelos. La mayoría de los modelos son buenos y no requieren convolución ni agrupación.
¡El aprendizaje por transferencia puede mejorar enormemente la precisión de su modelo ~50 a 90!
Hiperparámetros
Las técnicas anteriores le proporcionan la base para optimizar su modelo. Para ajustar verdaderamente el modelo, debe considerar ajustar los diversos hiperparámetros y funciones involucradas en el modelo, como la tasa de aprendizaje (como se mencionó anteriormente), la función de activación, la función de pérdida e incluso el tamaño del lote. Estos son parámetros muy importantes que deben ajustarse. estar sintonizado.
Resumen
Estos consejos esperan que puedas encontrar rápidamente formas de mejorar cuando no sepas qué hacer.
Existen muchas otras formas de optimizar aún más el aprendizaje profundo, pero los métodos descritos anteriormente son solo la base para la parte de optimización del aprendizaje profundo.
Procesamiento de imágenes