Geometría hiperbólica,
tocándola con las manos
Arrastra puntos, mueve sliders y mira cómo responde el espacio curvo. Cada herramienta calcula la geometría real (la misma del paper), no una caricatura: lo que ves medido es lo que ocurre en la bola de Poincaré.
La historia completa, de un vistazo
Pregunta: ¿cuándo y cómo ayuda la geometría hiperbólica en few-shot learning? Mismo encoder en todo; solo cambia la geometría de la cabeza. Predicción: el hiperbólico debería ganar solo si se dan dos condiciones a la vez — jerarquía y dimensión baja.
Bloque A — ¿gana en accuracy? (concluyente)
| Experimento | Resultado |
|---|---|
| CIFAR-FS (dim 256) | euclídea 50.8/71.9 vs hiperb. 48.5/57.3 → euclídea gana |
| FC100 / tieredImageNet | euclídea gana; la curvatura aprendible →0 (≈euclídeo) |
| Barrido de dimensión | dim 2-3: gana el hiperbólico; cruce en dim 4-8 |
| WordNet (jerarquía pura) | hiperb. dim 5 ≈ euclídeo dim 50-200 (10-40× menos dim) |
En accuracy, el hiperbólico gana solo con dimensión baja Y jerarquía explotable; en few-shot plano de dim alta (lo habitual), gana el euclídeo.
Bloque B — ¿induce estructura jerárquica? (exploratorio)
La estructura emerge solo a medias; un loss jerárquico la fuerza (pureza 43→79%) a costa de ~4 pts de accuracy. La fuente importa: un LLM da gratis una taxonomía casi humana (ARI 0.85); el clustering de features da similitud visual (0.26). Los conos de implicación son la pieza que induce la anidación radial (padres al centro), con trade-offs.
Tesis: el espacio hiperbólico no es un mejor clasificador few-shot; es un mejor espacio de representación para datos jerárquicos en dimensión baja. Hacen falta las dos condiciones: si falta cualquiera, el euclídeo gana o empata.
Hay tres geometrías, y la curvatura las distingue
En la esfera (curvatura \(K>0\)) la suma de los ángulos de un triángulo pasa de \(180°\); en el plano (\(K=0\)) es exactamente \(180°\); en el plano hiperbólico (\(K<0\)) es menos. No podemos dibujar \(\mathbb{H}^2\) sin distorsión en una hoja plana, así que usamos mapas — igual que con la Tierra. El más famoso es el disco de Poincaré: todo cabe dentro de un círculo, y un factor de escala corrige las distancias.
Las herramientas de abajo trabajan todas en el disco de Poincaré. La regla mental: lo que el dibujo encoge cerca del borde, la geometría lo estira.
La métrica: una escala que crece hacia el borde
Medir es sumar pasitos (Pitágoras: \(ds^2=dx^2+dy^2\)). En el disco, cada pasito del mapa se multiplica por un factor de escala local \(\lambda_x=\dfrac{2}{1-\lVert x\rVert^2}\): vale 2 en el centro y se dispara cerca del borde. Por eso el borde está a distancia infinita aunque en el dibujo parezca pegado.
Arrastra el punto
El color es \(\log_{10}\lambda\). Fíjate: mover el punto un poco cerca del borde dispara la distancia real al origen.
El camino más corto se curva — y eso es "ser recta"
Como los pasos son más baratos cerca del centro, el camino más corto (la geodésica) se comba hacia dentro. "Recta" no significa 90°: significa el camino que gasta exactamente la distancia (el test del andarín). Arrastra A y B y compara el segmento recto del dibujo con la geodésica real.
Arrastra A y B
El segmento azul parece recto pero malgasta longitud; la geodésica roja es la verdadera línea recta del espacio hiperbólico.
Por un punto pasan infinitas paralelas
Niega el quinto postulado de Euclides: por \(P\) pasan infinitas geodésicas que no cortan a \(L\). Y son de dos tipos: paralelas límite (se acercan a \(L\) sin tocarla) y ultraparalelas (guardan una distancia mínima positiva). Arrastra \(P\).
Arrastra P
Todas evitan a \(L\) (la azul); que se corten entre sí en \(P\) no es un fallo: "paralela" es una relación con \(L\).
El espacio crece exponencialmente
La circunferencia de radio real \(\rho\) mide \(2\pi\sinh\rho\approx \pi e^{\rho}\): crece exponencialmente, frente al \(2\pi\rho\) del plano. Por eso un árbol —cuyos nodos crecen como \(b^\ell\)— cabe sin amontonarse en el plano hiperbólico, y no en el euclídeo. Mueve el radio:
El mapa exponencial: meter vectores en la bola (y la saturación)
Una red neuronal produce vectores euclídeos \(v\) sin límite de norma. El mapa exponencial \(\exp_0^c(v)=\tanh(\sqrt c\,\lVert v\rVert)\,\frac{v}{\sqrt c\,\lVert v\rVert}\) los mete en la bola. Sube la norma: verás que con \(c=1\) todos se aplastan contra el borde (saturación / shell collapse) — el problema real al entrenar. Activa el clipping o baja la curvatura \(c\) y mira cómo se recupera.
Controles
Clipping = techo (no normalización): los vectores cortos pasan intactos, solo se recorta el exceso.
El mismo espacio, tres mapas
Poincaré, Klein y el semiplano superior son el mismo espacio hiperbólico dibujado distinto. Arrastra los vértices del triángulo en el disco de Poincaré y mira cómo se ve simultáneamente en los otros dos: Klein endereza las geodésicas (a cambio de mentir en los ángulos), el semiplano manda el borde al eje real.
Poincaré (arrastra aquí)
Klein (rectas)
Semiplano superior
Promediar puntos: Einstein vs Fréchet
El punto medio de Einstein es una fórmula cerrada y rápida (pasa por Klein); la media de Fréchet es el verdadero minimizador de \(\sum_i d^2\), pero hay que iterar. Coinciden con 2 puntos; con 3+ no, y Einstein queda sesgado hacia los puntos del borde — exactamente el efecto que penaliza al modelo 5-shot del experimento.
Arrastra los puntos
Las líneas verdes son las geodésicas del Fréchet a cada punto. Mete un punto al borde y mira cómo Einstein se va hacia él.
¿Para qué sirve todo esto? Few-shot learning en CIFAR-FS
Pusimos la teoría a prueba en CIFAR-FS, un benchmark real de few-shot (imágenes de CIFAR-100). Misma red prototípica con encoder Conv4 idéntico, solo cambia la geometría de la cabeza: la euclídea usa media + distancia euclídea; la hiperbólica proyecta al disco con exp₀, promedia con el punto medio de Einstein y clasifica por distancia de Poincaré.
El primer choque con la realidad: la hiperbólica "tal cual" (c=1) se hunde, porque las normas del encoder (~17–24) saturan el tanh y todos los embeddings colapsan al borde — exactamente la saturación que viste en la herramienta del mapa exponencial. Las defensas de la lección (feature clipping, curvatura pequeña, curvatura aprendible) recuperan ~8 puntos, pero la euclídea gana igualmente: CIFAR-FS no es fuertemente jerárquico y la dimensión (256) es alta.
| Cabeza (CIFAR-FS, 5-way) | 1-shot | 5-shot |
|---|---|---|
| Euclídea | 50.8% | 71.9% |
| Hiperbólica vanilla (c=1) | 41.7% | 50.0% |
| Hiperbólica + clip + curvatura aprendible | 48.5% | 57.3% |
Repetimos en FC100 (CIFAR-100 partido por superclase): mismo patrón, la euclídea gana (33.1/47.7 vs 30.8/37.5). Y a gran escala en tieredImageNet (351/160 clases, super-categorías WordNet): otra vez la euclídea (46.1/67.1 vs 43.5/53.6 la hiperbólica afinada) — y la curvatura aprendible converge a c≈0.0001, casi el límite euclídeo: sin jerarquía dentro del episodio, el propio modelo apaga la hiperbolicidad. Tres benchmarks reales, misma conclusión: partir por superclase no basta; faltaba la dimensión baja.
La prueba decisiva: bajar la dimensión
Añadimos un cuello de botella (proyección a d dimensiones tras el encoder) y barrimos d. Aparece el cruce que predice la teoría: en dimensión 2–3 el hiperbólico ADELANTA al euclídeo sobre imágenes reales; el cruce está en d ≈ 4–8.
| emb_dim (CIFAR-FS 5-way) | Euclídea 1s / 5s | Hiperbólica 1s / 5s |
|---|---|---|
| 2 | 35.7 / 45.8 | 41.0 / 49.5 |
| 3 | 39.0 / 51.0 | 43.2 / 52.0 |
| 8 | 47.2 / 63.0 | 46.3 / 56.9 |
| 64 | 50.4 / 69.6 | 47.4 / 55.8 |
A dimensión alta el euclídeo va sobrado de sitio y gana; la ventaja hiperbólica vive en la dimensión baja.
El caso límite: jerarquía profunda real (WordNet)
Para verlo en su forma extrema, embebemos el subárbol de mamíferos de WordNet (1170 nodos, profundidad 9 — el benchmark de Nickel & Kiela 2017). Aquí la jerarquía es la tarea: medimos cuán bien se reconstruye el árbol (MAP) según la dimensión.
| dim | Euclídeo (MAP) | Hiperbólico (MAP) |
|---|---|---|
| 5 | 0.23 | 0.91 |
| 10 | 0.39 | 0.93 |
| 50–200 | 0.92 | 0.90–0.92 |
El titular: el hiperbólico en 5 dimensiones iguala al euclídeo en 50–200 — una reducción de 10–40×. Conclusión de todo el proyecto: el espacio hiperbólico es un sesgo inductivo para representaciones compactas de datos jerárquicos, no una mejora universal. La historia completa —saturación, las tres defensas, FC100, el cruce de dimensión y WordNet— en EXPERIMENTS.md.
¿De dónde sacamos la jerarquía? Tres formas, dibujadas
Si la jerarquía no sobrevive al episodio, hay que dársela. La construimos sobre las 100 clases de CIFAR-100 de tres maneras y las comparamos con las 20 superclases humanas (Adjusted Rand Index). Primero, cómo se distribuyen las clases en el disco aprendido (sin guía jerárquica): emerge estructura, pero parcial.
1 · Clustering de los prototipos (similitud visual)
2 · WordNet (semántica léxica)
3 · LLM (Claude agrupa los nombres)
Comparación (ARI): el LLM ≈ jerarquía humana (0.85), WordNet 0.41 (semántica con ruido léxico), y el clustering solo 0.26 — captura similitud visual, no taxonomía.
Conclusión: si quieres una jerarquía semántica para guiar al modelo, no la saques de las features (dan grupos visuales) — un LLM da, gratis y solo con los nombres, una taxonomía casi idéntica a la humana.
Imponer la jerarquía con una pérdida
El paso final: añadir un loss jerárquico al entrenamiento. Diseñé una pérdida auxiliar simple (inspirada en prototipos jerárquicos / conos de implicación): además del objetivo few-shot, mantengo prototipos de grupo aprendibles en la bola y empujo cada imagen hacia el prototipo de su grupo por distancia de Poincaré:
\( \mathcal{L} = \underbrace{\mathrm{CE}\big(\mathrm{softmax}_k(-d_c(z_q, p_k)),\, y_q\big)}_{\text{few-shot}} + \lambda\,\underbrace{\mathrm{CE}\big(\mathrm{softmax}_g(-d_c(z_i, G_g)),\, g(i)\big)}_{\text{grupo (jerarquía)}} \)
con prototipos de episodio \(p_k\) (punto medio de Einstein), prototipos de grupo aprendibles \(G_g\), y el grupo \(g(i)\) tomado de cada fuente. Resultado, comparando las 4 fuentes contra el baseline:
Cómo medimos la organización (sobre los prototipos de las 100 clases y su matriz de distancias de Poincaré):
• ratio de organización = distancia media entre superclases distintas ÷ distancia media dentro de la misma superclase. Global: 1 = sin estructura; >1 = las hermanas están más cerca.
• pureza del vecino = % de clases cuyo vecino más cercano comparte superclase. Local y estricta; el azar es ≈4%.
Ejemplo con 4 clases (dolphin, whale = misma superclase; bicycle, rose): d(dolphin,whale)=0.47, y los otros 5 pares de media 2.58 → ratio = 5.5. Vecino más cercano: dolphin→whale ✓, whale→dolphin ✓, bicycle→(otra familia) ✗, rose→✗ → pureza = 2/4 = 50%.
| Fuente del grupo | 1-shot / 5-shot | pureza vecino |
|---|---|---|
| baseline (sin loss) | 48.3 / 58.5 | 43% |
| clustering | 41.7 / 51.8 | 35% ↓ |
| WordNet | 43.4 / 52.9 | 53% |
| LLM | 44.2 / 55.6 | 73% |
| CIFAR-superclase | 44.1 / 54.5 | 79% |
Tres conclusiones: (1) el loss jerárquico organiza el espacio muchísimo (pureza 43→79%), (2) pero cuesta ~4 puntos de accuracy plana — es estructura a cambio de precisión, no una mejora gratis, (3) la fuente es decisiva: el clustering visual hace daño; el LLM iguala a la jerarquía humana. El código del loss está en src/exp_hier_loss.py.
¿Y tiene forma de árbol? (δ-Gromov + Ollivier-Ricci)
La pureza mide alineación con la taxonomía, pero no si el espacio es geométricamente tipo árbol. Dos métricas intrínsecas (sin etiquetas): δ-hiperbolicidad de Gromov (0 = árbol exacto, 1 = nada hiperbólico) y curvatura de Ollivier-Ricci (negativa = ramas tipo árbol; positiva = islas densas). Dibujamos cada modelo en el disco con su árbol de expansión mínima:
Hallazgo sorprendente: el loss jerárquico NO hace el espacio más tipo árbol. La δ-Gromov apenas se mueve (~0.20) y la Ollivier-Ricci es positiva y hasta sube con el loss (+0.27→+0.38): localmente el espacio se vuelve más denso, no más ramificado. O sea: alineación con la taxonomía ≠ forma de árbol — el loss crea islas compactas (sube la pureza) pero no la anidación radial de un árbol. Para eso haría falta un loss de contención / conos de implicación (grupo cerca del origen, clases hacia el borde). El MST siempre se dibuja como árbol por construcción; la forma real la dan δ y la curvatura.
Conos de implicación: forzar la anidación radial
El remedio: en vez de "pégate al prototipo de tu grupo", usar conos de implicación (Ganea 2018). Cada prototipo de grupo (padre) define un cono que se abre hacia el borde; cada clase (hijo) debe caer dentro del cono de su grupo. Por construcción, esto pone al padre cerca del origen (genérico) y al hijo afuera (específico): la anidación de un árbol.
| Loss | Ollivier-Ricci | pureza | ‖grupo‖ (padres) |
|---|---|---|---|
| baseline | +0.27 | 23% | — |
| prototipos (LLM) | +0.33 | 43% | 0.77 (dispersos) |
| conos (LLM) | +0.23 | 34% | 0.07 (al centro) |
| conos (CIFAR-super) | +0.20 | 25% | 0.08 (al centro) |
Los conos SÍ consiguen la anidación radial que ningún otro loss lograba: los prototipos de grupo (★ en la figura) colapsan al centro (‖grupo‖ 0.77→0.07) y las clases van al borde — la firma de un árbol. La curvatura de Ollivier-Ricci se mueve hacia árbol (+0.27→+0.20), mientras los prototipos la empeoraban (+0.33). Pero con matices honestos: no llega a curvatura negativa, y los conos sacrifican pureza (43→34%) porque apiñar los grupos en el centro mezcla familias angularmente. La dirección queda demostrada —el cono es la pieza geométrica correcta— pero forma de árbol pura + alineación + accuracy a la vez sigue abierto (probablemente pide más dimensión y menos clip).
¿Y si hacemos la red más hiperbólica?
Hasta aquí solo la cabeza era hiperbólica. ¿Y si construimos capas hiperbólicas de verdad, o una CNN entera en la bola? Existen — y las probamos. Una capa hiperbólica hace lo mismo que una normal, pero envuelta entre log₀ y exp₀ (baja al tangente plano, hace el álgebra de siempre, vuelve a la bola); las sumas son de Möbius (⊕).
| Operación | Capa normal | Capa hiperbólica |
|---|---|---|
| lineal | Wx | exp₀(W·log₀(x)) |
| bias / sumar | +b | ⊕b (Möbius) |
| activación | σ(x) | exp₀(σ(log₀(x))) |
| pooling / media | media | punto medio de Einstein |
| logit | ‖·‖, ⟨·⟩ | distancia de Poincaré |
Existe a todos los niveles: capas densas (HNN, Ganea 2018), CNNs (Poincaré ResNet 2023, HCNN 2024) y transformers (atención hiperbólica 2019; Hypformer, KDD 2024). Aviso: una pila de capas solo lineales colapsa a euclídea — la curvatura real entra por el bias de Möbius, las activaciones en la bola y la distancia final.
Resultado: más hiperbólico NO es mejor
| Modelo (CIFAR-FS 5-way) | 1-shot | 5-shot |
|---|---|---|
| euclídeo Conv4 | ~52 | ~73 |
| Nivel 1 — cabeza hiperbólica | 45.4 | 53.5 |
| Nivel 2 — MLP hiperbólico (Möbius) | 37.0 | 49.5 |
| Nivel 3 — Conv4 totalmente hiperbólico | 43.5 | 55.0 (6× más lento) |
Conclusión honesta: hacer la red más hiperbólica empeora (nivel 2 peor que la cabeza simple; nivel 3 pierde ~10-17 pts vs euclídeo y cuesta 6× más). Las capas Möbius son difíciles de optimizar y con pocos datos no se rentabilizan. El cuello de botella no está en la arquitectura: el beneficio hiperbólico, donde lo hay, viene de la geometría del embedding en dimensión baja con jerarquía, no de "hiperbolizar" la red.