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
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Neurona | una pieza que suma sus entradas por sus pesos y da un número | |
| Capa | un grupo de neuronas que reciben las mismas entradas | |
| Peso | cuánto cuenta una entrada en la suma | |
| Sesgo | un número fijo que se suma siempre (bias en inglés) | |
| Función de activación | la regla que decide qué número sale de una neurona | relu |
| Capa oculta | una 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
| Capa | Neuronas | Pesos que recibe | Sesgos |
|---|---|---|---|
| Entrada | 2 | 0 | 0 |
| Oculta | 3 | 2 × 3 = 6 | 3 |
| Salida | 1 | 3 × 1 = 3 | 1 |
| Total | 6 | 9 | 4 |
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
| Total | Sale de la neurona | Por qué |
|---|---|---|
| -2 | 0 | Es negativo |
| -1 | 0 | Es negativo |
| 0 | 0 | No es positivo |
| 3 | 3 | Es positivo, queda igual |
| 5 | 5 | Es positivo, queda igual |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Prueba ReLU con tus totales
# 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
| Entrada | Tras la capa 1 (× 2) | Tras la capa 2 (× 3) | Una sola capa (× 6) |
|---|---|---|---|
| 1 | 2 | 6 | 6 |
| 2 | 4 | 12 | 12 |
| 5 | 10 | 30 | 30 |
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
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
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.