Convolutional Neural Networks/es

    From Marovi AI
    < Convolutional Neural Networks
    Revision as of 07:00, 24 April 2026 by DeployBot (talk | contribs) (Pass 2 force re-parse)
    Languages: English | Español | 中文
    Article
    Topic area Deep Learning
    Difficulty Intermediate
    Prerequisites Neural Networks, Backpropagation

    Las redes neuronales convolucionales (CNN o ConvNets) son una clase de redes neuronales profundas disenadas especificamente para procesar datos con una topologia de cuadricula, como imagenes (cuadriculas 2D de pixeles), espectrogramas de audio y video. Explotan la estructura espacial de la entrada mediante conectividad local, comparticion de pesos y agrupamiento (pooling), lo que las hace mucho mas eficientes que las redes completamente conectadas para tareas visuales y espaciales.

    La operacion de convolucion

    El bloque de construccion fundamental es la convolucion discreta. Para una entrada 2D $ \mathbf{X} $ y un filtro (kernel) $ \mathbf{K} $ de tamano $ k \times k $, el mapa de caracteristicas de salida $ \mathbf{Y} $ es:

    $ Y_{i,j} = \sum_{m=0}^{k-1}\sum_{n=0}^{k-1} K_{m,n} \cdot X_{i+m,\, j+n} + b $

    donde $ b $ es un termino de sesgo. El filtro se desliza (convoluciona) sobre la entrada, calculando un producto escalar en cada posicion. Tecnicamente, la mayoria de las implementaciones calculan una correlacion cruzada en lugar de una convolucion verdadera (que voltearía el kernel), pero la distincion es irrelevante dado que los pesos del kernel se aprenden.

    Hiperparametros clave que controlan la convolucion:

    • Tamano del kernel — la extension espacial del filtro (por ejemplo, $ 3 \times 3 $, $ 5 \times 5 $).
    • Paso (stride) — el tamano del desplazamiento entre posiciones sucesivas del kernel. Un stride de 2 reduce las dimensiones espaciales a la mitad.
    • Relleno (padding) — anadir ceros alrededor del borde de la entrada para controlar el tamano de la salida. El relleno "same" preserva las dimensiones espaciales; el relleno "valid" no utiliza relleno.

    Filtros y deteccion de caracteristicas

    Cada filtro aprende a detectar un patron local especifico. En las capas iniciales, los filtros tipicamente responden a bordes, esquinas y gradientes de color. Las capas mas profundas componen estos en caracteristicas de nivel superior — texturas, partes y eventualmente objetos completos.

    Una capa convolucional aplica multiples filtros en paralelo, produciendo una pila de mapas de caracteristicas. Si la entrada tiene $ C_{\text{in}} $ canales y la capa tiene $ C_{\text{out}} $ filtros, el numero total de parametros aprendibles es:

    $ C_{\text{out}} \times (C_{\text{in}} \times k^2 + 1) $

    Esto es drasticamente menor que una capa completamente conectada con las mismas dimensiones de entrada y salida, porque los pesos se comparten en todas las posiciones espaciales.

    Agrupamiento (pooling)

    Las capas de agrupamiento (pooling) submuestrean los mapas de caracteristicas, reduciendo sus dimensiones espaciales y proporcionando cierto grado de invariancia a la traslacion. Operaciones de agrupamiento comunes:

    • Max pooling — toma el valor maximo en cada ventana local (por ejemplo, $ 2 \times 2 $).
    • Average pooling — toma el valor medio en cada ventana.
    • Global average pooling — promedia cada mapa de caracteristicas completo a un unico valor, frecuentemente utilizado antes de la capa de clasificacion final.

    El agrupamiento reduce el coste computacional y ayuda a prevenir el sobreajuste al abstraer progresivamente la representacion.

    Arquitectura de una CNN

    Una CNN tipica alterna capas convolucionales y capas de agrupamiento, seguidas de una o mas capas completamente conectadas para la prediccion final:

    Entrada → [Conv → ReLU → Pool] × N → Aplanar → FC → FC → Salida
    

    Cada bloque conv-pool extrae caracteristicas cada vez mas abstractas, mientras que las capas completamente conectadas las combinan para la clasificacion o regresion.

    Arquitecturas historicas

    Arquitectura Ano Contribucion clave Profundidad
    LeNet-5 1998 Pionera de las CNN para el reconocimiento de digitos manuscritos (MNIST) 5 capas
    AlexNet 2012 Gano ImageNet; popularizo ReLU, dropout y entrenamiento en GPU 8 capas
    VGGNet 2014 Demostro que la profundidad importa; uso solo filtros de $ 3 \times 3 $ 16–19 capas
    GoogLeNet (Inception) 2014 Introdujo modulos inception con tamanos de filtro en paralelo 22 capas
    ResNet 2015 Introdujo conexiones residuales que permiten redes muy profundas 50–152+ capas
    DenseNet 2017 Conecto cada capa con todas las capas subsiguientes mediante bloques densos 121–264 capas
    EfficientNet 2019 Escalado compuesto de profundidad, anchura y resolucion Variable

    Conexiones residuales

    La conexion residual (o conexion de salto) introducida por ResNet suma la entrada de un bloque directamente a su salida:

    $ \mathbf{y} = \mathcal{F}(\mathbf{x}) + \mathbf{x} $

    Esto permite que los gradientes fluyan directamente a traves de la ruta identidad, mitigando el problema del gradiente que se desvanece y permitiendo el entrenamiento de redes con cientos de capas. Las conexiones residuales se han convertido en un componente estandar en practicamente todas las arquitecturas modernas.

    Aplicaciones en vision por computador

    Las CNN han alcanzado un rendimiento de vanguardia en una amplia gama de tareas de vision:

    • Clasificacion de imagenes — asignar una etiqueta a una imagen completa (ImageNet, CIFAR).
    • Deteccion de objetos — localizar y clasificar objetos dentro de una imagen (YOLO, Faster R-CNN, SSD).
    • Segmentacion semantica — asignar una etiqueta de clase a cada pixel (U-Net, DeepLab).
    • Segmentacion de instancias — distinguir instancias individuales de objetos (Mask R-CNN).
    • Generacion de imagenes — generar imagenes realistas utilizando generadores basados en CNN (GAN, modelos de difusion).
    • Imagen medica — deteccion de tumores, analisis de retina y cribado radiologico.

    Consejos practicos

    • Utilizar modelos preentrenados (transfer learning) cuando los datos etiquetados son limitados.
    • Preferir kernels pequenos ($ 3 \times 3 $) apilados en profundidad — dos capas de $ 3 \times 3 $ tienen el mismo campo receptivo que una capa de $ 5 \times 5 $ pero con menos parametros.
    • Aplicar batch normalization despues de la convolucion y antes de la activacion.
    • Utilizar el aumento de datos generosamente para reducir el sobreajuste.
    • Reemplazar las capas completamente conectadas con global average pooling para reducir parametros.

    Vease tambien

    Referencias

    • LeCun, Y. et al. (1998). "Gradient-Based Learning Applied to Document Recognition". Proceedings of the IEEE.
    • Krizhevsky, A., Sutskever, I. and Hinton, G. E. (2012). "ImageNet Classification with Deep Convolutional Neural Networks". NeurIPS.
    • Simonyan, K. and Zisserman, A. (2015). "Very Deep Convolutional Networks for Large-Scale Image Recognition". ICLR.
    • He, K. et al. (2016). "Deep Residual Learning for Image Recognition". CVPR.
    • Tan, M. and Le, Q. V. (2019). "EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks". ICML.