Historia (reciente) de la Inteligencia Artificial
Historia reciente de la IA
Son tres los factores tecnológicos que confluyeron en el éxito del paradigma de redes neuronales artificiales como la mejor manera en la actualidad de enfrentarse al problema, y los tres están profundamente interconectados porque giran sobre un concepto clave: el de “dato”. Los factores son la escala de su producción, de almacenamiento y de procesamiento.
Procesamiento: todos los datos, un dato
La creciente velocidad y memoria de las computadoras, junto con la disminución del costo de los componentes clave de hardware, son factores que han hecho posible el progreso en la inteligencia artificial. Una medida de este progreso es el número de transistores que se encuentran en la unidad central de procesamiento (CPU) de una computadora. Los transistores son dispositivos electrónicos que pueden amplificar o conmutar señales eléctricas, y que reemplazan a los viejos tubos de vacío que lograban hacer lo mismo aunque con mayor consumo eléctrico y una fragilidad que mejor ni pensar. Simplificando mucho las cosas, mientras más transistores tenga una CPU, más rápido y potente será el procesamiento de datos que puede hacer. En 1965, Gordon Moore, cofundador de Intel Corporation, observó que el número de transistores en las CPU se había duplicado cada año desde la invención del transistor en 1947 y creía que seguiría haciéndolo por al menos otra década. Esta observación se conoció como la “Ley de Moore” y ha demostrado ser notablemente precisa, aunque de ley tiene poco, puesto que se trata de una mera observación de una tendencia industrial y muy probablemente pronto deje de ser cierta porque estamos llegando a límites físicos de la miniaturización. De todas formas, como tendencia general, por ahora vale. Así, más o menos podemos predecir que la capacidad de cómputo se duplicará aproximadamente cada dos años, lo que permitirá el desarrollo de aplicaciones de IA más avanzadas y complejas que requieren grandes cantidades de datos y potencia de procesamiento.
El aumento exponencial en la capacidad de procesamiento predicho por la Ley de Moore se debe en parte a la disminución del tamaño de los transistores. Cuanto más pequeños son los transistores, más se pueden empaquetar en un chip. Por ejemplo, el microprocesador Intel 4004 de 1971 contenía 2300 transistores en un tamaño de 12mm x 12mm, mientras que los procesadores modernos contienen miles de millones de transistores en un área mucho más pequeña. Nótese que se trata de un crecimiento exponencial. Si cada dos años tenemos el doble de capacidad de cómputo, en cuatro años tenemos mucho más que el doble de lo que teníamos hace cuatro años. Mucho más.
Otro factor que podríamos incluir como parte del aumento en la capacidad de procesamiento y que impulsa el progreso en la IA es el desarrollo de conjuntos sofisticados de instrucciones para realizar tareas de manera eficiente. Estas son las que solemos llamar algoritmos y abarcan desde los relativamente simples, como ordenar datos alfabéticamente o de menor a mayor, hasta los más complejos, como identificar una cara en una foto. Los algoritmos son secuencias de pasos lógicos que resuelven un problema o realizan una tarea. Algunos ejemplos de algoritmos son el algoritmo de búsqueda binaria, que encuentra un elemento en una lista ordenada dividiéndola por la mitad repetidamente, el algoritmo de ordenación rápida, que ordena una lista de elementos comparándolos con un elemento elegido al azar, y el algoritmo de detección de caras, que utiliza técnicas de aprendizaje automático para reconocer las características faciales en una imagen. Ah, pero de esas vamos a hablar en un ratito.
Producción: datos por todos lados
Esto es lo que nos llevó a hablar de “big data” o “grandes datos” hace unos años y se vuelve clave para el éxito de arquitecturas que dependen de datos para “aprender”. Hoy por hoy casi todo lo que hacemos puede convertirse en un dato porque hay una mediación digital que hace que sea muy sencillo registrar el más mínimo cambio en el estado de alguno de los mundos que habitamos. Solo para dar algunos ejemplos:
Hacer clic en los enlaces de una página web genera datos sobre qué contenidos atraen más la atención del usuario. Realizar búsquedas en Google crea datos sobre los términos de búsqueda introducidos por el usuario. Publicar actualizaciones de estado y fotos en Facebook/Instragram/Twitter/X/etc. genera datos sobre las interacciones sociales de la persona. Los “me gusta”, comentarios y compartidos en publicaciones de redes sociales crean datos sobre popularidad de contenidos. Los historiales de navegación y cookies generan datos sobre los patrones de comportamiento en línea de los usuarios. Las calificaciones y reseñas de productos en Amazon producen datos sobre preferencias y evaluaciones de los consumidores. El seguimiento de ubicación mediante GPS en teléfonos inteligentes genera datos geospaciales de los movimientos de las personas. Internet de las cosas (IoT, en inglés): Los dispositivos IoT generan datos de sensores ambientales, como temperatura, humedad, presión, etc., de actividad de los usuarios como pasos dados, distancia recorrida, calorías quemadas, horas de sueño, etc., datos de consumo, como energía, agua, etc., datos de producción industrial o científica, como rendimiento de fábricas u observaciones astronómicas, etc.
Luciano Floridi, filósofo de la información, desarrolló el concepto de “infoesfera” para referirse al espacio informacional que envuelve el planeta Tierra como resultado del desarrollo de las tecnologías de la información y la comunicación. Algunas ideas clave sobre la infoesfera que nos plantea son:
La infoesfera misma como el entorno informacional que los seres humanos han creado y habitan, compuesto por la totalidad de la información que se produce, almacena, comparte y procesa a través de medios digitales. Así como los organismos vivos interactúan con y hacen a la biosfera, ahora nosotros interactuamos con y hacemos a la infoesfera, un nuevo espacio vital, cultural y político. La infoesfera está conformada por todo aquello que solemos denominar como datos, información, conocimiento, especificaciones, instrucciones, etc. Que existen en un nivel lógico, pero tienen efectos físicos reales. (Pensemos en la metáfora de “la nube”, como algo etéreo e invisible y que sin embargo tiene una ubicación muy física y real en algún servidor en algún lugar del mundo.) Según Floridi, en la actualidad somos algo así como “informaciones encarnadas”, es decir, organismos biológicos inmersos en un entorno informacional. Nuestra realidad ahora es “onlife” (online + offline). La vida “fuera de línea” está determinada por lo que hacemos mientras estamos “en línea”. Nuestras experiencias en línea tienen un impacto en nuestras experiencias fuera de línea, y viceversa.
Un punto clave es que la infoesfera nos plantea nuevos desafíos éticos sobre la distribución, acceso, propiedad y calidad de la información. Quizás debamos desarrollar algo así como una “ética ecológica” para este nuevo hábitat. Algunos de estos desafíos son tratados en una sección siguiente. (por acá 👉)
Almacenamiento: todos los datos en un lado
Una de las razones por la que tenemos tantos datos disponibles es porque tenemos dónde almacenarlos. Parece algo casi obvio, pero el desafío tecnológico detrás del almacenamiento y el transporte de datos es bajo todo punto de vista igual de desafiante e importante para la computación como el del procesamiento. Aquí el factor económico es clave. Gracias a los avances tecnológicos y la escalabilidad de los centros de datos, los costos han exponencialmente, de manera similar (una correlación que de casual no tiene nada 😉) pero inversa a la capacidad de procesamiento. Hacia finales de la década de 1980, el costo de almacenar un gigabyte de datos era de aproximadamente $ 100.000 dólares. En 2023, el costo es de aproximadamente $ 0,0001. Buen momento para pensar lo que estimaba Turing en la década de 1950. Allá entonces, almacenar en disco (memoria más lenta, pero históricamente más barata) un gigabyte nos hubiese costado aproximadamente unos 9 millones de dólares. En RAM, unos 411.000.000.000 dólares, asumiendo que sea tecnológicamente factible, lo cual claramente no lo era. Mirá la tendencia en un gráfico similar al que estaba en el video pero con algo más de detalles:
Fuente: https://ourworldindata.org/grapher/historical-cost-of-computer-memory-and-storage
¿Notás algo peculiar en la forma del gráfico? ¿Qué clase de escala se está usando para el eje de la izquierda?
Redes neuronales artificiales
Juntemos un poco los puntos ahora y volvamos a hablar de IA como técnica de computación. Más arriba mencionábamos que podía pensarse en un algoritmo que era capaz de reconocer caras. Hay algo del uso ya casi coloquial de “algoritmo” en esta descripción, ese mismo algoritmo que aparece cuando hablamos de “el algoritmo de recomendación” de Netflix, de Spotify, de YouTube o de cualquier cosa que de lejos se parezca una red social o un sitio de compras. Si se trata de recomendar “cosas” que “enganchen” al usuario en cierto tipo de comportamiento (comprar, permanecer más tiempo en un sitio o plataforma, etc.) la diferencia técnica es prácticamente inexistente. En sentido estricto, no son un algoritmo, porque no tenemos mucha certeza de que vaya a darnos el resultado que deseamos, pero sí hay involucrados una serie de “procesos computacionales” que involucran algoritmos y que son muy sencillos de programar. Esos algoritmos son los que están detrás de la configuración de estructuras de “redes neuronales” que luego van a hacer tareas a partir del estado que lograron en base a una exploración de datos o cierto tipo de lineamientos que recibieron durante su entrenamiento.
Como te contamos en el video, los algoritmos principales que impulsan muchos de los sistemas de IA modernos son de aprendizaje profundo (deep learning) que trabajan sobre una estructura de memoria que involucran redes neuronales artificiales, estructuras lógicas abstractas modeladas vagamente en el cerebro humano. Una confluencia de algoritmos matemáticamente muy bien definidos hacen a un programa peculiar que interactúa con una enorme estructura multicapa de “neuronas” buscando una configuración que resuelva el problema de acuerdo a la tarea que se le pidió enfrentar. Estas redes neuronales “aprenden” de grandes conjuntos de datos, identificando patrones para realizar tareas como el reconocimiento de voz, de imágenes, de relaciones de palabras, etc.
De nuevo, y para redondear un poco el punto: las redes neuronales artificiales nos permiten emular algunas de las capacidades más impresionantes del cerebro humano. Inspirado en la estructura de millones y millones de neuronas interconectadas en el cerebro, estos modelos computacionales están compuestos por nodos que imitan el comportamiento de las neuronas biológicas. Cada nodo recibe inputs o señales, los procesa y pasa la señal resultante a otros nodos, formando así una red. Lo que hace únicas a las redes neuronales es su arquitectura en capas y las conexiones ponderadas entre los nodos o neuronas, las que solemos llamar pesos. Al ajustar iterativamente los pesos de estas conexiones (que representan la intensidad o grado de conectividad entre ellas) según la retroalimentación de los datos (aquí el accionar de los algoritmos), la red neuronal puede modelar relaciones muy complejas entre los datos de entrada y los de salida. Esto les permite superar muchas de las limitaciones de los enfoques tradicionales de aprendizaje automático. Aquí podemos pensar en los datos de entrada en los ejemplos que tenemos y en las salidas como aquello que nos interesa saber o poder hacer sobre esos ejemplos, como identificar si hay una cara en una imagen y quizás hasta poder reconocer de quién es ese rostro. O quizás necesitamos distinguir perros de gatos por alguna razón. O un estado emocional según los rasgos faciales. El punto es que para muchos usos, no necesitamos una serie de instrucciones precisas sobre cómo clasificar, por ejemplo, gatos por un lado y perros por el otro. Sólo necesitamos muchos ejemplos y mucho poder de cálculo para tirarle al problema una red neuronal.
En resumen: aunque son una simplificación del complejo sistema nervioso, las redes neuronales exhiben propiedades similares. Pueden aprender de la “experiencia”, generalizar a partir de ejemplos y abstraer patrones complejos de grandes conjuntos de datos. Esto se logra ajustando iterativamente la fuerza de las conexiones entre nodos según retroalimentación, un proceso parecido a cómo las sinapsis se fortalecen en nuestros cerebros y su estructura va cambiando con el tiempo cada vez que queremos aprender algo. Solucionamos un problema, pero en el medio nos creamos otro: si no sé exactamente qué es lo que está haciendo mi red neuronal (la artificial o la de mi cerebro) para llevar a cabo la tarea que le pedí, ¿cómo puedo saber que lo está haciendo bien y que lo va a hacer bien en el futuro sea lo que sea que vea y que no me va a meter nunca en problemas por haberse equivocado? Dicho de otra forma: ¿cómo sé que sabe lo que quiero que sepa para actuar? ¿Cómo sé yo que sé algo?
Para profundizar
Hay literalmente toneladas de libros y artículos escritos sobre redes neuronales e inteligencia artificial. Sólo para empezar te dejo dos recomendaciones:
Ilcic, A.A. Desafíos epistémicos de la técnica: ¿aprenden las máquinas con su machine learning? Manuscrito
Khepri, W. (2018, noviembre 2). Redes Neuronales, ¿qué son?. Medium. https://medium.com/@williamkhepri/redes-neuronales-que-son-a64d022298e0
Si no le tenés miedo a la matemática, se puede empezar a profundizar por acá:
Sierra Ramos, J. M. (2022). Introducción a las redes neuronales artificiales. https://hdl.handle.net/20.500.14352/3133
Y ya que estamos, el artículo de Wikipedia en español sobre redes neuronales artificiales
Videos sobre la historia de la Inteligencia Artificial
(ver también la sección de historia en el “capítulo” sobre redes neuronales)
The machine that changed the world
The Thinking Machine - MIT 1961, que ahora está incluído en la siguiente compilación de documentales de historia de la IA