Articulo de referencia

computación hiperdimensional

La computación hiperdimensional ( HDC ) es un enfoque de computación. La HDC se basa en la observación de que el cerebelo opera con representaciones de datos de alta dimensión. ...

La computación hiperdimensional ( HDC ) es un enfoque de computación. La HDC se basa en la observación de que el cerebelo opera con representaciones de datos de alta dimensión. [ 1 ] En la HDC, la información se representa como un vector hiperdimensional (largo) , que se denomina hipervector. Un vector hiperdimensional (hipervector) puede incluir miles de números que representan un punto en un espacio de miles de dimensiones, [ 2 ] ya que las arquitecturas simbólicas vectoriales son un nombre anterior para el mismo enfoque.

Proceso

Los datos se mapean del espacio de entrada al espacio HD disperso mediante una función de codificación φ  : X → H. Las representaciones HD se almacenan en estructuras de datos que pueden sufrir corrupción por ruido o fallos de hardware. Las representaciones HD ruidosas o corruptas aún pueden servir como entrada para el aprendizaje, la clasificación, etc. También pueden decodificarse para recuperar los datos de entrada. H suele estar restringido a enteros con rango limitado (-vv) [ 3 ].

Esto es análogo al proceso de aprendizaje que lleva a cabo el sistema olfativo de las moscas de la fruta . La entrada es un vector de aproximadamente 50 dimensiones que corresponde a los tipos de neuronas receptoras de olores . La representación HD utiliza ~2000 dimensiones. [ 3 ]

Transparencia

El álgebra HDC revela la lógica de cómo y por qué los sistemas toman decisiones, a diferencia de las redes neuronales artificiales . Los objetos del mundo físico se pueden mapear a hipervectores, que luego son procesados ​​por el álgebra. [ 2 ]

Actuación

La HDC es adecuada para "sistemas de computación en memoria", que procesan y almacenan datos en un solo chip, evitando así los retrasos en la transferencia de datos. Los dispositivos analógicos operan a bajos voltajes. Son energéticamente eficientes, pero propensos a generar ruido que produce errores. Las HDC pueden tolerar dichos errores. [ 2 ]

Varios equipos han desarrollado aceleradores de hardware HDC de bajo consumo. [ 3 ]

Los dispositivos memristivos a nanoescala pueden utilizarse para realizar cálculos. Un sistema de computación hiperdimensional en memoria puede implementar operaciones en dos motores de matriz de barras cruzadas memristivas junto con circuitos CMOS digitales periféricos . Los experimentos realizados con 760 000 dispositivos de memoria de cambio de fase para computación analógica en memoria lograron una precisión comparable a la de las implementaciones por software. [ 4 ]

Errores

HDC es robusto ante errores como un error de bit individual (un 0 cambia a 1 o viceversa) que los mecanismos de corrección de errores no detectan. Eliminar dichos mecanismos puede ahorrar hasta un 25 % del coste computacional. Esto es posible porque tales errores dejan el resultado "cercano" al vector correcto. El razonamiento mediante vectores no se ve comprometido. HDC es al menos 10 veces más tolerante a errores que las redes neuronales artificiales tradicionales , que ya son órdenes de magnitud más tolerantes que la computación tradicional. [ 2 ]

Ejemplo

Un ejemplo sencillo considera imágenes que contienen círculos negros y cuadrados blancos. Los hipervectores pueden representar variables de FORMA y COLOR y almacenar los valores correspondientes: CÍRCULO, CUADRADO, NEGRO y BLANCO. Los hipervectores ligados pueden almacenar los pares NEGRO y CÍRCULO, etc. [ 2 ]

Ortogonalidad

El espacio de alta dimensión permite muchos vectores mutuamente ortogonales . Sin embargo, si en cambio se permite que los vectores sean casi ortogonales , el número de vectores distintos en el espacio de alta dimensión es muchísimo mayor. [ 2 ]

HDC utiliza el concepto de representaciones distribuidas, en las que un objeto/observación se representa mediante un patrón de valores en múltiples dimensiones en lugar de una única constante. [ 3 ]

Operaciones

HDC puede combinar hipervectores para formar nuevos hipervectores utilizando operaciones de espacio vectorial bien definidas .

Los grupos , anillos y cuerpos sobre hipervectores se convierten en las estructuras de computación subyacentes con suma, multiplicación, permutación, mapeo e inversa como operaciones de computación primitivas. [ 4 ] Todas las tareas computacionales se realizan en un espacio de alta dimensión utilizando operaciones simples como sumas elemento a elemento y productos escalares . [ 3 ]

La vinculación crea tuplas de puntos ordenadas y también es una función ⊗  : H × H → H. La entrada son dos puntos en H , mientras que la salida es un punto diferente. Multiplicar el vector SHAPE por CIRCLE vincula los dos, representando la idea "SHAPE es CIRCLE". Este vector es "casi ortogonal" a SHAPE y CIRCLE. Los componentes se pueden recuperar del vector (por ejemplo, responder a la pregunta "¿es la forma un círculo?"). [ 3 ]

La suma crea un vector que combina conceptos. Por ejemplo, al sumar "FORMA es CÍRCULO" a "COLOR es ROJO", se crea un vector que representa un círculo rojo.

La permutación reorganiza los elementos de un vector. Por ejemplo, al permutar un vector tridimensional con valores x , y y z , se pueden intercambiar x por y , y por z , y z por x . Los eventos representados por los hipervectores A y B se pueden sumar para formar un solo vector, pero esto alteraría la secuencia de eventos. La combinación de suma y permutación conserva el orden; la secuencia de eventos se puede recuperar revirtiendo las operaciones.

El agrupamiento combina un conjunto de elementos en H como la función ⊕  : H ×H → H. La entrada son dos puntos en H y la salida es un tercer punto que es similar a ambos. [ 3 ]

Historia

Las arquitecturas simbólicas vectoriales (VSA) proporcionaron un enfoque sistemático para las representaciones de símbolos de alta dimensión para apoyar operaciones como el establecimiento de relaciones. Los primeros ejemplos incluyen representaciones reducidas holográficas, códigos de dispersión binarios y la vinculación matricial de términos aditivos. La computación HD impulsó estos modelos, haciendo especial hincapié en la eficiencia del hardware. [ 3 ]

En 2015, Eric Weiss demostró cómo representar completamente una imagen como un hipervector. Un vector podría contener información sobre todos los objetos de la imagen, incluyendo propiedades como el color, la posición y el tamaño. [ 2 ]

En 2023, Abbas Rahimi et al. utilizaron HDC con redes neuronales para resolver matrices progresivas de Raven . [ 2 ]

En 2023, Mike Heddes et al. bajo la supervisión de los profesores Givargis, Nicolau y Veidenbaum crearon una biblioteca de computación hiperdimensional [ 5 ] que está construida sobre PyTorch .

Aplicaciones

Reconocimiento de imágenes

Los algoritmos HDC pueden replicar tareas que las redes neuronales profundas han completado durante mucho tiempo , como la clasificación de imágenes. [ 2 ]

La clasificación de un conjunto anotado de dígitos manuscritos utiliza un algoritmo para analizar las características de cada imagen, generando un hipervector por imagen. A continuación, el algoritmo suma los hipervectores de todas las imágenes etiquetadas, por ejemplo, del cero, para crear un hipervector prototípico para el concepto de cero, y repite este proceso para los demás dígitos. [ 2 ]

La clasificación de una imagen sin etiquetar implica crear un hipervector para ella y compararlo con los hipervectores de referencia. Esta comparación identifica el dígito al que más se asemeja la nueva imagen. [ 2 ]

Dado un conjunto de ejemplos etiquetadosS={(incógnitai,yi)}i=1norte, dónde incógnitaiincógnita y yi{doi}i=1K{\displaystyle S=\{(x_{i},y_{i})\}_{i=1}^{N},\ {\scriptstyle {\text{donde}}}\ x_{i}\in X\ {\scriptstyle {\text{y}}}\ y_{i}\in \{c_{i}\}_{i=1}^{K}}es la clase de un x i particular . [ 3 ]

Dada la consulta x q ∈ X, el prototipo más similar se puede encontrar conk=k1,...,Kargramometroaincógnita ρ(ϕ(incógnitaq),ϕ(dok)){\displaystyle k^{*}=_{k\in 1,...,K}^{argmax}\ \rho (\phi (x_{q}),\phi (c_{k}))}. La métrica de similitud ρ es típicamente el producto escalar. [ 3 ]

Razonamiento

Los hipervectores también pueden utilizarse para el razonamiento. Las matrices progresivas de Raven presentan imágenes de objetos en una cuadrícula. Una posición de la cuadrícula está en blanco. La prueba consiste en elegir, entre las imágenes candidatas, la que mejor se ajusta. [ 2 ]

Un diccionario de hipervectores representa objetos individuales. Cada hipervector representa un concepto de objeto con sus atributos. Para cada imagen de prueba, una red neuronal genera un hipervector binario (con valores +1 o −1) que se aproxima lo máximo posible a un conjunto de hipervectores del diccionario. El hipervector generado describe así todos los objetos y sus atributos en la imagen. [ 2 ]

Otro algoritmo crea distribuciones de probabilidad para el número de objetos en cada imagen y sus características. Estas distribuciones de probabilidad describen las características probables tanto del contexto como de las imágenes candidatas. También se transforman en hipervectores, y luego el álgebra predice la imagen candidata más probable para llenar el espacio. [ 2 ]

Este enfoque logró una precisión del 88 % en un conjunto de problemas , superando a las soluciones basadas únicamente en redes neuronales, que alcanzaron una precisión del 61 %. Para cuadrículas de 3x3, el sistema fue 250 veces más rápido que un método que utilizaba lógica simbólica para razonar, debido al tamaño del conjunto de reglas asociado. [ 2 ]

Otro

Otras aplicaciones incluyen el procesamiento de bioseñales, el procesamiento del lenguaje natural y la robótica. [ 3 ]

Véase también

Referencias

  1. Zou, Zhuowen; Alimohamadi, Haleh; Imani, Farhad; Kim, Yeseong; Imani, Mohsen (2021-10-01), Spiking Hyperdimensional Network: Neuromorphic Models Integrated with Memory-Inspired Framework , arXiv : 2110.00214
  2. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Ananthaswamy, Anan (13 de abril de 2023). "Un nuevo enfoque de la computación reinventa la inteligencia artificial" . Quanta Magazine .
  3. 1 2 3 4 5 6 7 8 9 10 11 Thomas, Anthony; Dasgupta, Sanjoy; Rosing, Tajana (2021-10-05). "Una perspectiva teórica sobre la computación hiperdimensional" (PDF) . Journal of Artificial Intelligence Research . 72 : 215–249 . doi : 10.1613/jair.1.12664 . ISSN 1076-9757 . S2CID 239007517 .  
  4. ^ Karunaratne , Geethan; Le Gallo, Manuel; Cherubini, Giovanni; Benini, Luca; Rahimi, Abbas; Sebastián, Abu (junio de 2020). "Computación hiperdimensional en memoria" . Electrónica de la naturaleza . 3 (6): 327– 337. arXiv : 1906.01548 . doi : 10.1038/s41928-020-0410-3 . ISSN 2520-1131 . S2CID 174797921 .  
  5. ^ Heddes, Mike; Nunes, Igor; Vergés, Pere; Kleyko, Denis; Abraham, Danny; Givargis, Tony; Nicolau, Alexandru; Veidenbaum, Alejandro (18 de mayo de 2022). "Torchhd: una biblioteca de Python de código abierto para respaldar la investigación sobre computación hiperdimensional y arquitecturas simbólicas vectoriales". arXiv : 2205.09208 [ cs.LG ].
  • Kleyko, Denis; Rachkovskij, Dmitri A.; Osipov, Evgeny; Rahimi, Abbas (2023-07-31). "Una revisión sobre computación hiperdimensional, también conocida como arquitecturas simbólicas vectoriales, parte I: modelos y transformaciones de datos" . ACM Computing Surveys . 55 (6): 1– 40. arXiv : 2111.06077 . doi : 10.1145/3538531 . ISSN 0360-0300 . 
  • Kleyko, Denis; Rachkovskij, Dmitri; Osipov, Evgeny; Rahimi, Abbas (30 de septiembre de 2023). "Una revisión sobre computación hiperdimensional, también conocida como arquitecturas simbólicas vectoriales, parte II: aplicaciones, modelos cognitivos y desafíos" . ACM Computing Surveys . 55 (9): 1– 52. arXiv : 2112.15424 . doi : 10.1145/3558000 . ISSN 0360-0300 . 
  • Stock, M.; Van Criekinge, W.; Boeckaerts, D.; Taelman, S.; Van Haeverbeke, M.; Dewulf, P.; De Baets, B. (2024), Dutt, V. (ed.), "Computación hiperdimensional: un paradigma rápido, robusto e interpretable para datos biológicos", PLOS Computational Biology , 20 (9) e1012426, Public Library of Science (PLOS), arXiv : 2402.17572 , doi : 10.1371/journal.pcbi.1012426 , PMID 39316621 
  • Cumbo, F.; Chicco, D. (2025), "Computación hiperdimensional en ciencias biomédicas: una breve revisión", PeerJ Computer Science , 11 (e2885) e2885, doi : 10.7717/peerj-cs.2885 , PMC 12192801 , PMID 40567746  
  • Kanerva, Pentti (1 de junio de 2009). "Computación hiperdimensional: una introducción a la computación en representación distribuida con vectores aleatorios de alta dimensión". Cognitive Computation . 1 (2): 139– 159. doi : 10.1007/s12559-009-9009-8 . ISSN 1866-9964 . S2CID 733980 .  
  • Neubert, compañero; Schubert, Stefan; Protzel, Peter (1 de diciembre de 2019). "Una introducción a la computación hiperdimensional para robótica". KI – Künstliche Intelligenz . 33 (4): 319– 330. doi : 10.1007/s13218-019-00623-z . ISSN 1610-1987 . S2CID 202642163 .  
  • Neubert, Peer; Schubert, Stefan (2021-01-19). "Computación hiperdimensional como marco para la agregación sistemática de descriptores de imágenes". arXiv : 2101.07720v1 [ cs.CV ].
  • Stock, Michiel (2022-10-04). "Tutorial sobre computación hiperdimensional" . Recuperado el 29-07-2023 .
  • "HD/VSA" . www.hd-computing.com . 13 de marzo de 2023. Consultado el 15 de abril de 2023 .
  • Ananthaswamy, Anil (13 de abril de 2023). "Un nuevo enfoque de la computación reinventa la inteligencia artificial" . Quanta Magazine . Consultado el 13 de junio de 2023 .