El producto escalar (dot product) y la neurona
Índice de contenidos
- Puntos clave
- Qué es el producto escalar
- Cómo calcula una neurona la suma ponderada
- Interpretación geométrica
- Producto escalar y similitud
- Ejemplo numérico
- Preguntas frecuentes
- ¿En qué se diferencia el producto escalar del producto de matrices?
- ¿Por qué se le llama también dot product?
- Conclusión
- Fuentes
El producto escalar multiplica cada entrada por su peso y suma los resultados en un solo número. Una neurona usa esa operación para calcular su suma ponderada z igual a w por x más el sesgo b, y ese valor decide, tras la activación, cuánto se enciende la neurona ante los datos que recibe.
El producto escalar es la operación que convierte una lista de entradas y una lista de pesos en un único número: la suma ponderada de la neurona. Multiplicas cada entrada por su peso, sumas todo y obtienes el valor $z$ que la neurona pasará luego a su función de activación. Entender esta operación es entender el 90 % de lo que hace una red por dentro, porque una capa entera no es más que muchos productos escalares a la vez. La misma explicación está disponible en inglés.
Puntos clave
- El producto escalar entre el vector de entradas $\mathbf{x}$ y el vector de pesos $\mathbf{w}$ se calcula multiplicando componente a componente y sumando: $\mathbf{w} \cdot \mathbf{x} = \sum_i w_i x_i$.
- Una neurona usa ese resultado para su suma ponderada $z = \mathbf{w} \cdot \mathbf{x} + b$, donde $b$ es el sesgo; después aplica la activación $a = f(z)$.
- Geométricamente, $\mathbf{w} \cdot \mathbf{x} = \lVert\mathbf{w}\rVert\,\lVert\mathbf{x}\rVert \cos\theta$, así que el producto escalar mide cuánto se alinean dos vectores: máximo si apuntan igual, cero si son perpendiculares.
- Esa misma fórmula es la base de la similitud del coseno, que usan buscadores y sistemas de recomendación para comparar vectores.
- Una capa con 784 entradas y 128 neuronas realiza 100.352 productos entrada-peso en una sola multiplicación de matrices, el trabajo que aceleran las tarjetas gráficas.
Qué es el producto escalar
El producto escalar (en inglés, dot product) toma dos vectores del mismo tamaño y devuelve un solo número. La receta es directa: emparejas las componentes en el mismo orden, multiplicas cada pareja y sumas todos los productos. Si $\mathbf{x} = [x_1, x_2, x_3]$ y $\mathbf{w} = [w_1, w_2, w_3]$, entonces $\mathbf{w} \cdot \mathbf{x} = w_1 x_1 + w_2 x_2 + w_3 x_3$.
Ese número resume, en una sola cifra, cómo de parecidos son los dos vectores teniendo en cuenta tanto su dirección como su magnitud. Es la operación fundamental del álgebra lineal aplicada al aprendizaje profundo, la misma que aparece en cada neurona de una red y que ya usábamos en la función sigmoide. Si quieres el mapa completo de las matemáticas implicadas, tienes la guía sobre qué matemáticas hay detrás de las redes neuronales.
Cómo calcula una neurona la suma ponderada
Una neurona recibe varias entradas y les asigna a cada una un peso, que expresa su importancia. Para combinarlas no hace nada exótico: calcula el producto escalar entre el vector de entradas y el vector de pesos, y le añade el sesgo $b$. El resultado es la preactivación $z = \mathbf{w} \cdot \mathbf{x} + b$.
El sesgo desplaza el umbral a partir del cual la neurona empieza a responder, igual que la ordenada en el origen de una recta. Una vez calculado $z$, la neurona aplica una función de activación $f$ y produce su salida $a = f(z)$. Como escribió Michael Nielsen sobre el perceptrón, «la salida de la neurona, 0 o 1, viene determinada por si la suma ponderada es menor o mayor que un cierto umbral». Ese umbral es justo lo que el sesgo permite mover.
Interpretación geométrica
El producto escalar también tiene una lectura geométrica muy útil: $\mathbf{w} \cdot \mathbf{x} = \lVert\mathbf{w}\rVert\,\lVert\mathbf{x}\rVert \cos\theta$, donde $\lVert\mathbf{w}\rVert$ y $\lVert\mathbf{x}\rVert$ son las longitudes de los vectores y $\theta$ es el ángulo entre ellos. De ahí salen tres casos claros. Si los vectores apuntan en la misma dirección, $\theta = 0°$, $\cos\theta = 1$ y el producto es máximo. Si son perpendiculares, $\theta = 90°$, $\cos\theta = 0$ y el producto vale cero. Si apuntan en sentidos opuestos, $\theta = 180°$, $\cos\theta = -1$ y el producto es lo más negativo posible.
Solo el signo de $\cos\theta$ ya te dice la postura de la neurona: positivo si la entrada se alinea con los pesos, negativo si va en contra y cero si le resulta indiferente.
Aplicado a una neurona, esto significa que el vector de pesos define una dirección preferida en el espacio de entradas. Cuanto más se alinee la entrada con esa dirección, mayor será $z$ y más fuerte la respuesta de la neurona. Los pesos, en el fondo, son una plantilla contra la que la neurona compara cada dato.
Producto escalar y similitud
Como el producto escalar crece cuando dos vectores apuntan en la misma dirección, sirve para medir parecido. Si normalizas los vectores para que su longitud sea 1, el producto escalar se reduce a $\cos\theta$, y eso es exactamente la similitud del coseno. Un valor de 1 indica vectores idénticos en dirección, 0 indica independencia y -1 indica direcciones opuestas.
Esta idea está en todas partes: los buscadores comparan la consulta con los documentos, los sistemas de recomendación comparan usuarios y productos, y los modelos de lenguaje comparan embeddings de palabras midiendo su producto escalar. La neurona hace la misma comparación, pero con pesos que se ajustan durante el entrenamiento en lugar de estar fijos.
Ejemplo numérico
Veámoslo con números. Supongamos una neurona con tres entradas $\mathbf{x} = [3, 1, 2]$, pesos $\mathbf{w} = [0{,}4,\, -0{,}5,\, 0{,}6]$ y sesgo $b = 0{,}1$. El producto escalar es $\mathbf{w} \cdot \mathbf{x} = 3 \times 0{,}4 + 1 \times (-0{,}5) + 2 \times 0{,}6 = 1{,}2 – 0{,}5 + 1{,}2 = 1{,}9$. Sumando el sesgo, la preactivación queda en $z = 1{,}9 + 0{,}1 = 2{,}0$.
Fíjate en el papel de cada peso. La primera y la tercera entrada suman valor positivo porque sus pesos son positivos; la segunda resta, porque su peso es negativo. Si esa neurona usa una activación sigmoide, $f(2{,}0) \approx 0{,}88$, así que la neurona se enciende con bastante fuerza. Cambiar un solo peso mueve el resultado: si $w_2$ pasara de $-0{,}5$ a $0{,}5$, el producto subiría a $1{,}2 + 0{,}5 + 1{,}2 = 2{,}9$ y la preactivación a $3{,}0$.
Preguntas frecuentes
¿En qué se diferencia el producto escalar del producto de matrices?
El producto escalar opera sobre dos vectores y devuelve un número. El producto de matrices no es más que muchos productos escalares organizados: cada elemento del resultado es el producto escalar de una fila por una columna. Por eso una capa de red neuronal, que calcula la salida de muchas neuronas a la vez, se escribe como una multiplicación de matrices $\mathbf{z} = W\mathbf{x} + \mathbf{b}$.
¿Por qué se le llama también dot product?
Porque en inglés se escribe con un punto entre los dos vectores, $\mathbf{w} \cdot \mathbf{x}$, y ese punto se lee dot. Los términos producto escalar, producto punto y dot product designan la misma operación. Se llama escalar porque el resultado es un escalar, es decir, un único número, no otro vector.
Conclusión
El producto escalar es el ladrillo con el que se construye toda red neuronal: multiplica entradas por pesos, las suma y produce el número que la neurona interpretará. Con su lectura geométrica entiendes por qué mide alineación y por qué es la base de la similitud del coseno. El siguiente paso natural es ver qué hace la red con esa suma ponderada, aplicándole una función de activación como la sigmoide para decidir cuánto se enciende cada neurona.