Geometría y trigonometría

Este capítulo desarrolla la intuición de los vectores como "dirección + longitud", comprende las funciones trigonométricas básicas y utiliza la intuición espacial del sistema de coordenadas como base para aprender el "espacio vectorial" del álgebra lineal.

El embedding de palabras, el cálculo de similitud en sistemas de recomendación y la codificación posicional del Transformer se basan todos en la intuición geométrica de este capítulo.


Vectores planos: dirección + longitud

¿Qué es un vector?

Un número ordinario (escalar) solo lleva una información: su "magnitud", por ejemplo, "la temperatura es de 25 grados".

VectorLleva dos informaciones a la vez:DirecciónyLongitud (módulo)。

En el sistema de coordenadas cartesianas del plano, un vector se escribe en forma de coordenadas, lo que indica la posición alcanzada "partiendo del origen, moviéndose x unidades en la dirección x e y unidades en la dirección y"; la flecha en sí misma codifica la dirección y la longitud.

Longitud de un vector (módulo)

Esto es el teorema de Pitágoras: la longitud de un vector es la hipotenusa del triángulo rectángulo formado por sus componentes en los ejes x e y.

Suma de vectores y multiplicación por un escalar

OperaciónRegla algebraicaSignificado geométrico
SumaCabeza con cola: une el punto inicial del segundo vector con el punto final del primer vector.
Multiplicación por un escalarSolo cambia la longitud (si k es negativo, invierte la dirección), pero no cambia la línea en la que se encuentra la dirección.

Producto punto de vectores: mide "qué tan cercanas están dos direcciones"

dondees el ángulo entre los dos vectores. El signo del producto punto tiene un significado geométrico claro:

Signo del producto puntoRango del ánguloSignificado geométrico
Direcciones aproximadamente iguales
Los dos vectores son perpendiculares (ortogonales)
Direcciones aproximadamente opuestas
Demostración interactiva: ángulo entre vectores y producto punto
El vector azul a apunta fijo hacia la derecha; arrastra el control deslizante para rotar el vector verde b y cambiar su longitud. Observa el signo del producto punto (verde indica direcciones cercanas, rojo indica direcciones opuestas, gris indica perpendicularidad).

Por qué los vectores son cruciales para la IA

En el aprendizaje automático, un dato de muestra (una imagen, el embedding de un texto, las características de un usuario) es, en esencia,un vector。

Cuanto mayor sea el producto punto (o el coseno del ángulo) de los vectores embedding de dos palabras, más similares suelen ser semánticamente; esta es la base matemática del "cálculo de similitud" en los vectores de palabras y en los sistemas de recomendación.

Lo que hace cada capa de la red neuronal, en esencia, es el producto punto entre el vector de pesos y el vector de entrada.

Ejemplo

# Longitud de vector, producto punto y coseno del ángulo (prototipo de similitud de vectores de palabras)
import math

# Dos "vectores de palabras": supongamos que son los embeddings de dos palabras (simplificados a 2D)
king  = (3, 4)
queen = (4, 3)

# Módulo |v| = sqrt(x² + y²)
norm_king  = math.sqrt(3**2 + 4**2)   # 5
norm_queen = math.sqrt(4**2 + 3**2)   # 5
print(norm_king, norm_queen)

# Producto punto a·b = a₁b₁ + a₂b₂
dot = king[0] * queen[0] + king[1] * queen[1]
print(dot)

# Coseno del ángulo cos θ = (a·b) / (|a||b|); cuanto más cercano a 1, más cercanas son las direcciones de los dos vectores
cos_theta = dot / (norm_king * norm_queen)
print(cos_theta)

El resultado de ejecutar el código anterior es:

5.0 5.0
24
0.96

Una similitud coseno de 0.96 significa que las direcciones de los dos vectores son muy cercanas; esto es precisamente la expresión geométrica de "similitud semántica".

Ejercicio: vector, calcula su longitud。

Haz clic para ver la respuesta


Funciones trigonométricas básicas: sin y cos

Del triángulo rectángulo al círculo unitario

Al principio, al aprender funciones trigonométricas, normalmente se parte de las razones entre los lados de un triángulo rectángulo:

Una forma de entenderlo más general y más adecuada para escenarios de IA esla definición del círculo unitario: en un círculo de radio 1, girando en sentido antihorario desde la dirección positiva del eje x un ánguloel punto correspondiente tiene como coordenadas。

Las ventajas de esta definición son:Puede tomar cualquier ángulo (no limitado a 0°~90°); sin y cos "dan vueltas" continuamente a medida que θ cambia, mostrandoperiodicidad(Cada vuelta completa de 360°, es decirradianes, los valores se repiten una vez).

Haz clic en "Reproducir" para ver cómo un punto del círculo unitario traza una onda sinusoidal.

Demostración dinámica: el círculo unitario genera la onda sinusoidal
El punto del círculo unitario rota en sentido antihorario con el ángulo θ; su altura (sin θ) se registra punto a punto en el lado derecho, formando la curva sinusoidal roja; la proyección horizontal (cos θ) se marca en azul.

Propiedades clave

PropiedadExpresiónSignificado
AcotaciónSin importar cuán grande sea el ángulo, el valor siempre se encuentra en [-1, 1]
PeriodicidadPor cada vuelta completa, los valores se repiten
Relación pitagóricaConsecuencia directa de que el radio del círculo unitario sea 1 (teorema de Pitágoras)

sin, cos y la codificación posicional

El modelo Transformer, al procesar una secuencia de texto, no conoce de forma innata el "orden de las palabras" (procesa todas las palabras en paralelo).

Para codificar la información de "posición" en el modelo, Transformer usa la siguiente fórmula:

Aquí se usan dos propiedades clave de sin/cos:

Acotación: Sin importar cuán larga sea la secuencia, los valores de la codificación posicional no explotan; siempre están entre [-1, 1] y no interfieren con otros cálculos numéricos.

Periodicidad + superposición de diferentes frecuencias: Diferentes dimensiones usan ondas sin/cos de diferentes frecuencias; el modelo puede distinguir "posiciones adyacentes" (las ondas de alta frecuencia cambian rápido) y también percibir "relaciones de posiciones lejanas" (las ondas de baja frecuencia cambian lento).

Detrás de esto, y con la idea de laTransformada de Fourierdel procesamiento de señales, el pensamiento está conectado: cualquier señal compleja puede representarse mediante la superposición de una serie de ondas sinusoidales de diferentes frecuencias.

Demostración interactiva: mapa de calor de la codificación posicional
El eje horizontal es la posición en la secuencia (0~49), el eje vertical es la dimensión de codificación (0~15), y el color es el valor codificado. Se puede ver que en las dimensiones bajas (arriba) las ondas cambian rápido, y en las dimensiones altas (abajo) cambian despacio: sin/cos de diferentes frecuencias se superponen.
El rojo indica valores positivos y el azul negativos, consistente con las ondas de sin/cos. La dimensión de codificación de un Transformer real suele ser 512 o incluso mayor; aquí solo se muestran las primeras 16 dimensiones como ejemplo.

Ejemplo

# Cálculo manual de la codificación posicional: distribución de frecuencias de las primeras dimensiones cuando d=16
import math

d = 16   # Dimensión total de codificación (solo para ilustrar; el modelo real usa 512+)

# La frecuencia angular de la dimensión 2i es 1 / 10000^(2i/d)
# Las dimensiones bajas tienen alta frecuencia (distinguen posiciones adyacentes); las dimensiones altas tienen baja frecuencia (perciben distancias lejanas)
for i in [0, 2, 4]:
    freq = 1 / (10000 ** (i / d))
    print(i, round(freq, 6))

# Valor de codificación sin de pos=3 en la dimensión 0: sin(3 * 1.0)
print(round(math.sin(3 * 1.0), 6))

El resultado de ejecutar el código anterior es:

0 1.0
2 0.316228
4 0.1
0.14112

La frecuencia de la dimensión 0 es 1.0, y la dimensión 4 decae a 0.1: la frecuencia decae exponencialmente a lo largo de las dimensiones. Esta es precisamente la disposición de "alta frecuencia al principio, baja frecuencia al final".


Sistema de coordenadas e intuición espacial

El sistema de coordenadas bidimensional es el punto de partida para entender el "espacio de alta dimensión"

Sistema de coordenadas cartesianas del planoUsa dos ejes numéricos perpendiculares entre sí para dar a cada punto del plano una "dirección" única.

Esta idea intuitiva se puede generalizar directamente: el espacio tridimensional añade un eje z; el espacio n-dimensional es。

Aunque el espacio n-dimensional no se pueda dibujar directamente, la forma de tratarlo algebraicamente es exactamente la misma: cada eje de coordenadas ("dimensión") sigue siendo una dirección independiente.

Qué significa esto para entender el "espacio vectorial" del álgebra lineal

Intuición bidimensionalGeneralización a alta dimensiónAplicaciones en IA
Proyección: componente de un vector sobre un ejeProyección de un vector de alta dimensión en cualquier direcciónEl producto punto / la descomposición ortogonal es la base de los algoritmos de reducción de dimensionalidad
Ortogonalidad: dos direcciones perpendiculares que no interfieren entre sí"Base ortogonal" del espacio de alta dimensiónPCA en la reducción de dimensionalidad busca direcciones principales mutuamente ortogonales
Base: el eje x y el eje y son las direcciones de referencia más básicasCualquier vector se escribe como una combinación de vectores baseLa dimensión del espacio de embedding es el número de bases

Muchos modelos de lenguaje tienen dimensiones de embedding de cientos a miles (por ejemplo, 768 dimensiones). No puedes dibujar este espacio en papel, pero puedes usar operaciones familiares en 2D y 3D para "imaginarlo".

Una analogía concreta

Imagina que describes una película; puedes puntuarla en muchas dimensiones como "cantidad de escenas de acción", "nivel de humor", "complejidad de la trama".

Cada película corresponde a un punto (vector) en este "espacio de puntuación multidimensional".

Cuanto más similares son dos películas, más "cercanos" están sus vectores correspondientes en el espacio (producto punto grande, ángulo pequeño).

Esta es exactamente la intuición geométrica detrás de la "recomendación de contenido similar" en los sistemas de recomendación, y la fuente de esta intuición es el sentido espacial de "si dos puntos están cerca" en un sistema de coordenadas bidimensional.

Ejercicio: Si un vector tiene una proyección grande en el eje x y una proyección casi cero en el eje y, ¿esto indica hacia dónde apunta aproximadamente la dirección del vector?

Haz clic para ver la respuesta

La dirección es casi a lo largo del eje x: su "contribución" en la dirección y es muy pequeña, lo que indica que es casi perpendicular al eje y y casi paralela al eje x.


Resumen del capítulo

TemaIdea central en una frase
Vector planoLleva información tanto de "dirección" como de "longitud", y es la unidad básica de los datos de alta dimensión (embedding).
Producto puntoMide "qué tan cerca" están dos direcciones; es la base matemática para el cálculo de similitud.
sin / cosLas coordenadas en el círculo unitario tienen periodicidad y acotación, y son una herramienta matemática para la codificación posicional.
Sistema de coordenadasLa intuición espacial de 2D/3D es el punto de partida para comprender conceptos como espacios vectoriales n-dimensionales, proyección y ortogonalidad.
Otras extensiones