ElemedexEnciclopedia de bolsillo de arquitecturas de IA

Glosario (MT) › Matemática mínima

MT039

Producto punto (producto escalar)

También: producto escalar, producto interno

En inglés: Dot product

Operación que toma dos vectores del mismo tamaño, multiplica sus componentes una a una y suma los resultados: devuelve un solo número.

Dados dos vectores de igual longitud, el producto punto multiplica las componentes que ocupan la misma posición y suma todo: a·b = a₁b₁ + a₂b₂ + … + aₙbₙ. El resultado es un número, no un vector, y la operación solo está definida si ambos vectores tienen la misma cantidad de componentes (Chollet, 2021, sec. 2.3.3).

Ejemplo mínimo. (1, 2, 3)·(4, 0, −1) = 1·4 + 2·0 + 3·(−1) = 4 + 0 − 3 = 1.

Dos intuiciones. La primera, casi lógica: si los vectores son de ceros y unos que marcan rasgos, el producto punto cuenta los rasgos compartidos. Con los rasgos (animal, doméstico, cuadrúpedo, vuela), perro = (1, 1, 1, 0), gato = (1, 1, 1, 0) y paloma = (1, 0, 0, 1); entonces perro·gato = 3 y perro·paloma = 1. La segunda, geométrica: el producto punto es grande cuando los vectores apuntan en direcciones parecidas, cero cuando son perpendiculares y negativo cuando se oponen. Dividido por las longitudes de ambos, da la similitud coseno (Alammar y Grootendorst, 2024, p. 125).

Es probablemente la operación más repetida de la IA contemporánea. Una neurona artificial calcula un producto punto entre sus entradas y sus pesos, y le suma un sesgo; una capa densa hace muchos a la vez, W·x + b (Chollet, 2021, sec. 2.3.5). En la atención de los transformers, la relevancia de cada token previo se obtiene multiplicando el vector de consulta de la posición actual por las claves, y esos puntajes se normalizan luego con softmax (Alammar y Grootendorst, 2024, p. 94).

Una advertencia para lógicos: el producto punto es una medida graduada de coincidencia, no una relación de consecuencia. Dice cuánto se parecen dos perfiles de rasgos; nada dice sobre si uno implica al otro, ni es asimétrico como la implicación: a·b = b·a siempre.

Fuentes

  • Alammar, J., & Grootendorst, M. (2024). Hands-on large language models: Language understanding and generation. O’Reilly Media. §
  • Chollet, F. (2021). Deep learning with Python (2nd ed.). Manning Publications. §