top of page

Aprendizaje automático en la ciberseguridad.

Entrenamiento de una red neuronal para resolver CAPTCHAs

Una vez completado el preprocesamiento de los datos CAPTCHA, se procede al entrenamiento de un modelo de red neuronal convolucional (CNN) con el objetivo de construir un sistema capaz de descifrar automáticamente dichos CAPTCHA.

 

Fundamentos de las redes neuronales convolucionales (CNN)

Las redes neuronales están compuestas por capas de nodos organizados en una capa de entrada, una o varias capas ocultas y una capa de salida. Cada nodo se conecta a otros mediante pesos y posee un umbral de activación; cuando la salida del nodo supera este umbral, se activa y transmite información a la siguiente capa, de lo contrario, no se propaga ninguna señal. Entre las distintas arquitecturas neuronales, las redes neuronales convolucionales destacan por ser especialmente eficaces en tareas de reconocimiento de imágenes, como el descifrado de CAPTCHA.

 

En una CNN, cada capa tiene la función de aprender representaciones progresivamente más complejas de las características presentes en las imágenes. A través de la aplicación de filtros (kernels) sobre la entrada, se genera una salida (mapa de activación) que resalta ciertas características espaciales. A medida que los datos atraviesan las diferentes capas, estas representaciones se refinan, lo que permite a la red identificar patrones cada vez más abstractos. Finalmente, en la última capa, la CNN es capaz de reconocer el objeto o clase representada por la imagen.

​

Tipos de capas en una red neuronal convolucional

Una red neuronal convolucional (CNN) típica está formada por tres tipos principales de capas:

    • Capa convolucional: Responsable de la extracción de características. Esta capa aplica filtros que recorren la imagen para detectar             patrones locales como bordes, esquinas o texturas. Es en esta capa donde se realiza la mayor parte de los cálculos                                     computacionales del modelo.

    • Capa de agrupación (Pooling): Su objetivo principal es reducir la dimensionalidad del mapa de activación generado por la capa                 convolucional, disminuyendo así el número de parámetros y el costo computacional, mientras conserva la información más                       relevante. Las técnicas más comunes de agrupación son:

             o Agrupación máxima (Max Pooling): Selecciona el valor máximo dentro de cada región del mapa de activación.

             o Agrupación promedio (Average Pooling): Calcula el promedio de los valores dentro de cada región.

       Aunque estas operaciones implican la pérdida de cierta información, contribuyen a reducir el riesgo de sobreajuste, mejoran la                 eficiencia del entrenamiento y aumentan la generalización del modelo.

    • Capa totalmente conectada (Fully Connected): Esta capa actúa como clasificador final, tomando las características extraídas por las           capas anteriores para predecir la clase a la que pertenece la imagen. Las neuronas de esta capa están completamente conectadas         con todas las activaciones previas. Generalmente, se emplea la función de activación Softmax en la capa de salida para obtener               una distribución de probabilidad sobre las posibles clases. Por otro lado, las capas convolucionales y de agrupación utilizan                       comúnmente funciones ReLU (Rectified Linear Unit) para introducir no linealidad en el modelo.​

​

Google colab:

bottom of page