| AlexNet | ||
|---|---|---|
| Parte de red neuronal artificial y redes neuronales convolucionales | ||
|
| ||
| Información general | ||
| Tipo de programa | software | |
| Desarrollador | Alex Krizhevsky, Ilya Sutskever y Geoffrey Hinton | |
| Modelo de desarrollo | Código abierto | |
| Lanzamiento inicial | 30 de septiembre de 2012 | |
| Licencia | BSD de 2 cláusulas | |


AlexNet es una arquitectura de red neuronal convolucional desarrollada para tareas de clasificación de imágenes, que alcanzó gran prominencia gracias a su desempeño en el ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Clasifica las imágenes en 1000 categorías de objetos distintas y se considera la primera aplicación ampliamente reconocida de redes neuronales convolucionales profundas en el reconocimiento visual a gran escala.
Desarrollado en 2012 por Alex Krizhevsky en colaboración con Ilya Sutskever y su director de tesis doctoral, 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 factible gracias al uso 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 ganó el concurso con una tasa de error top-5 del 15,3 %, más de 10,8 puntos porcentuales por delante del segundo clasificado.
Esta arquitectura influyó en un gran número de trabajos posteriores en aprendizaje profundo, especialmente en la aplicación de redes neuronales a la visión artificial.
AlexNet contiene ocho capas: las primeras cinco son capas convolucionales, algunas de ellas seguidas de capas de agrupación máxima (max pooling), y las últimas tres son capas totalmente conectadas. La red, excepto la última capa, se divide en dos copias, cada una de las cuales se ejecuta en una GPU, porque la red no cabía en la VRAM de una sola GPU Nvidia GTX 580 de 3 GB.: sec. 3.2 La estructura completa se puede escribir como:
(CONV → RN → MP)2 → (CONV3 → MP) → (FC → DO)2 → Lineal → softmax
donde:
Cabe destacar que las capas convolucionales 3, 4 y 5 estaban conectadas entre sí sin ningún tipo de agrupación ni normalización. Utilizaba la función de activación no saturante ReLU, que se entrenaba mejor que tanh y la sigmoide.
El conjunto de datos de entrenamiento de ImageNet contenía 1,2 millones de imágenes. El modelo se entrenó durante 90 épocas a lo largo de un período de cinco a seis días utilizando dos GPU Nvidia GTX 580 (de 3 GB cada una).: sec. 5 Estas GPU tenían un rendimiento teórico de 1,581 TFLOPS en float32 y su precio de lanzamiento fue de 500 dólares estadounidenses. Cada pasada hacia adelante de AlexNet requería aproximadamente 1,43 GFLOP. Según estos valores, las dos GPU juntas eran teóricamente capaces de realizar más de 2200 pasadas hacia adelante por segundo en condiciones ideales.
Las imágenes del conjunto de datos se almacenaron en formato JPEG y ocupaban 27 GB de disco duro. La red neuronal consumió 2 GB de RAM en cada GPU y alrededor de 5 GB de RAM del sistema durante el entrenamiento. Las GPU se encargaban del entrenamiento, mientras que las CPU se encargaban de cargar las imágenes desde el disco y de aplicarles el aumento de datos.
AlexNet se entrenó mediante descenso de gradiente estocástico, con un tamaño de lote de 128 ejemplos, un momento de 0,9 y un decaimiento de pesos (weight decay) de 0,0005. La tasa de aprendizaje comenzó en 10−2 y se dividía manualmente por 10 cada vez que el error de validación parecía dejar de disminuir. Se redujo tres veces durante el entrenamiento, hasta terminar en 10−5.: sec. 5
Utilizaba dos formas de aumento de datos, ambas calculadas sobre la marcha en la CPU y, por lo tanto, «sin coste computacional»:: sec. 4.1
Se eligió la resolución de 224×224 porque 256 − 16 − 16 = 224, lo que significa que, dada una imagen de 256×256, al recortar un marco de 16 píxeles de ancho en sus cuatro lados se obtiene una imagen de 224×224.
Se utilizó normalización de respuesta local y regularización por abandono con una probabilidad de abandono de 0,5.: secs. 3.3 y 4.2
Todos los pesos se inicializaron como gaussianas con media 0 y desviación estándar 0,01. Los sesgos de las capas convolucionales 2, 4 y 5 y de todas las capas totalmente conectadas se inicializaron con un valor constante de 1 para evitar el problema de las ReLU «muertas» (dying ReLU).: sec. 5
En el momento de la prueba, para utilizar una red AlexNet entrenada con el fin de predecir la clase de una imagen, primero se escala esa imagen de manera que su lado más corto tenga una longitud de 256 píxeles. Luego se recorta la sección central de 256×256 píxeles. A continuación, se extraen cinco parches de 224×224 (los cuatro de las esquinas y el central), así como sus reflejos horizontales: diez parches en total. Se promedian las probabilidades predichas por la red en los diez parches, y ese promedio es la probabilidad predicha final.: sec. 4.1
La versión que utilizaron para participar en la competición ImageNet de 2012 fue un conjunto de siete redes AlexNet.: sec. 6
En concreto, entrenaron cinco redes AlexNet con la arquitectura descrita anteriormente (con cinco capas CONV) en el conjunto de datos de entrenamiento ILSVRC-2012 (1,2 millones de imágenes). También entrenaron dos variantes de AlexNet, obtenidas al añadir una capa CONV adicional sobre la última capa de agrupación. Estos modelos se entrenaron primero con la versión completa de ImageNet Fall 2011 (15 millones de imágenes en 22 000 categorías) y luego se ajustaron con el conjunto de datos de entrenamiento ILSVRC-2012. En el sistema final, se promediaban las probabilidades predichas por las siete AlexNet.: sec. 6

En 1980, Kunihiko Fukushima propuso una de las primeras CNN, denominada neocognitrón, que se entrenaba mediante un algoritmo de aprendizaje no supervisado. LeNet-5 (Yann LeCun et al., 1989) se entrenó mediante aprendizaje supervisado con el algoritmo de retropropagación y tenía una arquitectura que es esencialmente la misma que la de AlexNet, a pequeña escala.
La agrupación máxima se utilizó en 1990 para el procesamiento del habla (en esencia, una CNN unidimensional) y, en el procesamiento de imágenes, se utilizó por primera vez en el Cresceptron, de 1992.
Durante la década de 2000, a medida que mejoraba el hardware de las GPU, algunos investigadores las adaptaron para la computación de propósito general, incluido el entrenamiento de redes neuronales. K. Chellapilla et al. (2006) entrenaron una CNN en GPU que era cuatro 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 respecto a las CPU. Una CNN profunda de Dan Cireșan et al. (2011), del 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 concursos de imágenes y alcanzó el estado del arte en 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.
Durante el período 1990-2010, las redes neuronales no fueron mejores que otros métodos de aprendizaje automático, como la regresión de kernel, las máquinas de vectores de soporte, AdaBoost o la estimación estructurada, entre otros. En el ámbito de la visión artificial en particular, gran parte del progreso provino de la ingeniería manual de características, como las características SIFT, SURF y HoG, las bolsas de palabras visuales, etc. La idea de que las características podían aprenderse directamente de los datos era una postura minoritaria en visión artificial, que pasó a ser dominante después de AlexNet.
En 2011, Geoffrey Hinton comenzó a contactar con sus colegas para preguntarles: «¿Qué tengo que hacer para convenceros de que las redes neuronales son el futuro?». Jitendra Malik, un escéptico de las redes neuronales, le recomendó el desafío PASCAL Visual Object Classes. Hinton respondió que su conjunto de datos era demasiado pequeño, por lo que Malik le recomendó el desafío ImageNet.
El conjunto de datos ImageNet, que resultó fundamental para el éxito de AlexNet, fue creado por Fei-Fei Li y sus colaboradores a partir de 2007. Con el objetivo de mejorar el reconocimiento visual mediante datos a gran escala, Li creó un conjunto de datos mucho mayor que los anteriores, que llegó a contener más de 14 millones de imágenes etiquetadas en 22 000 categorías. Las imágenes se etiquetaron mediante Amazon Mechanical Turk y se organizaron según la jerarquía de WordNet. Recibido inicialmente con escepticismo, ImageNet se convirtió más tarde en la base del ImageNet Large Scale Visual Recognition Challenge (ILSVRC) y en un recurso clave en el auge del aprendizaje profundo.
Sutskever y Krizhevsky eran ambos estudiantes de posgrado. Antes de 2011, Krizhevsky ya había escrito cuda-convnet para entrenar pequeñas redes neuronales convolucionales (CNN) en CIFAR-10 con una sola GPU. Sutskever convenció a Krizhevsky, que dominaba la GPGPU, para que entrenara una CNN en ImageNet, con Hinton como investigador principal. Así pues, Krizhevsky amplió cuda-convnet para el entrenamiento con múltiples GPU. AlexNet se entrenó en dos tarjetas gráficas Nvidia GTX 580 en la habitación de Krizhevsky, en casa de sus padres. Durante 2012, Krizhevsky optimizó los hiperparámetros de la red hasta que esta ganó la competición ImageNet ese mismo año. Hinton comentó: «Ilya pensó que debíamos hacerlo, Alex lo hizo funcionar y yo gané el Premio Nobel». En la Conferencia Europea de Visión por Computador (ECCV) de 2012, tras la victoria de AlexNet, el investigador Yann LeCun describió el modelo como «un punto de inflexión inequívoco en la historia de la visión artificial».
El éxito de AlexNet en 2012 fue posible gracias a la convergencia de tres avances que habían madurado durante la década anterior: los conjuntos de datos etiquetados a gran escala, la computación de propósito general en GPU y la mejora de los métodos de entrenamiento de redes neuronales profundas. La disponibilidad de ImageNet proporcionó los datos necesarios para entrenar modelos profundos en una amplia gama de categorías de objetos. Los avances en la programación de GPU a través de la plataforma CUDA de Nvidia hicieron viable el entrenamiento de modelos de gran tamaño. Junto con las mejoras algorítmicas, estos factores permitieron a AlexNet alcanzar un alto rendimiento en pruebas comparativas de reconocimiento visual a gran escala. Al reflexionar sobre su importancia más de una década después, Fei-Fei Li declaró en una entrevista de 2024: «Ese momento fue bastante simbólico para el mundo de la IA, porque tres elementos fundamentales de la IA moderna convergieron por primera vez».
Si bien AlexNet y LeNet comparten esencialmente el mismo diseño y algoritmo, AlexNet es mucho más grande que LeNet y se entrenó con un conjunto de datos mucho mayor en un hardware mucho más rápido. A lo largo de un período de 20 años, tanto los datos como la capacidad de cómputo se volvieron accesibles a bajo coste.
AlexNet ha ejercido una gran influencia y ha dado lugar a numerosos trabajos posteriores sobre el uso de redes neuronales convolucionales en visión artificial y sobre la utilización de GPU para acelerar el aprendizaje profundo. A principios de 2025, el artículo sobre AlexNet había sido citado más de 198 000 veces, según Google Scholar.
En el momento de su publicación, no existía ningún marco de trabajo disponible para el entrenamiento y la inferencia de redes neuronales en GPU. El código fuente de AlexNet se publicó bajo una licencia BSD y se utilizó habitualmente en la investigación sobre redes neuronales durante varios años.
Poco después, Geoffrey Hinton, Ilya Sutskever y Alex Krizhevsky fundaron DNNResearch y vendieron la empresa —junto con el código fuente de AlexNet— a Google. Si bien ha habido mejoras y reimplementaciones de AlexNet, la versión original de 2012 —la que ganó el concurso ImageNet— se ha publicado bajo la licencia BSD-2 a través del Computer History Museum.