ReLU, Sigmoide y Tanh en redes convolucionales

Resumen

Las funciones de activación son el puente que decide qué información pasa y qué se descarta dentro de una red neuronal convolucional. Si trabajas con imágenes médicas, como radiografías para detectar neumonía, entender cómo funcionan ReLU, Sigmoide y Tangente hiperbólica te ayuda a tomar mejores decisiones al diseñar tu modelo en PyTorch.

¿Qué hace una función de activación después de una convolución?

Después de que una capa convolucional procesa la imagen original, el resultado pasa por una capa de activación. Ahí ocurre algo clave: se introduce no linealidad entre la variable de entrada y la salida.

¿Y por qué importa eso? Porque una relación lineal sería tan simple como f(x) = x, y las imágenes del mundo real, como una radiografía, contienen patrones mucho más complejos. La no linealidad permite que la red detecte características sutiles que de otra forma pasarían desapercibidas.

¿Qué es una función de activación en redes neuronales? Es una operación matemática no lineal que se aplica al resultado de una capa convolucional para decidir qué información se propaga hacia adelante y resaltar características relevantes en la imagen.

¿Cómo se comportan ReLU, Sigmoide y Tangente hiperbólica?

Cada función tiene una lógica distinta para transformar los valores numéricos de la matriz que representa la imagen, donde cada número refleja la intensidad del color tras la convolución [1:30].

  • ReLU: si el valor es menor a cero, lo convierte en cero. Si es positivo, lo deja igual. Por ejemplo, -4 pasa a 0, y 5 se mantiene como 5.
  • Sigmoide: transforma los valores en un rango acotado, manteniendo una salida muy parecida a la imagen original.
  • Tangente hiperbólica: produce valores normalizados entre -1 y 1, con un crecimiento un poco mayor que Sigmoide.

¿Cómo se visualiza el efecto de cada función?

En el ejemplo práctico se cargaron tres imágenes: un gradiente, la letra P del logo de Platzi y una imagen subida por el usuario [3:25].

  • En el gradiente, ReLU oscurece la escala y activa zonas específicas.
  • La Sigmoide se mantiene muy similar a la imagen original.
  • La tangente hiperbólica crece un poco más en intensidad.
  • En la letra P no se observa variación.
  • En la imagen a color del usuario se nota mejor el contraste entre las tres funciones.

Este contraste visual te ayuda a entender qué función conserva más detalle y cuál transforma la entrada con mayor agresividad.

¿Cómo implementar funciones de activación en PyTorch?

La implementación es directa. Desde el módulo funcional de PyTorch puedes invocar cualquiera de las tres funciones con una sola línea [2:45].

python import torch.nn.functional as F

ReLU

salida_relu = F.relu(entrada)

Sigmoide

salida_sigmoid = F.sigmoid(entrada)

Tangente hiperbólica

salida_tanh = F.tanh(entrada)

Un detalle útil: en Google Colab puedes elegir el dispositivo de ejecución entre GPU y CPU [2:15]. Esta selección automática optimiza el uso de memoria, algo importante cuando las imágenes son de alta resolución.

¿Cuándo usar GPU en lugar de CPU en PyTorch? Usa GPU cuando proceses imágenes grandes o entrenes modelos con muchas operaciones convolucionales. La CPU funciona bien para pruebas rápidas y notebooks ligeros.

¿Cuándo conviene usar cada función de activación?

La elección depende del momento de la red en el que la coloques y del tipo de salida que esperas.

  • ReLU: úsala como primera opción cuando tengas dudas. Es práctica, rápida en tiempos de ejecución y suele ir justo después de una capa convolucional.
  • Sigmoide: ideal como última capa cuando necesitas tomar decisiones binarias, por ejemplo, neumonía sí o no.
  • Tangente hiperbólica: recomendada cuando trabajas con valores normalizados entre -1 y 1.

¿Qué función de activación uso si no sé cuál elegir? Empieza con ReLU después de tus capas convolucionales. Si tu salida final requiere una probabilidad o una decisión binaria, cierra con Sigmoide.

La mejor práctica es probar distintas funciones y comparar resultados según tu caso de uso. Lo que funciona en una radiografía puede no ser óptimo en una fotografía a color.

¿Por qué la resolución de las imágenes complica los cálculos?

Tanto las radiografías como las fotos de tu celular tienen una alta cantidad de píxeles. Cuando una red neuronal procesa estas imágenes, debe realizar muchísimas operaciones, lo que se vuelve costoso en tiempo y memoria [4:50].

Para reducir esa complejidad existen estrategias como el pooling, que permite resumir la información sin perder lo esencial. ¿Has probado combinar ReLU con pooling en tus propios modelos? Cuéntame qué resultados has obtenido.