¡La Bendición de la Dimensionalidad?! (Parte 1)

¡La bendición de la dimensionalidad! (Parte 1)

Una técnica informática relativamente nueva está revolucionando el panorama del aprendizaje automático

Fig 1. Shakey the Robot construido en el Instituto de Investigación de Stanford, alrededor de 1972 (fuente: Wikimedia Commons)

De Dartmouth a LISP

“Creemos que se puede lograr un avance significativo en uno o más de estos problemas si un grupo cuidadosamente seleccionado de científicos trabaja juntos en ello durante un verano”, dijo la propuesta. Poco sabían John McCarthy y sus colegas mientras escribían esa línea, que su breve proyecto de verano estaba a punto de poner en marcha una de las mayores revoluciones tecnológicas que la humanidad ha presenciado.

En muchos aspectos, el Proyecto de Verano de Dartmouth de Inteligencia Artificial en 1956 [1,2] puede considerarse el lugar donde nació la IA, incluido el propio nombre de IA. Desde su inicio, han surgido dos corrientes de pensamiento, cada una con su propio enfoque distintivo para comprender y crear sistemas inteligentes.

IA Simbólica: la primera corriente

Se podría argumentar que la más “antigua” de las dos es llamada IA Simbólica (siendo la otra la IA Conexional). De manera muy sencilla, este enfoque implica:

  • crear una gran base de datos de objetos (digamos, animales),
  • definir reglas para manipular estos objetos (¿qué hace que un animal sea un mamífero, un reptil o un insecto?) y
  • utilizar los dos primeros pasos para realizar inferencias lógicas (“¿Es un gato un insecto?”)

Más formalmente, el enfoque simbólico de la IA enfatiza el uso de símbolos y reglas para representar y manipular el conocimiento. A diferencia de la IA conexional, que se inspira en la estructura del cerebro humano, la IA simbólica se centra en representaciones explícitas de conceptos y relaciones.

En los sistemas de IA simbólica, el conocimiento se codifica en forma de símbolos, que pueden representar objetos, acciones o conceptos abstractos. Estos símbolos se manipulan utilizando reglas de inferencia, que permiten que el sistema saque conclusiones y tome decisiones. Este razonamiento basado en reglas permite a los sistemas de IA simbólica resolver problemas de manera lógica y estructurada.

Ejemplo muy simple

  1. Podría cargar una IA con la siguiente base de datos con hechos sobre animales: nombre, tipo y características a. animal(gato, mamífero, pelaje, cuatro_patas). b. animal(pez, acuático, escamas, sin_patas). c. animal(pájaro, aviar, plumas, dos_patas). d. animal(serpiente, reptil, escamas, sin_patas).
  2. Luego programar las siguientes REGLAS para la clasificación basada en características a. mamífero(X) :- animal(X, mamífero, pelaje, cuatro_patas). b. acuático(X) :- animal(X, acuático, escamas, sin_patas). c. aviar(X) :- animal(X, aviar, plumas, dos_patas). d. reptil(X) :- animal(X, reptil, escamas, sin_patas).
  3. A continuación, tenemos un sistema experto simple que puede responder a diferentes consultas, tales como[a] Consulta: mamífero(gato). #Estamos preguntando si un gato es o no un mamífero. Respuesta esperada: verdadero[b] Consulta: mamífero(pez) Respuesta esperada: falso.

Aquí hay un artículo más detallado sobre cómo funcionan los sistemas de IA simbólica

La IA simbólica ha tenido un éxito particular en áreas que requieren razonamiento y planificación, como sistemas expertos y juegos. Los éxitos incluyen:

  • Shakey el Robot (ver la primera figura) fue construido por SRI International, anteriormente el Instituto de Investigación de Stanford [5],
  • sistemas expertos como la IA basada en reglas llamada “MYCIN“, desarrollada en la Universidad de Stanford en los años 70 para diagnosticar y tratar infecciones en humanos, y
  • ELIZA, uno de los primeros programas de procesamiento de lenguaje natural, fue creado por Joseph Weizenbaum en el MIT.

La IA simbólica fue, al menos inicialmente, excepcionalmente exitosa y se empleó en una amplia gama de aplicaciones. De hecho, se crearon familias enteras de lenguajes formales, como LISP (1950s), para facilitar el pensamiento y la codificación para los sistemas de IA [3]. Sin embargo, existen algunas fallas fundamentales con esta forma de pensar acerca de los sistemas de IA.

Fig 2. Una conversación con ELIZA (fuente: Wikimedia Commons)

Algunos problemas con la IA simbólica

  • Manejo de la incertidumbre– Los sistemas de IA simbólica tienen dificultades para representar y razonar sobre la incertidumbre.- Las situaciones del mundo real a menudo involucran información incompleta o ambigua, y los enfoques simbólicos tradicionales pueden tener dificultades para manejar la incertidumbre de manera efectiva.- En dominios donde la incertidumbre es inherente, como el diagnóstico médico o la comprensión del lenguaje natural, la IA simbólica puede proporcionar resultados demasiado deterministas o inexactos.
  • (relacionado) Representación y adquisición del conocimiento– Los sistemas de IA simbólica dependen de representaciones explícitas del conocimiento en forma de símbolos y reglas.- Esto plantea un desafío para capturar el vasto y matizado conocimiento del mundo real.- Una tarea muy compleja como la conducción autónoma, por ejemplo, simplemente no se puede representar como un conjunto de comandos “Si-Entonces-Sino” — ¿cómo codificarás miles de millones de esas condiciones en el agente de IA?
  • Falta de aprendizaje y adaptación– ¡Básicamente no hay forma de aprender de nuevos datos y experiencias! – El agente de IA simplemente hace lo que el programador codifica en él. Los datos del mundo real solo pueden inyectarse en el agente como el conocimiento del programador de cómo funciona dicho mundo, lo cual podría ser muy limitado y sesgado.

Estas, y algunas otras limitaciones bastante serias, hicieron que el progreso en la IA simbólica fuera muy frustrante. Sin embargo, mientras tanto, una línea de pensamiento paralela se había desarrollado silenciosamente, apoyada por los investigadores que, al escuchar la sentencia de muerte XOR de Minsky y Papert para el clasificador Perceptron [6], habían respondido con un desafiante “¡esto no ha terminado todavía!”

Todo cambió cuando la Nación Connectionista atacó…

El enfoque connectionista para la IA es (en su mayoría) lo que se lee en estos días, desde los taxis autónomos de Waymo hasta los sistemas de reconocimiento facial de Apple, hasta ese ejército de robots del que el tío Bob te acaba de hablar en la cena de Acción de Gracias.

Fig 3. Carro autónomo de Waymo (fuente: Wikimedia Commons)

El enfoque connectionista para la inteligencia artificial (IA) se inspira en la estructura y función del cerebro humano, con el objetivo de crear sistemas inteligentes emulando la interconexión de las neuronas. A diferencia de la IA simbólica, que se basa en reglas y representaciones explícitas, la IA connectionista utiliza programas de computadora llamados “Redes Neuronales Artificiales” (RNAs) para aprender de datos y tomar decisiones.

Las RNAs están compuestas por capas de neuronas artificiales interconectadas, cada una recibiendo señales de entrada, procesándolas y transmitiendo señales de salida a otras neuronas. Por ejemplo, en el lado derecho de la Fig. 4, cada disco (azul, verde o amarillo) representa una “neurona”. Estas conexiones, o pesos, se ajustan a través de un proceso llamado aprendizaje, lo que permite que la RNA identifique patrones y relaciones en los datos. Esta capacidad de aprendizaje permite que los sistemas de IA connectionista resuelvan problemas complejos y hagan predicciones basadas en nuevos datos, incluso sin programación explícita.

Fig 4. Redes neuronales artificiales (R) emulan la interconexión de redes neuronales biológicas. (L) El cerebro humano imaginado como una red neuronal profunda (fuente: Wikimedia commons)

Sin entrar en demasiados detalles (y vaya que hay demasiados detalles aquí), debemos señalar que incluso a alrededor de 1990, el Descenso de Gradiente y la Retropropagación se habían desarrollado sorprendentemente bien [4, 16] dada la falta general de entusiasmo por el enfoque conexionista en las décadas anteriores. Pero los intentos de resolver problemas del mundo real más complejos utilizando el enfoque conexionista se vieron obstaculizados por (1) el mal hardware informático y (2) la falta de datos de entrenamiento.

Moore y Li al rescate

A finales de la década de 2000, la ley de Moore había logrado grandes avances para ayudar a resolver el problema de la computación. Del mismo modo, investigadores como Fei Fei Li aprovecharon la enorme cantidad de datos de imágenes disponibles en línea para crear conjuntos de datos gigantescos que ayudaran a entrenar redes neuronales artificiales (por cierto, la creación de Li del conjunto de datos ImageNet es una saga lo suficientemente emocionante como para merecer su propio artículo 😉). Y cuando una IA resolvió¹ el desafío ImageNet de Li, el conexionismo se convirtió en el claro ganador.

30 de septiembre de 2012

Después de lo que ahora se conoce como el “momento AlexNet” (consulte [17, 15], o simplemente escuche a Pieter Abbeel hablar durante 5 minutos), las redes neuronales artificiales estallaron en la atención, revolucionando en pocos años campos notablemente dispares como el procesamiento del lenguaje natural, la medicina y la robótica (el laboratorio de Abbeel ha sido famoso por muchos de los avances en robótica). Pero la IA conexionista no es una panacea.

Problemas con la IA Conexionista

Antes de descartar el enfoque anterior como una “IA caótica”, veamos algunos problemas que afectan a este último.

  1. Falta de Explicabilidad [18] Imagina esa red neuronal mostrada en la figura anterior, pero con alrededor de 175 mil millones de discos en lugar de 11. ¿Cómo empezar a entender cómo razona esta monstruosidad gigantesca? La mayoría de las estimaciones sitúan la cantidad de parámetros de GPT 3.5 en aproximadamente 175 mil millones.- Las redes neuronales a menudo se consideran “cajas negras” debido a sus arquitecturas complejas y a la gran cantidad de parámetros.- Obviamente, en aplicaciones donde entender la lógica detrás de las decisiones es crucial (por ejemplo, diagnóstico médico, finanzas), la falta de explicabilidad puede limitar la adopción de modelos conexionistas.
  2. Memoria, Computación y Energía– Las redes neuronales artificiales requieren enormes cantidades de energía y computación tanto durante la fase de aprendizaje como para su funcionamiento normal.- Este problema es tan grave en la actualidad que la mayoría de las redes neuronales más grandes están siendo entrenadas y operadas por empresas privadas, porque las instituciones académicas simplemente no pueden costear la enorme factura eléctrica o comprar suficientes procesadores para mantener estos colosos funcionando.
  3. El Problema de la Unificación [8]- En el cerebro humano, diferentes regiones procesan varios aspectos de la información sensorial, como el color, la forma y el movimiento.- El problema de la unificación surge porque el cerebro necesita integrar estas características distintas en una percepción cohesiva de objetos y escenas. – Por ejemplo, cuando ves una pelota roja rodando por un campo verde, tu cerebro combina sin problemas la información sobre el color, la forma y el movimiento para formar una percepción unificada de una pelota roja rodante.- Los modelos conexionistas a menudo utilizan representaciones distribuidas, donde diferentes características se codifican mediante los patrones de activación de múltiples neuronas. Si bien esto permite un procesamiento paralelo y flexibilidad, dificulta la vinculación explícita de características específicas entre sí.- Si bien se han utilizado métodos como la atención para abordar este problema, todavía está lejos de resolverse y es una de las principales desventajas del enfoque conexionista.

En aras de la brevedad, me limitaré a los problemas mencionados anteriormente. También los revisitaremos un poco más adelante. Para obtener una discusión más detallada de las limitaciones del enfoque conexionista, consulte [9, Sección 2.1.2].

Por lo tanto, no sorprende cuando los investigadores afirman cosas como:

En nuestra opinión, la integración del procesamiento simbólico en las redes neuronales es de fundamental importancia para lograr una IA a nivel humano, y requerirá un esfuerzo conjunto de la comunidad para resolverlo. [8]

¿Puede HDC, maestro de ambos elementos, salvarnos?

La Computación Hiperdimensional (HDC), también conocida como Arquitectura de Símbolos Vectoriales (VSA), reúne ideas de ambos enfoques mencionados anteriormente para ayudar a aliviar algunos de los problemas que hemos discutido. La cantidad fundamental en el corazón de este tercer enfoque de IA se llama “hipervector”, que es simplemente un vector en un espacio dimensional muy alto (piensa en R¹⁰⁰⁰⁰ 😮).

Unir, agrupar y permutar [7, 19]

De forma muy general, estos hipervectores se utilizan para representar objetos y las relaciones entre ellos (si esto te suena familiar, estás en el camino correcto, simbólicamente hablando). Por ejemplo, podríamos tener un hipervector de 10,000 dimensiones α para “naranja” y β para “color”, luego el vector de 10,000 dimensiones obtenido mediante la multiplicación de elementos, representado por γ = αβ, representa “color naranja”. En la jerga de HDC, esta operación se llama “unión”.

Combinar dos o más resultados de dichas operaciones de unión a través de la adición de vectores simples nos ayuda a superponer múltiples características. Por ejemplo, si γ y δ representan “color naranja” y “forma redonda” respectivamente, entonces γ+δ representa “color naranja y forma redonda”. Estamos, por supuesto, trabajando hacia una representación simbólica de una naranja (🍊). Esta operación se llama “agrupamiento”.

La tercera operación, llamada “Permutación”, implica reorganizar las entradas de un hipervector. Por ejemplo, si comienzo con el vector x = [a,b,c], una permutación de x sería Πx = [b,c,a]. Esta operación se utiliza principalmente para mantener el “orden”, como una secuencia temporal, por ejemplo, y está fuera del alcance de un artículo introductorio sobre el tema.

Un verdadero hijo de lo simbólico y lo conexionista

Una vez que tenemos una representación suficientemente rica de objetos, frutas en nuestro caso, utilizando este procedimiento, tenemos el equivalente HDC de una “base de datos”, que luego se puede utilizar para responder consultas. Esta descripción del proceso HDC general es bastante amplia y debe formalizarse. Lo haremos en la Parte 2 de este artículo. Por ahora, notemos que si bien recuerda fuertemente a la IA simbólica, este procedimiento también incorpora algunas ideas de la IA conexionista.

Por ejemplo, ¿en qué parte de las 10,000 entradas de γ se almacenan “naranjez” y “forma”? Similar a las ANNS, la respuesta está en múltiples coordenadas. Este almacenamiento distribuido de información, llamado “Representación Holográfica”, hace que HDC sea notablemente robusto ante errores, porque es muy difícil corromper accidentalmente una proporción significativa de las 10,000 entradas. La otra razón de este cambio a vectores de muy alta dimensión es preservar la “ortogonalidad”, un tema un poco más complicado de comprender y que se tratará en detalle en la Parte II de este artículo.

¿En qué parte de las 10,000 entradas de γ se almacenan “naranjez” y “forma”? Similar a las ANNS, la respuesta está en múltiples coordenadas.

Además, como veremos en la Parte 2, estos hipervectores que representan características (γ+δ) se pueden construir completamente a partir de datos, por lo que HDC realmente puede “aprender de datos y experiencia”.

Finalmente, HDC involucra significativamente menos operaciones (especialmente operaciones no lineales) que las ANNs, por lo que tiende a consumir significativamente menos energía, capacidad de cálculo y memoria [9,10,20], siendo la pérdida de precisión bastante aceptable a menos que la aplicación sea extremadamente crítica en rendimiento (como vehículos autónomos o cirugía robótica).

Foto de James Coleman en Unsplash

De ahí el título…

A lo largo de las décadas, la comunidad de aprendizaje automático ha desarrollado, con buena razón, un arsenal de herramientas para lidiar con la reducción de dimensionalidad. Técnicas como el Análisis de Componentes Principales, el Análisis Factorial y el Análisis de Componentes Independientes se utilizan regularmente para mover los datos de manifolds de alta dimensionalidad a dimensiones más bajas para garantizar una mayor precisión en las pruebas con los datos disponibles [21].

En HDC, sin embargo, la filosofía parece moverse exactamente en la dirección opuesta. Tomamos puntos de datos de espacios de dimensiones más bajas y los mapeamos a variedades extremadamente dimensionales. Pero, como hemos visto antes (y veremos más claramente en la Parte II), este movimiento ofrece dos ventajas muy importantes, convirtiendo la alta dimensionalidad en una verdadera bendición.

¿Una alternativa viable?

HDC ha sido probado en una amplia variedad de conjuntos de datos de aprendizaje automático (ML), como clasificación de imágenes, reconocimiento de voz, detección de actividad humana, etc., y se ha demostrado que funciona de manera competitiva con redes neuronales y algoritmos ML estándar, como las máquinas de vectores de soporte [9,10,14,20 y referencias allí].

Sin embargo, si bien HDC combina claramente muchas ventajas de la IA simbólica y de conexiónista, la mayoría de las mejoras en potencia y computación se han demostrado en conjuntos de datos relativamente más pequeños y en tareas más simples. De hecho, es bastante improbable que HDC reemplace alguna vez a arquitecturas conexionistas de alta gama como los transformadores debido a la simplicidad inherente de sus operaciones y su arquitectura interna.

No obstante, este paradigma es una nueva dirección prometedora con mucho espacio para la exploración. Las alternativas de bajo consumo de energía a las RNN tienen varias áreas de aplicación, siendo las redes de sensores inalámbricos algunas de las más importantes.

Próximamente…

Este artículo tiene como objetivo despertar la curiosidad del lector sobre una técnica bastante peculiar que ha vuelto a surgir desde finales de la década de 2010. En la próxima parte, veremos el procedimiento preciso de HDC que se adopta para realizar la clasificación en realidad.

Una nota rápida sobre el estilo de escritura

Con el objetivo de mejorar la legibilidad, elegí deliberadamente un estilo de escritura semi-formal, incluyendo referencias solo cuando es absolutamente necesario y evitando mi estilo formal habitual de escribir artículos de investigación. Este es el estilo que también utilizaré para las demás partes de este artículo. Los académicos pueden encontrar esto un poco desconcertante, pero tenga en cuenta que la intención no es crear un artículo de revisión.

Referencias

  1. McCarthy, John, et al. “Una propuesta para el proyecto de investigación de verano de Dartmouth sobre inteligencia artificial, 31 de agosto de 1955.” Revista de IA 27.4 (2006): 12–12.
  2. Grace Solomonoff, “La reunión de mentes que lanzó la IA”, IEEE Spectrum, 6 de mayo de 2023.
  3. Edwin D. Reilly, “Hitos en ciencias de la computación y tecnología de la información”, 2003, Greenwood Publishing Group. pp. 156–157.
  4. Rumelhart, David E., Geoffrey E. Hinton y Ronald J. Williams. “Aprendizaje de representaciones mediante la propagación hacia atrás de errores”. nature 323.6088 (1986): 533–536.
  5. Publicación en el blog de SRI International, “75 años de innovación: Shaky the Robot”, Enlace: https://www.sri.com/press/story/75-years-of-innovation-shakey-the-robot/ 3 de abril de 2020.
  6. Minsky, Marvin L. y Seymour A. Papert. “Perceptrones” (1969).
  7. Kanerva, Pentti. “Computación hiperdimensional: una introducción a la computación en representación distribuida con vectores aleatorios de alta dimensión”. Cognitive computation 1 (2009): 139–159.
  8. Greff, Klaus, Sjoerd Van Steenkiste y Jürgen Schmidhuber. “Sobre el problema de la vinculación en las redes neuronales artificiales”. arXiv preprint arXiv:2012.05208 (2020).
  9. Kleyko, Denis, et al. “Una encuesta sobre la computación hiperdimensional también conocida como arquitecturas vectoriales simbólicas, Parte I: Modelos y transformaciones de datos”. ACM Computing Surveys 55.6(2023)
  10. Kleyko, Denis, et al. “Una encuesta sobre la computación hiperdimensional también conocida como arquitecturas vectoriales simbólicas, Parte II: Aplicaciones, modelos cognitivos y desafíos”. ACM Computing Surveys 55.9 (2023)
  11. Chen, Hanning, et al. “DARL: Acelerador reconfigurable distribuido para el aprendizaje de refuerzo hiperdimensional”. Actas de la 41ª Conferencia Internacional IEEE/ACM sobre Diseño Asistido por Computadora. 2022.
  12. Ma, Dongning, and Xun Jiao. “Computación hiperdimensional versus redes neuronales: comparación de arquitectura y proceso de aprendizaje”. arXiv preprint arXiv:2207.12932 (2022).
  13. Hernández-Cano, Alejandro, et al. “Reghd: Sistema de aprendizaje robusto y eficiente en regresión de aprendizaje hiperdimensional”. 2021 58ª Conferencia de Diseño Automático de la ACM/IEEE (DAC). IEEE, 2021.
  14. Hernández-Cano, Alejandro, et al. “Onlinehd: Aprendizaje en línea robusto, eficiente y de una sola pasada utilizando un sistema hiperdimensional”. 2021 Conferencia y Exposición de Diseño, Automatización y Pruebas de Europa (DATE). IEEE, 2021.
  15. Colaboradores de Wikipedia. “ImageNet.” Wikipedia, The Free Encyclopedia. Wikipedia, The Free Encyclopedia, 6 noviembre 2023. Web. 26 noviembre 2023.
  16. Widrow, Bernard, and Michael A. Lehr. “30 años de redes neuronales adaptativas: perceptrón, madaline y retropropagación”. Actas del IEEE 78.9 (1990): 1415–1442.
  17. Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. “Clasificación de ImageNet con redes neuronales convolucionales profundas”. Avances en sistemas de información neural 25 (2012).
  18. Zhang, Yu, et al. “Una encuesta sobre la interpretabilidad de las redes neuronales”. IEEE Transactions on Emerging Topics in Computational Intelligence 5.5 (2021): 726–742.
  19. Ananthaswamy, Anil. “Un nuevo enfoque de cálculo reimagina la inteligencia artificial”. Quanta Magazine, abril de 2023.
  20. Imani, Mohsen, et al. “Revisitando el aprendizaje hiperdimensional para FPGA y arquitecturas de bajo consumo”. 2021 Simposio Internacional IEEE sobre Arquitectura de Computadoras de Alto Rendimiento (HPCA). IEEE, 2021.
  21. Shalev-Shwartz, Shai, and Shai Ben-David. Comprendiendo el aprendizaje automático: de la teoría a los algoritmos. Cambridge University Press, 2014.

Notas a pie de página

  1. He utilizado la palabra “resuelto” en un sentido muy relativo aquí. Simplemente se refiere al importante salto en la precisión de clasificación de AlexNet en comparación con intentos anteriores.
  2. En relación al tamaño máximo que las ANN pueden manejar en la actualidad.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Ciencia de Datos

Cómo acceder a futuras versiones de Python como la 3.12 antes que las masas.

Un tutorial sobre la instalación y prueba de futuras versiones de Python, como la 3.12, antes que la mayoría, para ex...

Inteligencia Artificial

Conozca Prompt Diffusion Un marco de inteligencia artificial para permitir el aprendizaje en contexto en modelos generativos basados en difusión

Los modelos de lenguaje grandes de última generación (LLMs), incluyendo BERT, GPT-2, BART, T5, GPT-3 y GPT-4, han sid...

Inteligencia Artificial

Una nueva investigación de IA de Italia presenta un modelo generativo basado en difusión capaz tanto de la síntesis musical como de la separación de fuentes

Los seres humanos son capaces de procesar varias fuentes de sonido al mismo tiempo, tanto en términos de composición ...

Ciencia de Datos

Mejorando la inferencia de PyTorch en CPU desde la cuantificación posterior al entrenamiento hasta el multihilo.

Acelere el tiempo de inferencia en CPU con la selección de modelos, la cuantización posterior al entrenamiento con ON...