¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Qué hacen las capas de una red neuronal

Después de esta lección: Puedo describir qué hace cada capa de una red neuronal.

Lección de 50 min2 comandosLaboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

Una red neuronal es una pila de capas

Una red neuronal es un programa hecho de capas de neuronas que transforman números paso a paso. Entender sus capas te permite leer cómo decide una red, desde un filtro de fotos hasta un traductor.

Hoy usas un caso pequeño: una red que mira la temperatura y la lluvia de un día y dice si habrá muchos alquileres de bicis.

Al final de esta lección

Nota

Puedo describir qué hace cada capa de una red neuronal.

Palabras clave

PalabraQué significaEjemplo
Neuronauna pieza que suma sus entradas por sus pesos y da un número
Capaun grupo de neuronas que reciben las mismas entradas
Pesocuánto cuenta una entrada en la suma
Sesgoun número fijo que se suma siempre (bias en inglés)
Función de activaciónla regla que decide qué número sale de una neuronarelu
Capa ocultauna capa entre las entradas y la respuesta

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Una red tiene entrada, capas ocultas y salida

La capa de entrada guarda los datos del día: aquí la temperatura y la lluvia. No calcula nada.

Cada capa oculta tiene neuronas. Una neurona multiplica cada entrada por su peso, suma todo y añade el sesgo. La capa de salida da la respuesta de la red.

Los pesos y los sesgos son lo que la red aprende.

Ejemplo resuelto: contar una red pequeña

CapaNeuronasPesos que recibeSesgos
Entrada200
Oculta32 × 3 = 63
Salida13 × 1 = 31
Total694

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Una función de activación decide qué número sale

Una neurona suma sus entradas y obtiene un total. Después le aplica una función de activación, una regla que cambia ese total antes de pasarlo a la capa siguiente.

La más usada se llama ReLU. Si el total es positivo, lo deja igual. Si es cero o negativo, da 0.

Ejemplo resuelto: ReLU con cinco totales

TotalSale de la neuronaPor qué
-20Es negativo
-10Es negativo
00No es positivo
33Es positivo, queda igual
55Es positivo, queda igual

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Prueba ReLU con tus totales

Código: python
# Una función de activación que deja pasar solo lo positivo.
def relu(x):
    if x > 0:
        return x
    return 0

totales = [-2, -1, 0, 3, 5]
for total in totales:
    print(total, "pasa a", relu(total))
# Cambia la lista totales por tus propios números y ejecuta otra vez.

Sin activación, dos capas valen una

Imagina dos capas que solo multiplican. La primera multiplica por 2 y la segunda por 3. Juntas multiplican por 6, igual que una sola capa.

Por eso las capas necesitan una función de activación: sin ella, apilar capas no añade nada.

Ejemplo resuelto: dos capas sin activación

EntradaTras la capa 1 (× 2)Tras la capa 2 (× 3)Una sola capa (× 6)
1266
241212
5103030

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Un error muy común

Advertencia

Mucha gente cree que apilar más capas hace más potente a la red. No siempre. Si las capas no tienen función de activación, todas juntas equivalen a una sola. Las capas ayudan solo cuando cada una activa sus totales.

ReLU de dos totales en el laboratorio

Comando
docker exec jupyter python3 -c "print(max(0, -3), max(0, 4))"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Cuenta los parámetros de la red

Comando
docker exec jupyter python3 -c "print(2 * 3 + 3 * 1 + 3 + 1)"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Para ir más lejos: la ReLU con fuga

Algunas redes usan una ReLU con fuga: si el total es negativo, no da 0 sino el total multiplicado por 0,1.

En tu cuaderno, escribe esa función y calcula qué da con -2, 0 y 4. Explica por qué, con una fuga, una neurona nunca se queda del todo en 0.

Sobre este laboratorio y su código: Laboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.