Inteligencia artificial
Mejor rendimiento de aprendizaje automático a través de la reducción de tamaño de imágenes basada en CNN

Google Research ha propuesto un nuevo método para mejorar la eficiencia y la precisión de los flujos de trabajo de entrenamiento de visión por computadora basados en imágenes, mejorando la forma en que las imágenes en un conjunto de datos se reducen en el estado de preprocesamiento.
En el artículo Aprendiendo a cambiar el tamaño de las imágenes para tareas de visión por computadora, los investigadores Hossein Talebi y Peyman Milanfar utilizan una CNN para crear una nueva arquitectura híbrida de cambio de tamaño de imagen que produce una mejora notable en los resultados de reconocimiento obtenidos en cuatro conjuntos de datos de visión por computadora populares.

El marco de trabajo conjunto propuesto para reconocimiento y cambio de tamaño. Source: https://arxiv.org/pdf/2103.09950.pdf
El artículo observa que los métodos de reescalado/cambio de tamaño que se utilizan actualmente en las tuberías de aprendizaje automático automatizado están desactualizados desde hace décadas, y frecuentemente utilizan solo métodos básicos de interpolación bilineal, bicúbica y vecino más cercano de cambio de tamaño – métodos que tratan a todos los píxeles de manera indiscriminada.
Por el contrario, el método propuesto aumenta los datos de la imagen a través de una CNN y incorpora esa entrada en las imágenes cambiadas de tamaño que finalmente pasarán por la arquitectura del modelo.
Restricciones de imagen en el entrenamiento de IA
Para entrenar un modelo que lidia con imágenes, un marco de aprendizaje automático incluirá una etapa de preprocesamiento, donde una variedad dispar de imágenes de varios tamaños, espacios de color y resoluciones (que contribuirán al conjunto de datos de entrenamiento) se recortan y cambian de tamaño sistemáticamente a dimensiones consistentes y un formato estable y único.
En general, esto implicará algún compromiso basado en el formato PNG, donde se establecerá un equilibrio entre el tiempo de procesamiento/recursos, el tamaño del archivo y la calidad de la imagen.
En la mayoría de los casos, las dimensiones finales de la imagen procesada son muy pequeñas. A continuación, vemos un ejemplo de la resolución de 80×80 en la que se generaron algunos de los conjuntos de datos de deepfakes más antiguos fueron generados:

Dado que las caras (y otros sujetos posibles) rara vez caben en la relación de aspecto cuadrada requerida, es posible que se necesiten barras negras (o se permita espacio desperdiciado) para homogeneizar las imágenes, lo que reduce aún más los datos de imagen reales:

Aquí, la cara se ha extraído de un área de imagen más grande hasta que se recorta de la manera más económica posible para incluir toda el área de la cara. Sin embargo, como se ve a la derecha, una gran parte del área restante no se utilizará durante el entrenamiento, lo que agrega mayor importancia a la calidad de la imagen de los datos cambiados de tamaño.
A medida que las capacidades de las GPU han mejorado en los últimos años, con la nueva generación de tarjetas NVIDIA equipadas con cantidades crecientes de video-RAM (VRAM), los tamaños de imagen promedio están comenzando a aumentar, aunque 224×224 píxeles sigue siendo bastante estándar (por ejemplo, es el tamaño del conjunto de datos ResNet-50).

Una imagen sin cambiar de tamaño de 224×244 píxeles.
Ajustar lotes en VRAM
La razón por la que las imágenes deben ser todas del mismo tamaño es que el descenso de gradiente, el método por el cual el modelo mejora con el tiempo, requiere datos de entrenamiento uniformes.
La razón por la que las imágenes deben ser tan pequeñas es que deben cargarse (completamente descomprimidas) en VRAM durante el entrenamiento en lotes pequeños, generalmente entre 6-24 imágenes por lote. Si hay demasiadas pocas imágenes por lote, no hay suficiente material grupal para generalizar bien, además de prolongar el tiempo de entrenamiento; si hay demasiadas, el modelo puede no obtener las características y detalles necesarios (ver a continuación).
Esta sección de “carga en vivo” de la arquitectura de entrenamiento se llama espacio latente. Este es donde se extraen características repetidamente de los mismos datos (es decir, las mismas imágenes) hasta que el modelo ha convergido a un estado en el que ha adquirido todo el conocimiento generalizado que necesita para realizar transformaciones en datos no vistos posteriores de un tipo similar.
Este proceso generalmente tarda días, aunque puede tardar incluso un mes o más de cogitación constante y sin cesar de alta volumen 24/7 para lograr una generalización útil. Los aumentos en el tamaño de VRAM solo son útiles hasta cierto punto, ya que incluso los incrementos menores en la resolución de la imagen pueden tener un efecto de orden de magnitud en la capacidad de procesamiento y efectos relacionados en la precisión que pueden no ser siempre favorables.
Utilizar una mayor capacidad de VRAM para acomodar tamaños de lote más grandes también es una bendición mixta, ya que las mayores velocidades de entrenamiento obtenidas por esto probablemente se verán compensadas por resultados menos precisos.
Por lo tanto, dado que la arquitectura de entrenamiento está tan limitada, cualquier cosa que pueda efectuar una mejora dentro de las limitaciones existentes de la tubería es un logro notable.
Cómo ayuda la reducción de tamaño superior
La calidad final de una imagen que se incluirá en un conjunto de datos de entrenamiento se ha demostrado que tiene un efecto de mejora en el resultado del entrenamiento, particularmente en tareas de reconocimiento de objetos. En 2018, investigadores del Instituto Max Planck para Sistemas Intelligentes sostuvieron que la elección del método de muestreo tiene un impacto notable en el rendimiento y los resultados del entrenamiento.
Además, el trabajo previo de Google (coescrito por los autores del nuevo artículo) ha encontrado que la precisión de clasificación se puede mejorar manteniendo el control sobre los artefactos de compresión en las imágenes del conjunto de datos.
El modelo de CNN construido en el nuevo muestreador combina el cambio de tamaño bilineal con una función de “conexión de salto” que puede incorporar la salida de la red entrenada en la imagen cambiada de tamaño.
A diferencia de una arquitectura típica de codificador/decodificador, la nueva propuesta puede actuar no solo como un cuello de botella de alimentación directa, sino también como un cuello de botella inverso para escalar a cualquier tamaño y/o relación de aspecto objetivo. Además, el método de muestreo “estándar” se puede cambiar por cualquier otro método tradicional adecuado, como Lanczos.
Detalles de alta frecuencia
El nuevo método produce imágenes que, en efecto, “hornean” las características clave (que finalmente serán reconocidas por el proceso de entrenamiento) directamente en la imagen de origen. En términos estéticos, los resultados son poco convencionales:

El nuevo método aplicado en cuatro redes – Inception V2; DenseNet-121; ResNet-50; y MobileNet-V2. Los resultados del método de muestreo de imagen de Google Research producen imágenes con una agregación de píxeles obvia, anticipando las características clave que se discernirán durante el proceso de entrenamiento.
Los investigadores señalan que estos experimentos iniciales están optimizados exclusivamente para tareas de reconocimiento de imágenes, y que en las pruebas su “muestreador aprendido” basado en CNN pudo lograr tasas de error mejoradas en dichas tareas. Los investigadores pretenden aplicar el método en el futuro a otros tipos de aplicaciones de visión por computadora basadas en imágenes.













