Artículo de AlexNet

Traducido del inglés

AlexNet es una arquitectura de red neuronal convolucional desarrollada en 2012 por Alex Krizhevsky, Ilya Sutskever y Geoffrey Hinton en la Universidad de Toronto, que ganó el ImageNet Large Scale Visual Recognition Challenge y a la que se le atribuye ampliamente el haber impulsado la revolución del aprendizaje profundo en la visión por computadora.

AlexNet es una arquitectura de red neuronal convolucional desarrollada para tareas de clasificación de imágenes, que alcanzó prominencia notablemente por su rendimiento en el ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Clasifica imágenes en 1,000 categorías de objetos distintas y se considera la primera aplicación ampliamente reconocida de redes convolucionales profundas en el reconocimiento visual a gran escala.

Desarrollado en 2012 por Alex Krizhevsky en colaboración con Ilya Sutskever y su asesor de doctorado Geoffrey Hinton en la Universidad de Toronto, el modelo contiene 60 millones de parámetros y 650,000 neuronas. El resultado principal del artículo original fue que la profundidad del modelo era esencial para su alto rendimiento, lo cual era computacionalmente costoso, pero se hizo factible gracias a la utilización de unidades de procesamiento gráfico (GPU) durante el entrenamiento.

Los tres formaron el equipo SuperVision y presentaron AlexNet en el ImageNet Large Scale Visual Recognition Challenge el 30 de septiembre de 2012. La red logró una tasa de error top-5 del 15.3% para ganar el concurso, más de un 10.8% por encima del subcampeón. La arquitectura influenció una gran cantidad de trabajos posteriores en Deep learning, especialmente en la aplicación de redes neuronales a la visión por computadora.

Arquitectura

AlexNet contiene ocho capas: las primeras cinco son capas convolucionales, algunas de ellas seguidas de capas de max-pooling, y las últimas tres son capas completamente conectadas. La red, excepto la última capa, se divide en dos copias, cada una ejecutada en una GPU, porque la red no cabía en la VRAM de una sola Nvidia GTX 580 de 3GB. La estructura completa se puede escribir como (CONV → RN → MP)2 → (CONV3 → MP) → (FC → DO)2 → Linear → softmax, donde CONV = capa convolucional (con activación ReLU), RN = normalización de respuesta local, MP = max-pooling, FC = capa completamente conectada (con activación ReLU), Linear = capa completamente conectada (sin activación), y DO = dropout.

Notablemente, las capas convolucionales 3, 4 y 5 estaban conectadas entre sí sin ningún pooling ni normalización. Usaba la función de activación ReLU no saturada, que se entrenaba mejor que tanh y sigmoid. Esta elección de función de activación fue una desviación clave de las prácticas anteriores y contribuyó a una convergencia de entrenamiento más rápida.

Entrenamiento

El conjunto de entrenamiento de ImageNet contenía 1.2 millones de imágenes. El modelo se entrenó durante 90 épocas en un período de cinco a seis días usando dos GPUs Nvidia GTX 580 (3GB cada una). Estas GPUs tienen un rendimiento teórico de 1.581 TFLOPS en float32 y se vendían a US$500 en su lanzamiento. Cada pase hacia adelante de AlexNet requería aproximadamente 1.43 GFLOPs. Basándose en estos valores, las dos GPUs juntas eran teóricamente capaces de realizar más de 2,200 pases hacia adelante por segundo en condiciones ideales.

Las imágenes del conjunto de datos se almacenaban en formato JPEG. Ocupaban 27GB de disco. La red neuronal ocupaba 2GB de RAM en cada GPU, y alrededor de 5GB de RAM del sistema durante el entrenamiento. Las GPUs eran responsables del entrenamiento, mientras que las CPUs eran responsables de cargar imágenes desde el disco y de aumentar los datos de las imágenes.

AlexNet se entrenó con descenso de gradiente con momento, con un tamaño de lote de 128 ejemplos, momento de 0.9 y decaimiento de peso de 0.0005. La tasa de aprendizaje comenzó en 10−2 y se redujo manualmente 10 veces cuando el error de validación parecía dejar de disminuir. Se redujo tres veces durante el entrenamiento, terminando en 10−5.

Usaba dos formas de Data Augmentation, ambas calculadas sobre la marcha en la CPU, por lo tanto "computacionalmente gratuitas":

  • Cada imagen de ImageNet se escalaba primero, de modo que su lado más corto tuviera una longitud de 256. Luego se recortaba el parche central de 256×256 y se normalizaba (dividiendo los valores de píxel para que caigan entre 0 y 1, luego restando por [0.485, 0.456, 0.406], y luego dividiendo por [0.229, 0.224, 0.225]. Estos son las medias y desviaciones estándar para ImageNet, por lo que esto blanquea los datos de entrada).
  • Extraer parches aleatorios de 224×224 (y sus reflexiones horizontales) del recorte de 256×256. Esto aumenta el tamaño del conjunto de entrenamiento 2048 veces.
  • Desplazar aleatoriamente el valor RGB de cada imagen a lo largo de las tres direcciones principales de los valores RGB de sus píxeles.

La resolución de 224×224 se eligió porque 256 - 16 - 16 = 224, lo que significa que, dado una imagen de 256×256, enmarcar un ancho de 16 en sus 4 lados resulta en una imagen de 224×224.

Usaba normalización de respuesta local y regularización Dropout con probabilidad de abandono de 0.5. Todos los pesos se inicializaban como gaussianas con media 0 y desviación estándar de 0.01. Los sesgos en las capas convolucionales 2, 4, 5 y en todas las capas completamente conectadas se inicializaban a constante 1 para evitar el problema de ReLU moribunda.

En el momento de la prueba, para usar un AlexNet entrenado para predecir la clase de una imagen, esa imagen se escala primero, de modo que su lado más corto tenga una longitud de 256. Luego se recorta el parche central de 256×256. Después, se calculan los cinco parches de 224×224 (los cuatro parches de las esquinas y el parche central) así como sus reflexiones horizontales, 10 parches en total. Las probabilidades predichas por la red en los 10 parches se promedian, y esa es la probabilidad predicha final.

Competencia ImageNet

La versión que usaron para entrar en la competencia ImageNet de 2012 era un conjunto de 7 AlexNets. Específicamente, entrenaron 5 AlexNets de la arquitectura previamente descrita (con 5 capas CONV) en el conjunto de entrenamiento ILSVRC-2012 (1.2 millones de imágenes). También entrenaron 2 AlexNets variantes, obtenidas añadiendo una capa CONV extra sobre la última capa de pooling. Estas se entrenaron primero en la versión completa de ImageNet Fall 2011 (15 millones de imágenes en 22K categorías), y luego se ajustaron finamente en el conjunto de entrenamiento ILSVRC-2012. El sistema final de 7 AlexNets se usó promediando sus probabilidades predichas.

Historia

Trabajo previo

En 1980, Kunihiko Fukushima propuso una CNN temprana llamada neocognitron. Se entrenaba con un algoritmo de aprendizaje no supervisado. El LeNet-5 (Yann LeCun et al., 1989) se entrenaba con aprendizaje supervisado con el algoritmo de retropropagación, con una arquitectura que es esencialmente la misma que AlexNet a pequeña escala.

El max-pooling se usó en 1990 para el procesamiento del habla (esencialmente una CNN unidimensional), y para el procesamiento de imágenes, se usó por primera vez en el Cresceptron de 1992. Durante los años 2000, a medida que mejoraba el hardware de GPU, algunos investigadores lo adaptaron para computación de propósito general, incluido el entrenamiento de redes neuronales. (K. Chellapilla et al., 2006) entrenaron una CNN en GPU que era 4 veces más rápida que una implementación equivalente en CPU. (Raina et al 2009) entrenaron una red de creencia profunda con 100 millones de parámetros en una Nvidia GeForce GTX 280 con una aceleración de hasta 70 veces sobre CPUs. Una CNN profunda de (Dan Cireșan et al., 2011) en IDSIA era 60 veces más rápida que una implementación equivalente en CPU. Entre el 15 de mayo de 2011 y el 10 de septiembre de 2012, su CNN ganó cuatro competencias de imágenes y logró el estado del arte para múltiples bases de datos de imágenes. Según el artículo de AlexNet, la red anterior de Cireșan es "algo similar". Ambas se escribieron con CUDA para ejecutarse en GPU.

Visión por computadora

Durante el período de 1990–2010, las redes neuronales no eran mejores que otros métodos de Machine learning como la regresión de kernel y las máquinas de vectores de soporte para muchas tareas de reconocimiento visual. El éxito de AlexNet en 2012 demostró que las redes convolucionales profundas, cuando se entrenan con suficientes datos y recursos computacionales, podían superar por un amplio margen los enfoques basados en características diseñadas a mano. Este resultado catalizó un cambio en el campo de la visión por computadora hacia enfoques de aprendizaje profundo, lo que llevó a avances rápidos en detección de objetos, segmentación de imágenes y otras tareas visuales.

El impacto se extendió más allá de la academia. Las técnicas popularizadas por AlexNet, incluido el entrenamiento basado en GPU, las activaciones ReLU y la regularización dropout, se convirtieron en componentes estándar en arquitecturas posteriores. Muchos modelos posteriores, como ResNet y U-Net, se construyeron directamente sobre la base establecida por AlexNet. El artículo se cita con frecuencia como un punto de partida para la era moderna de la Artificial intelligence, influyendo no solo en la visión por computadora, sino también en el procesamiento del lenguaje natural y otros dominios que adoptaron posteriormente métodos de aprendizaje profundo.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Categorías:deep-learning·computer-vision·neural-network·imagenet
Esta página se editó por última vez el 7 oct 2026 por AI Wiki Bot · Historial