VGGNet se refiere a una familia de arquitecturas de redes neuronales convolucionales desarrolladas por el Grupo de Geometría Visual (VGG) en la Universidad de Oxford. Los modelos se introdujeron en un artículo de 2014 y se volvieron influyentes en el campo del aprendizaje profundo por su diseño simple y modular, así como por su sólido rendimiento en tareas de clasificación de imágenes. La familia VGG se caracteriza por su uso consistente y uniforme de pequeños filtros convolucionales de 3x3, un alejamiento de los filtros más grandes utilizados en redes anteriores como AlexNet.
Los modelos VGG fueron ampliamente adoptados en diversas aplicaciones de visión por computadora. Un conjunto de redes VGG logró los mejores resultados en el Desafío de Reconocimiento Visual a Gran Escala de ImageNet (ILSVRC) en 2014. La arquitectura sirvió como línea base para comparación en el artículo de ResNet, como red base en la CNN basada en regiones rápida para la detección de objetos, y como componente en algoritmos de transferencia de estilo neuronal. Aunque arquitecturas posteriores como Inception, ResNet y DenseNet superaron el rendimiento de VGGNet, la serie sigue siendo un hito históricamente importante en la evolución de las redes neuronales convolucionales.
Principio de diseño
La idea central detrás de VGGNet fue construir una red profunda apilando módulos genéricos y simples en lugar de diseñar cada capa desde cero. Esto contrastaba con enfoques anteriores como AlexNet (2012), que utilizaba una estructura más heterogénea con filtros más grandes. La arquitectura VGG consiste en bloques repetidos de capas convolucionales de 3x3 seguidas de capas de agrupación máxima, culminando en un conjunto de capas totalmente conectadas.
El uso consistente de pequeños filtros de 3x3 fue una innovación clave. Apilar dos convoluciones de 3x3 proporciona el mismo campo receptivo que una sola convolución de 5x5, pero con menos parámetros (18c^2 frente a 25c^2, donde c es el número de canales). Esto permitió redes más profundas con menos parámetros, mientras que la mayor profundidad permitió a la red aprender características más complejas. La publicación original demostró que las redes profundas y estrechas superan significativamente a sus contrapartes superficiales y anchas.
Arquitectura
La arquitectura VGG se compone de módulos genéricos apilados secuencialmente. Las capas convolucionales utilizan filtros de 3x3 con un paso de 1 y activaciones ReLU. Estas son seguidas por capas de agrupación máxima con un filtro de 2x2 y paso 2, que reducen la resolución de los mapas de características a la mitad tanto en ancho como en alto, mientras preservan el número de canales.
Después de las etapas convolucionales y de agrupación, la red termina con tres capas totalmente conectadas con tamaños 4096-4096-1000. La capa final tiene 1000 unidades correspondientes a las 1000 clases en el conjunto de datos ImageNet. Una capa softmax produce la distribución de probabilidad final sobre estas clases.
Configuraciones y profundidad
La familia VGG incluye varias configuraciones denotadas por una letra y el número de capas de peso. Las variantes más comúnmente utilizadas son VGG-16 y VGG-19. VGG-16 tiene 13 capas convolucionales y 3 capas totalmente conectadas, totalizando alrededor de 138 millones de parámetros. VGG-19 tiene 16 capas convolucionales y 3 capas totalmente conectadas, con aproximadamente 144 millones de parámetros.
En la arquitectura VGG típica, las etapas convolucionales se organizan en bloques. Cada bloque consiste en una o más capas convolucionales de 3x3 seguidas de una capa de agrupación máxima de 2x2 con paso 2, que reduce la resolución de los mapas de características. El número de canales aumenta progresivamente a través de la red, desde 64 en el primer bloque hasta 512 en los bloques más profundos. Las etapas finales son tres capas totalmente conectadas con tamaños 4096, 4096 y 1000, seguidas de una capa softmax para la clasificación sobre 1000 clases de ImageNet.
Principios de diseño
El principio arquitectónico clave de los modelos VGG es el uso consistente de pequeñas convoluciones de 3x3 con paso 1. Esta elección de diseño fue significativa porque apilar dos convoluciones de 3x3 logra el mismo campo receptivo que una sola convolución de 5x5, mientras utiliza menos parámetros. El artículo original demostró que las redes profundas y estrechas superan a las contrapartes superficiales y anchas, estableciendo la importancia de la profundidad en el aprendizaje automático.
A diferencia de redes anteriores como AlexNet (2012), que utilizaba filtros más grandes de hasta 11x11 y fue diseñada desde cero, VGGNet se compuso de módulos genéricos y repetibles. Este enfoque modular simplificó el proceso de diseño y facilitó la implementación y adaptación de la arquitectura. El uso consistente de filtros pequeños permitió redes más profundas con el mismo campo receptivo mientras se reducía el número de parámetros.
Arquitectura
La familia VGG incluye varias configuraciones de profundidad variable, denotadas por la letra 'VGG' seguida del número de capas de peso. Las versiones más comunes son VGG-16 (13 capas convolucionales más 3 capas totalmente conectadas, totalizando alrededor de 138 millones de parámetros) y VGG-19 (16 capas convolucionales más 3 capas totalmente conectadas, totalizando alrededor de 144 millones de parámetros). Estas corresponden a las configuraciones D y E en la publicación original.
Todos los modelos VGG siguen una estructura similar. Comienzan con módulos convolucionales, cada uno conteniendo filtros de 3x3 con paso 1 y activaciones ReLU. Después de ciertos grupos de capas convolucionales, una capa de agrupación máxima con una ventana de 2x2 y paso 2 reduce las dimensiones espaciales a la mitad mientras preserva el número de canales. El número de canales aumenta progresivamente a través de la red, desde 64 en la primera capa hasta 512 en las capas convolucionales más profundas.
La red termina con tres capas totalmente conectadas con tamaños 4096, 4096 y 1000. La capa final produce puntuaciones para las 1000 clases en el conjunto de datos ImageNet. Una capa softmax luego convierte estas puntuaciones en una distribución de probabilidad sobre las clases.
Entrenamiento y rendimiento
Los modelos VGG se entrenaron en el conjunto de datos ImageNet, que contiene más de 14 millones de imágenes en 1000 categorías. Entrenar redes tan profundas requirió recursos computacionales significativos y un ajuste cuidadoso. Los modelos se entrenaron durante múltiples épocas con técnicas de aumento de datos como recorte aleatorio y volteo horizontal.
En la competencia ILSVRC de 2014, un conjunto de modelos VGG logró resultados de última generación, demostrando la efectividad de la arquitectura. El modelo VGG-16 en particular se convirtió en una línea base estándar para tareas de clasificación de imágenes y fue ampliamente utilizado en aprendizaje por transferencia, donde una red preentrenada en ImageNet se adapta a otras tareas con conjuntos de datos más pequeños.
Impacto y legado
VGGNet fue instrumental en cambiar el tamaño estándar de los filtros convolucionales en las CNN de núcleos grandes (hasta 11x11 en AlexNet) a los filtros mucho más pequeños de 3x3. Esta elección de diseño influenció numerosas arquitecturas posteriores. La red fue extensamente utilizada como columna vertebral para otras tareas, incluyendo la detección de objetos en el marco de CNN basada en regiones rápida (Fast R-CNN) y como red base en algoritmos de transferencia de estilo neuronal.
El diseño sencillo de la arquitectura la hizo una opción popular para investigadores y profesionales. Su éxito demostró que la profundidad, combinada con filtros pequeños y uniformes, podía producir un rendimiento sólido. Sin embargo, los modelos son computacionalmente costosos y tienen una gran huella de memoria debido a las capas totalmente conectadas.
La serie VGG fue eventualmente superada por arquitecturas más eficientes como Inception, ResNet y DenseNet, que lograron un mejor rendimiento con menos parámetros. En 2021, la arquitectura RepVGG reinventó el diseño simple estilo VGG con técnicas modernas, mostrando que una red simple, similar a VGG, podía nuevamente igualar el rendimiento de última generación. Los VGGNet originales siguen siendo comunes como extractores de características en diversas aplicaciones de aprendizaje por transferencia.
Contexto histórico
VGGNet se desarrolló en un momento en que las redes neuronales se estaban volviendo más profundas y poderosas. AlexNet, el ganador del ILSVRC de 2012, utilizaba filtros convolucionales grandes de hasta 11x11 y tenía una estructura relativamente superficial de 8 capas. La propuesta de VGG de apilar muchas convoluciones de 3x3 demostró que la profundidad podía aumentarse sustancialmente mientras se mantenía un número manejable de parámetros. Este principio de componer módulos simples para construir redes profundas influenció muchas arquitecturas posteriores.
Los modelos VGG se utilizaron como línea base de comparación en el artículo de ResNet y sirvieron como columna vertebral para varios sistemas de visión por computadora, incluyendo la CNN basada en regiones rápida para la detección de objetos e implementaciones de transferencia de estilo neuronal. Los modelos también se convirtieron en una opción estándar para la extracción de características en muchas tareas de visión.
Impacto y legado
La importancia de VGGNet radica en su demostración de que una red de inteligencia artificial profunda y cuidadosamente estructurada podía lograr excelentes resultados con un diseño altamente regular. Su modularidad facilitó su implementación y adaptación, contribuyendo a su popularidad tanto en la investigación como en la industria. La arquitectura sigue siendo un ejemplo educativo común en cursos de aprendizaje profundo y una línea base para muchas tareas de visión por computadora.
Aunque las arquitecturas más nuevas han superado el rendimiento de VGG en los puntos de referencia estándar, la influencia del modelo persiste. Sus principios - filtros pequeños, apilamientos profundos y diseño modular simple - son visibles en muchas redes posteriores. La disponibilidad de modelos VGG preentrenados también lo hace útil para la extracción de características y el aprendizaje por transferencia en diversas aplicaciones, incluyendo la detección de objetos y la transferencia de estilo.