Definición y funcionamiento de aprendizaje profundo
¿Te está gustando el curso?
Regístrate gratis para guardar tu progreso y obtener tu certificado al finalizar
5.1 Definición y funcionamiento de aprendizaje profundo
El aprendizaje profundo (deep learning) es una rama especializada del machine learning basada en estructuras llamadas redes neuronales artificiales. Mientras que el machine learning clásico requiere con frecuencia ingeniería manual de características para transformar datos crudos en variables significativas, el aprendizaje profundo aprende automáticamente tanto las características como los patrones que las relacionan con los resultados. Esta capacidad para aprender representaciones jerárquicas de datos es lo que distingue fundamentalmente al aprendizaje profundo y lo hace extraordinariamente poderoso para problemas complejos.
Orígenes biológicos del concepto de red neuronal
Las redes neuronales artificiales están inspiradas en el cerebro humano, aunque la similitud debe interpretarse con cautela. El cerebro contiene aproximadamente 86 mil millones de neuronas, cada una conectada con miles de otras. Una neurona biológica recibe señales de otras neuronas, las integra, y si el estímulo total supera un umbral, dispara una señal hacia otras neuronas. Esta es una simplificación extrema de un proceso biológico mucho más complejo, pero captura la esencia computacional.
Una neurona artificial realiza una operación matemática análoga: recibe múltiples entradas ponderadas, suma ponderada sus valores, aplica una función de activación (una función no lineal), y produce una salida que se transmite a otras neuronas. Los pesos son parámetros que se ajustan durante el entrenamiento. La función de activación, frecuentemente ReLU (Rectified Linear Unit) u otras funciones no lineales, introduce capacidad para aprender relaciones complejas no lineales.
Estructura de redes neuronales profundas
Una red neuronal simple consiste en capas de neuronas. Una capa de entrada recibe datos crudos. Una capa de salida produce predicciones. Entre ellas hay capas ocultas. En una red poco profunda (shallow), hay pocas capas ocultas. En una red profunda (deep), hay muchas capas. La profundidad es lo que da nombre al aprendizaje profundo. AlexNet, una red neuronal que revolucionó visión por computadora en 2012, tenía 8 capas. Las redes modernas frecuentemente tienen 50, 100, o incluso más capas.
Cada capa realiza una transformación matemática sobre sus entradas. Las primeras capas aprenden características simples: en visión, bordes y texturas. Capas intermedias combinan estas características simples en características más complejas: esquinas, formas. Capas profundas aprenden conceptos de alto nivel: ojos, rostros, objetos. Esta jerarquía automática de características es lo que permite redes profundas aprender de datos crudos sin ingeniería manual de características.
Propagación hacia atrás y entrenamiento
El algoritmo fundamental para entrenar redes neuronales es la propagación hacia atrás (backpropagation), desarrollado en los años ochenta. Funciona en dos fases. En la propagación hacia adelante (forward pass), datos fluyen a través de la red desde entrada a salida, produciendo predicciones. Se calcula el error comparando predicciones con valores reales.
En la propagación hacia atrás (backward pass), se calcula cómo cada parámetro en la red contribuyó al error total. Utilizando la regla de la cadena del cálculo, se propagan gradientes del error desde la capa de salida hacia atrás a través de capas intermedias hasta la capa de entrada. Cada parámetro se ajusta según su gradiente. Este proceso se repite miles o millones de veces sobre diferentes lotes de datos hasta convergencia.
La propagación hacia atrás es computacionalmente intensiva. Para una red con millones de parámetros procesando millones de datos, requiere capacidad computacional masiva. Esto es por qué el aprendizaje profundo moderno depende fundamentalmente de unidades de procesamiento gráfico (GPUs), que pueden paralelizar estos cálculos mucho más eficientemente que procesadores convencionales.
Variantes arquitectónicas de redes neuronales
Aunque todas las redes neuronales profundas siguen principios similares, existen arquitecturas especializadas para diferentes tipos de datos. Las redes neuronales convolucionales (CNN, Convolutional Neural Networks) son particularmente efectivas para imágenes. Utilizan capas convolucionales que aplican filtros que resaltan características locales mientras mantienen información espacial. Esto reduce dramáticamente el número de parámetros necesarios comparado con conectar completamente todas las neuronas.
Las redes neuronales recurrentes (RNN, Recurrent Neural Networks) están diseñadas para datos secuenciales como series temporales o texto. Tienen conexiones que realimentan información de pasos anteriores, permitiendo la red mantener memoria de contexto anterior. Las variantes modernas incluyen Long Short-Term Memory (LSTM) y Gated Recurrent Units (GRU), que mitiguen el problema de desvanecimiento de gradientes en secuencias largas.
Los Transformers, arquitectura introducida en 2017, revolucionaron el procesamiento de lenguaje natural. Utilizan mecanismo de atención (attention) que permite la red enfocarse selectivamente en diferentes partes de la entrada. Los Transformers pueden procesarse paralelamente (a diferencia de RNNs) y escalan a secuencias muy largas. Modelos de lenguaje grande como GPT y Claude están basados en arquitectura Transformer.
Funciones de activación y no linealidad
Sin funciones de activación, una red neuronal sería matemáticamente equivalente a una única transformación lineal: apilación de operaciones lineales resulta en una operación lineal. Las funciones de activación introducen no linealidad, permitiendo redes representar funciones arbitrariamente complejas. ReLU (max(0, x)) es la función de activación más común en redes modernas por su simplicidad computacional y efectividad empírica. Otras funciones como Sigmoid, Tanh, o GELU se utilizan en contextos específicos.
La elección de función de activación afecta entrenamiento y desempeño. ReLU es rápida de computar pero puede sufrir el problema de "ReLU muriendo" donde neuronas devuelven constantemente cero. Funciones como Leaky ReLU o ELU mitigan este problema. En capas de salida, la función de activación se elige según la tarea: Softmax para clasificación multiclase, Sigmoid para binaria, lineal para regresión.
Sobreajuste en redes profundas
Las redes profundas con millones de parámetros tienen capacidad extraordinaria para memorizar datos. Con suficientes capas y parámetros, una red puede aprender perfectamente los datos de entrenamiento sin capturar patrones generalizables. Combatir sobreajuste es central en aprendizaje profundo. Además de regularización L1/L2, se utiliza dropout: durante entrenamiento, neuronas se desactivan aleatoriamente, forzando la red aprender representaciones redundantes. Se utiliza batch normalization para estandarizar activaciones entre capas, mejorando estabilidad y velocidad de entrenamiento.
Los datos de entrenamiento también se aumentan (augmentation): imágenes se rotan, recortan o transforman ligeramente, multiplicando efectivamente la cantidad de datos único de entrenamiento. Validación cruzada y detención temprana monitorean sobreajuste y detienen entrenamiento oportunamente.
Ideas clave
- El aprendizaje profundo utiliza redes neuronales con múltiples capas para aprender jerárquicamente características complejas de datos crudos.
- La propagación hacia atrás es el algoritmo fundamental que calcula gradientes para todos los parámetros, permitiendo optimización eficiente.
- Arquitecturas especializadas como CNNs para imágenes, RNNs para secuencias, y Transformers para lenguaje capturan estructura específica de datos.
- Funciones de activación no lineales como ReLU permiten redes aprender funciones complejas; su selección afecta entrenamiento y desempeño.
- El aprendizaje profundo requiere sobreajuste combativo mediante dropout, regularización, aumento de datos, y validación cuidadosa.
- El entrenamiento de redes profundas es computacionalmente intensivo, dependiendo fundamentalmente de GPUs para paralelizar cálculos de propagación hacia atrás.