ubhyperbolic · empieza aquí

La idea, en simple

Sin tecnicismos y con dibujos: qué estamos investigando, por qué metemos esto en un espacio "hiperbólico", la idea de los slots como regiones, y para qué sirve en few-shot.

1 El problema de partida

Imagina una foto con tres objetos: una pelota, una taza y un libro.

Una red neuronal normal ve la imagen como una alfombra de píxeles, sin saber que "aquí hay tres cosas distintas". Slot Attention es un método que aprende, sin que nadie le diga dónde están los objetos, a repartir la escena en unas pocas casillas —los slots— y cada slot acaba quedándose con un objeto. Lo aprende solo intentando reconstruir la imagen: para reconstruirla bien, le conviene organizarse por objetos.

Eso ya existe y funciona. Nuestra investigación añade dos ideas nuevas encima. Vamos con ellas.

2 Por qué un espacio "hiperbólico"

Disco de Poincaré: jerarquía por radio y saturación del borde
Izquierda: la jerarquía se ordena por el radio (general = centro, concreto = borde). Derecha: cada anillo está a la misma distancia hiperbólica, pero se amontonan en el borde.

Mira el panel izquierdo. Es un círculo (el disco de Poincaré) y dentro hay un árbol: en el centro está la raíz (el concepto más general, p. ej. "escena") y según te alejas hacia el borde aparecen cosas cada vez más concretas (objeto → parte). La idea clave: el mundo es jerárquico, y el espacio hiperbólico es el sitio natural para colocar jerarquías, porque "crece" muchísimo hacia el borde — hay sitio de sobra para que las ramas de un árbol se separen sin amontonarse. En un espacio plano, las ramas de un árbol grande se apelotonan; aquí no.

Ahora el panel derecho. Cada anillo azul está a la misma distancia hiperbólica del siguiente (1, 2, 3, 4, 5 pasos iguales). Pero, dibujados en el papel, se amontonan pegándose al borde: el borde está, de verdad, infinitamente lejos. Eso trae un problema técnico: si pones tus datos cerca del borde (donde caen las cosas concretas), los cálculos se vuelven inestables — divisiones por casi-cero, gradientes que explotan. Es lo que se llama "saturar en el borde".

La solución que confirmamos: hay dos formas matemáticas de describir el mismo espacio, Poincaré y Lorentz. Son equivalentes, pero Lorentz hace las cuentas de forma estable justo donde Poincaré se rompe (lo medimos: el error de Lorentz se queda plano mientras el de Poincaré se dispara). resultado Por eso trabajamos en Lorentz.

3 La idea nueva: el slot como "región"

Slot región: bien, colapso del glotón, y arreglo con radio mínimo
El slot-región (★ centro + círculo de apertura). Si la apertura crece libre, una región se vuelve glotona y se traga todo (centro). Prohibir centros pegados al origen lo arregla (derecha).

En el Slot Attention normal, un slot es un punto: "el objeto está aquí". La idea nueva: que un slot sea una región — un centro más un tamaño (la "apertura"). ¿Por qué? Porque el tamaño codifica generalidad: una región grande cerca del centro = concepto general; una pequeña en el borde = detalle concreto. Así la jerarquía no se impone a mano: emerge sola.

Los tres paneles cuentan lo que pasó:

Panel 1 (bien): cuando funciona, cada región se coloca sobre un grupo. El ★ es el centro, el círculo es la apertura. Esto es lo que queremos.

Panel 2 (colapso): descubrimos un fallo. Si dejas crecer la apertura libremente, una región se hincha y se traga toda la escena — el "slot glotón". Y no era un bug: pasaba con cálculo cerrado y con aprendizaje por gradiente. Es un problema del modelo: una bola redonda cerca del centro "alcanza" en todas las direcciones a la vez, así que le sale rentable ser glotona.

Panel 3 (arreglo): la solución, geométrica. Si prohíbes que los centros se peguen al origen (la zona punteada), el glotón no puede formarse y las regiones vuelven a su sitio. Con eso, la calidad en los datos difíciles pasó de 0.48 → 0.84. resultado Es la pieza que rescata la idea.

4 Para qué sirve: few-shot

Few-shot: prototipo punto falla, prototipo región acierta
La query (X) es de la clase B (dispersa). El prototipo-punto la manda a A (mal). El prototipo-región sabe que B es ancha y la abarca (bien).

Few-shot es: te enseño muy pocos ejemplos de cada clase y tienes que clasificar ejemplos nuevos. El método clásico hace lo más simple: el prototipo de cada clase es el promedio de sus ejemplos — un punto.

En el dibujo hay dos clases: A muy compacta y B muy dispersa. Y una query (la X) que de verdad es de B, pero cayó cerca de A.

Izquierda (prototipo punto): solo miras a qué centro estás más cerca. La query cae del lado de A → mal. Ignora que B es una clase ancha que debería abarcar más territorio.

Derecha (prototipo región): cada clase tiene su tamaño. A es estrecha, B es ancha, y la query cae dentro de la región de Bbien.

Y eso es justo lo que midieron los números: cuando las clases tienen dispersión distinta, la región gana al punto (+4–5%). resultado La idea de Region Slot sirve para few-shot.

5 ¿De verdad gana lo hiperbólico?

Esta es la pregunta del millón: ¿el espacio hiperbólico le gana al normal (euclídeo) en algo medible? Si no, todo el aparato no se justifica. La respuesta que encontramos es matizada y honesta: gana representando jerarquías, pero esa ventaja casi no se traslada cuando clasificas. Vamos por partes.

Primero, la intuición — pruébalo tú

Arrastra los puntos A y B por el disco. Verás dos distancias: la euclídea (la de toda la vida, en línea recta) y la hiperbólica. Fíjate qué pasa al acercar los puntos al borde: la euclídea apenas cambia (nunca pasa de 2), pero la hiperbólica se dispara.

distancia euclídea (máx. 2)

distancia hiperbólica (sin tope)

Los anillos finos están a la misma distancia hiperbólica entre sí. El borde está infinitamente lejos.

¿Por qué importa esto? Porque significa que dos "primos" del árbol (en ramas distintas, colocados cerca del borde) acaban hiperbólicamente lejísimos, mientras que dos "hermanos" quedan cerca. Justo lo que necesita una jerarquía. Por eso un árbol grande cabe en el disco hiperbólico aunque sea de pocas dimensiones, y en el euclídeo se apelotona.

El resultado: representar el árbol

Distorsión al embeber un árbol: hiperbólico vs euclídeo
Embeber un árbol de 64 hojas en pocas dimensiones. Izquierda: distorsión (más bajo = mejor). Derecha: ¿queda el hermano más cerca que el primo? El hiperbólico (azul) gana, sobre todo en 2-3 dimensiones.

Cogimos un árbol de 64 hojas y le pedimos a cada geometría que lo dibujara respetando las distancias del árbol, en pocas dimensiones. El hiperbólico distorsiona ~3 veces menos y respeta la jerarquía casi a la perfección ya en 3 dimensiones. resultado Para representar jerarquías en poco espacio, el hiperbólico gana claro.

El giro honesto: al clasificar, casi no se nota

Pero cuando metemos esa representación en una tarea de clasificación (con un codificador que aprende), la ventaja casi desaparece. Solo asoma un poquito en el cuello de botella más estrecho (2 dimensiones: acierta la superclase un 71% vs 69%, y se equivoca menos grave); con un poco más de espacio, empatan o gana el euclídeo.

¿Por qué? El codificador aprende a "pre-deformar" los datos para que incluso el euclídeo separe bien, y el clasificador hiperbólico es más difícil de entrenar. Es una tensión conocida: los embeddings hiperbólicos brillan, los clasificadores hiperbólicos a menudo no. matiz Por eso el peso de nuestra contribución recae en la región (la apertura), que sí aporta de forma medible, más que en lo hiperbólico por sí solo.

6 Datos reales: ahora sí gana (en el régimen compacto)

El test definitivo: pasamos a imágenes reales (CIFAR-100, con su jerarquía real de 20 superclases), features de DINO, y un codificador entrenado de verdad. Aquí sí se ve la película completa.

Resultados de clasificación en CIFAR-100
(A) Acierto fino por dimensión: el hiperbólico gana, +14 puntos en 2D. (B) Severidad del error. (C) El slot factorizado a 32 dim.

(A) y (B): con el codificador entrenado, el hiperbólico gana de verdad — pero solo en dimensión baja: +14 puntos de acierto en 2D, y la ventaja se va apagando hasta casi nada en 32 dim. Y se equivoca de forma más leve (menos severidad). Por fin la ventaja en una tarea real.

El problema: un slot de verdad tiene 64–256 dimensiones. A ese tamaño, nuestra propia curva dice que el hiperbólico ya no aporta. Así que "mete tu slot en hiperbólico" no se sostiene tal cual.

La solución (C): factorizar el slot = un vector de contenido euclídeo grande (la apariencia) + un código hiperbólico diminuto (2–3 dim) que codifica solo dónde está el objeto en la jerarquía. Ese código organiza la jerarquía casi perfecta (mejor que un código euclídeo del mismo tamaño: 0.99 vs 0.96) y da la severidad mínima, sin tocar el contenido. resultado Esa es nuestra propuesta distintiva, con respaldo en datos reales.

Y lo probamos también en lo que de verdad importa, segmentar objetos: agrupando características de DINO de escenas reales en "slots". El clustering hiperbólico segmenta mejor que el euclídeo — y otra vez, el hueco es máximo en el régimen compacto (dim 8–32). Mismo patrón.

Segmentación object-centric: hiperbólico vs euclídeo
Segmentar objetos (FG-ARI, más alto mejor) sobre features DINO reales: el clustering hiperbólico gana, sobre todo en dimensión compacta.

La honestidad de siempre: la ganancia en el número final de la tarea es modesta — el valor del hiperbólico es sobre todo de representación (una jerarquía compacta e interpretable), no un salto de récord. Es una dirección de diseño bien fundamentada, complementaria a lo ya publicado, no su sustituta.

7 Dónde estamos

Proyecto HyperbolicSlot · Javier Ródenas · 2026. Las demos interactivas: Parte 1 y Parte 2.