[0:00]Por cientos de años, las computadoras analógicas fueron las más poderosas del mundo. Predijeron eclipses y mareas y guiaron tanques antiaéreos. Luego, con la llegada de los transistores de estado sólido, las computadoras digitales las superaron. Actualmente, casi todas las computadoras que usamos son digitales. Pero hoy, una tormenta perfecta de factores está haciendo que resurja la tecnología analógica. Esta es una computadora analógica. Conectando estos cables de cierta manera, puedo programarla para resolver una gran variedad de ecuaciones diferenciales. Por ejemplo, esta configuración me permite simular una masa amortiguada oscilando en un resorte. En el osciloscopio puedes ver la posición de la masa en el tiempo. Puedo variar la amortiguación o la constante elástica o la masa, y podemos ver cómo cambia la amplitud y la duración de las oscilaciones. Lo que hace analógica a esta computadora es que no hay ceros ni unos aquí adentro. Lo que hay es un voltaje que oscila hacia arriba y abajo, al igual que una masa en un resorte. El circuito eléctrico es análogo del problema físico, solo toma lugar más rápido. Si cambio las conexiones eléctricas, puedo programar esta computadora para resolver otras ecuaciones diferenciales, como el sistema de Lorenz, que es un modelo básico de convección en la atmósfera. El sistema Lorenz es famoso porque fue uno de los primeros ejemplos de caos descubiertos. Y aquí puedes ver el atractor de Lorenz con su hermosa forma de mariposa. En esta computadora analógica puedo cambiar los parámetros y ver sus efectos en tiempo real. Estos ejemplos ilustran algunas ventajas de las computadoras analógicas: son dispositivos computacionales muy poderosos y pueden completar muchos cálculos rápidamente. Además, no usan mucha energía.
[2:02]Con una computadora digital, si quieres sumar dos números de 8 bits, necesitas unos 50 transistores. Mientras que en una analógica puedes sumar dos corrientes con solo conectar dos cables. Con una computadora digital para multiplicar dos números, necesitas unos 1000 transistores, todos combinando ceros y unos. Pero con una analógica, puedes pasar una corriente por un resistor, y luego el voltaje alrededor del resistor será I por R.
[2:37]Y de este modo, podemos multiplicar dos números entre sí. Pero las analógicas también tienen desventajas. Por un lado, no son dispositivos para propósitos generales. No podrás usar el Microsoft Word en una de estas. Además, como las entradas y salidas son continuas, no puedo ingresar valores exactos. Entonces, si intento repetir el mismo cálculo, nunca obtendré exactamente el mismo resultado. Y piensa en la construcción de las analógicas: siempre habrá algo de variación en el valor exacto de los componentes, como resistores o condensadores. Así que, como regla general, el margen de error puede ser del 1%.
[3:17]Si hablamos de computadoras analógicas, pensamos en poder, rapidez y ahorro de energía. Pero también tienen un solo propósito, irrepetible e inexactitud. Y, si parecen factores decisivos, es porque tal vez lo sean. Creo que son las mayores razones por las que las analógicas perdieron prestigio apenas las digitales se hicieron viables. Ahora, veamos por qué las computadoras analógicas pueden estar regresando. Todo comienza con la inteligencia artificial. Una máquina fue programada para ver y mover objetos. La inteligencia artificial no es nueva. El término se creó en 1956. En 1958, un psicólogo de la Universidad de Cornell, Frank Rosenblatt, construyó el Perceptron, diseñado para imitar a las neuronas del cerebro. Aquí hay un modelo básico de cómo funcionan las neuronas. Una neurona individual puede dispararse o no, así que su nivel de activación puede representarse como un uno o un cero. La señal de entrada de una neurona es la salida de un grupo de otras neuronas, pero la fuerza de estas conexiones entre neuronas varía. A cada una se le puede dar un peso distinto. Algunas conexiones son excitatorias y tienen pesos positivos, mientras que otras son inhibidoras y tienen pesos negativos. Para descifrar si una neurona particular se dispara, debes tomar la activación de cada neurona de entrada y multiplicarla por su peso y luego sumar todas. Si su suma es mayor que el número al que llamamos sesgo, la neurona se dispara. Si es menor, no se dispara. Como entrada, el Perceptron de Rosenblatt tenía 400 fotocélulas ordenadas en una cuadrícula para capturar una imagen de 20 por 20 píxeles. Puedes pensar cada píxel como una neurona de entrada con el brillo de cada uno como su activación. Estrictamente la activación debería ser cero o uno, pero podemos dejarla tener cualquier valor entre cero y uno. Todas estas neuronas están conectadas a una sola neurona de salida. Cada una a través de su propio peso ajustable. Para ver si la neurona de salida se disparará, multiplicas la activación de cada neurona por su peso y luego haces la suma. Esto es un producto escalar de vectores. Si el resultado es mayor que el sesgo, la neurona se dispara. Si es menor, no. El objetivo del Perceptron era distinguir confiablemente entre dos imágenes, como un rectángulo y un círculo. Por ejemplo, la neurona de salida podría dispararse si se le presenta un círculo, pero no con un rectángulo. Para lograr esto, el Perceptron debía entrenarse. Debían presentarle series de círculos y rectángulos distintos y en consecuencia, ajustar sus pesos. Podemos visualizar los pesos como una imagen, ya que hay un peso único para cada píxel de la imagen. Inicialmente Rosenblatt ajustó todos los pesos en cero. Si la salida del Perceptron es correcta, no se les hacen cambios a los pesos. Por ejemplo, aquí se les muestra un rectángulo y la neurona de salida no se dispara. Pero si hay un error, los pesos se ajustan. El algoritmo para actualizar los pesos es muy simple. Aquí la neurona de salida no se disparó cuando debía al mostrarle un círculo. Así que para cambiar los pesos, simplemente sumas las activaciones de entrada con los pesos. Si la neurona de salida se dispara cuando no debía, como aquí al mostrarle un rectángulo, restas las activaciones de entrada a los pesos.
[6:54]Y sigues haciendo esto hasta que el Perceptron identifica correctamente todas las imágenes de entrenamiento. Se demostró que este algoritmo convergerá siempre que sea posible mapear las dos categorías en grupos diferentes. El Perceptron era capaz de distinguir entre diferentes formas, como rectángulos o triángulos o diferentes letras. Según Rosenblatt, incluso podía diferenciar entre perros y gatos. Dijo que la máquina era capaz de lo equivalente a pensamientos originales. Y los medios lo apoyaron. El New York Times llamó el Perceptron, un embrión de computadora electrónica que la Marina cree podrá caminar, hablar, ver, escribir, reproducirse y ser consciente de su existencia. Luego de entrenarlo con muchos ejemplos, demostraron caras que nunca había visto. Y pudo exitosamente distinguir entre varones y mujeres. En verdad, el Perceptron era bastante limitado en lo que podía hacer. De hecho, no podía distinguir perros de gatos. Esta y otras críticas fueron hechas en un libro de Minsky y Papert, dos referentes del MIT en 1969. Eso llevó a un período difícil para las redes neuronales artificiales. Y se lo conoce como el primer invierno de la inteligencia artificial. Rosenblatt no sobrevivió a ese invierno, se ahogó navegando en la bahía de Chesapeake al cumplir 43 años. El laboratorio Nav es un camión apto para carretera, modificado para que los investigadores o las computadoras controlen el vehículo cuando sea necesario. En los 80 resurgió la inteligencia artificial cuando investigadores de Carnegie Mellon crearon uno de los primeros autos sin conductor. Era conducido por una red neuronal artificial llamada ALVINN. Era similar al Perceptron, pero tenía una capa oculta de neuronas artificiales entre la entrada y la salida. Como entrada, ALVINN recibía imágenes de 30 por 32 píxeles del camino a seguir. Aquí las muestro en 60 por 64. Cada neurona de entrada estaba conectada por un peso ajustable a una capa oculta de cuatro neuronas. Y cada una de ellas se conectaba a 29 neuronas de salida. Así que para ir de una capa de la red a la siguiente, se hacía una multiplicación de matrices. La activación de entrada por los pesos. La neurona de salida con mayor activación determina el ángulo de giro del camión. Para entrenar la red neuronal, un humano condujo el camión aportando el ángulo correcto de giro para una imagen de entrada dada. Todos los pesos en la red neuronal se ajustaron con el entrenamiento para que la salida de ALVINN coincidiera con la de un humano. El método para ajustar los pesos era la retropropagación, que no explicaré mucho ahora, pero Welsh Labs tiene una gran serie sobre esto. El link está en la descripción. De nuevo, puedes visualizar los pesos para las cuatro neuronas ocultas como imágenes. Los pesos son aleatorios al principio, pero al avanzar el entrenamiento, la computadora aprende a identificar patrones. Puedes ver las líneas del camino emerger en los pesos. A su vez, el ángulo de giro de salida confluye con el ángulo de giro humano. La computadora condujo el vehículo a una velocidad máxima de 1 o 2 kilómetros por hora. El límite era la velocidad con la que la computadora podía realizar multiplicaciones de matrices. A pesar de los avances, las redes neuronales artificiales tenían problemas con tareas sencillas, como distinguir gatos de perros. Y nadie sabía si el problema estaba en el hardware o en el software. El modelo de inteligencia era bueno y necesitábamos computadoras más potentes. O teníamos una idea totalmente errada sobre cómo construir sistemas inteligentes. La inteligencia artificial experimentó otra caída en los años 90. A mediados de los años 2000, la mayoría estaba concentrado en mejorar los algoritmos. Pero una investigadora, Fei-Fei Li, creyó que el problema era otro. Tal vez las redes neuronales necesitaban más información para entrenarse. Así que planeó mapear todo el mundo de los objetos. De 2006 a 2009, creó ImageNet, una base de datos de 1,200,000 imágenes rotuladas. Era la base de datos de imágenes rotuladas más grande que había. Y de 2010 a 2017, ImageNet realizó un concurso anual: el desafío del reconocimiento facial a gran escala. Allí competían programas de software para detectar y clasificar imágenes. Se clasificaban en 1000 categorías diferentes, incluyendo 90 razas distintas de perros. Una red neuronal compitiendo allí, tendría una capa de salida de 1000 neuronas, cada una correspondiente a una categoría de objeto que podría aparecer en la imagen. Si la imagen contiene un pastor alemán, la neurona de salida que corresponde a pastor alemán, debería tener la activación más alta. No fue sorpresa que resultara ser un desafío difícil. Una forma de juzgar el desempeño es ver cuán frecuentemente las cinco mayores activaciones de neuronas no son la categoría correcta. Esto es llamado Tasa de error del top 5. En 2010, el mejor tuvo una tasa de error del top 5 de 28.2%. O sea que casi un tercio de las veces, la respuesta correcta no estaba entre las cinco más elegidas. En 2011, esta tasa de error fue del 25.8%, una mejora importante. Pero el año siguiente, una red neuronal artificial de la Universidad de Toronto llamada AlexNet, arrasó con la competencia con una tasa de error de solo 16.4%. Lo que distinguía a AlexNet era su tamaño y profundidad. La red tenía ocho capas y en total 500,000 neuronas. Para entrenar a AlexNet, se debían ajustar con cuidado 60 millones de pesos y sesgos, usando la base de datos. Por todas las multiplicaciones de matrices, procesar una imagen requería 700 millones de operaciones matemáticas. El entrenamiento era computacionalmente intensivo. El equipo lo logró siendo precursor en el uso de GPUs, unidades de procesamiento gráfico, muy utilizadas para controlar pantallas y monitores. Se especializan en cálculos paralelos rápidos. El artículo sobre AlexNet que describe su investigación es un gran éxito y ha sido citado más de 100,000 veces. Identifica la escala de la red neuronal como fundamental para su éxito. Requiere mucho trabajo entrenar y hacer funcionar la red, pero la mejora en el desempeño lo vale. Con otros siguiendo su guía, la tasa de error del top 5 en la competencia de ImageNet cayó en picada en los años siguientes y llegó a un 3.6% en 2015. Ese desempeño es mejor que el humano. La red neuronal que logró esto tenía 100 capas de neuronas. El futuro es claro: veremos una demanda creciente de redes neuronales más y más grandes. Y esto es un problema por varios motivos. Uno, el consumo de energía. Entrenar una red neuronal requiere una cantidad de energía eléctrica similar al consumo anual de tres hogares. Otro problema es el cuello de botella Von Neumann. Casi todas las computadoras digitales modernas almacenan información en su memoria y acceden a través de un bus. Al hacer todas las multiplicaciones de matrices requeridas por las redes neuronales profundas, la mayor parte del tiempo y la energía se gasta en alcanzar esos valores de peso y no en hacer los cálculos. Y finalmente, están las limitaciones de la Ley de Moore. Por décadas, el número de transistores por chip se ha duplicado cada aproximadamente 2 años, pero ahora, el tamaño de un transistor se está acercando al de un átomo. Así que hay desafíos físicos fundamentales para seguir miniaturizándolo. Es la tormenta perfecta para las computadoras analógicas. Las digitales están llegando a sus límites, mientras que las redes neuronales aumentan su popularidad y mucho de lo que hacen se reduce a una sola tarea: multiplicaciones de matrices. Lo mejor es que las redes neuronales no requieren la precisión de las computadoras digitales. Si la red neuronal está 96 o 98% segura de que la imagen es una gallina, no importa, aún es una gallina. Así que algo de variación en los componentes o en las condiciones puede tolerarse. Fui a un emprendimiento de computadoras analógicas en Texas llamado Mythic AI. Aquí están creando chips analógicos para redes neuronales y me mostraron el trabajo de varios algoritmos de inteligencia artificial. ¿Lo ves? Te está escaneando. Sí. Es fascinante.
[15:16]El mayor uso es para mejoras en la realidad virtual. Si tu amigo está en su casa y tú en la tuya, pueden renderizarse entre sí en el mundo virtual. Así que debe capturar tu pose rápidamente y renderizarlo en el mundo virtual. Espera, ¿esto es para el metaverso? Sí, eso parece. Es una aplicación, es una aplicación muy metaverso. Esto es estimación de profundidad con tan solo una webcam. Captura la escena y genera un mapa de calor. Si es claro es porque está cerca. Si está lejos, lo hace oscuro. Todos estos algoritmos pueden realizarse en computadoras digitales. Pero aquí la multiplicación de matrices está sucediendo en el dominio analógico. Para hacer esto posible, Mythic ha dado otro propósito a las celdas de almacenamiento flash digital. Normalmente se usan como memorias, almacenando un uno o un cero. Si aplicas un gran voltaje positivo a su puerta de control, los electrones suben por el túnel a través de una barrera aislante y quedan atrapados en la puerta flotante. Remueves el voltaje y los electrones pueden seguir en la puerta flotante por décadas, evitando que la celda conduzca corriente. Así puede almacenar un uno o un cero. Puedes leer el valor almacenado aplicando un pequeño voltaje. Si hay electrones en la puerta flotante, no fluirá corriente, por lo que es un cero. Si no hay electrones, la corriente sí fluye y es un uno. La idea de Mythic es usar estas celdas, pero no como unos o ceros, sino como resistores variables. Hacen esto colocando un número específico de electrones en cada puerta flotante, en lugar de todo o nada. A mayor cantidad de electrones, mayor resistencia del canal. Cuando luego aplicas un pequeño voltaje, la corriente que fluye es igual a V sobre R. Pero también puedes pensar esto como voltaje por conductancia, donde la conductancia es la inversa de la resistencia. Una sola celda flash puede usarse para multiplicar dos valores: voltaje por conductancia. Para usar esto con la red neuronal artificial, primero inscriben todos los pesos en las celdas flash, como la conductancia de cada celda. Luego ingresan los valores de activación como el voltaje de las celdas. La corriente resultante es el producto de voltaje por conductancia, que es activación por peso. Las celdas están conectadas de forma que la corriente de cada multiplicación se suma, completando la multiplicación de matrices.
[17:39]Este es nuestro primer producto. Puede hacer 25 billones de operaciones matemáticas por segundo. 25 billones. Sí, 25 billones por segundo en este pequeño chip que usa solo 3 watts de energía. ¿Cómo se compara con un chip digital? Los sistemas digitales más nuevos pueden hacer de 25 a 100 billones de operaciones por segundo, pero son sistemas grandes de miles de dólares que usan de 50 a 100 watts de potencia. Obviamente no comparamos manzanas con manzanas. No son cosas comparables. Para entrenar esos algoritmos necesitas hardware grande como esto. Puedes hacer todo tipo de cosas en la GPU, pero, si tú trabajas con inteligencia artificial y quieres implementarla, podrías usar esto. Puedes imaginarlo en cámaras de seguridad, sistemas autónomos, equipamiento de inspección en manufacturas, o sea, cada vez que hagan una galleta, la inspeccionan con una cámara y las desaprobadas son, pues, descartadas del proceso. Están usando inteligencia artificial para ver cuáles están bien y cuáles no. Algunos proponen usar circuitos analógicos en altavoces inteligentes solo para oír la palabra que las activa, como Alexa o Siri. Usarían mucho menos energía y podrían rápida y confiablemente encender un circuito digital. Pero aún debes lidiar con los desafíos analógicos. Para una de las redes populares debería haber 50 secuencias de multiplicaciones de matrices que debes hacer. Si hicieras eso solo en el dominio analógico, al momento de llegar a la salida está tan distorsionado que no obtienes ningún resultado. Así que lo pasas del dominio analógico al dominio digital, lo envías al próximo bloque de procesamiento y luego lo pasas al dominio analógico otra vez y así preservas la señal. Cuando Rosenblatt estaba construyendo su Perceptron, usó una computadora digital IBM. Como la halló muy lenta, construyó una computadora analógica personalizada que tenía resistores variables y pequeños motores para manejarlos. En definitiva, su idea de redes neuronales resultó correcta. Quizás también estaba en lo cierto con lo analógico. No sé si las computadoras analógicas tendrán éxito al igual que lo tuvieron las digitales. Pero sí parecen más adecuadas para muchas tareas que queremos que las computadoras realicen. Es extraño porque siempre vi a las computadoras digitales como las más óptimas para procesar información. Todo, desde música, imágenes o videos, se ha hecho digital en los últimos 50 años. Pero quizás en 100 años recordemos a lo digital no como el punto final de la tecnología de la información, sino como un punto de partida. Nuestros cerebros son digitales en cómo una neurona se dispara o no, pero también son analógicos en cuanto a que el pensamiento sucede en todas partes a la vez. Tal vez lo que necesitamos para alcanzar la verdadera inteligencia artificial, o sea, máquinas que piensen como nosotros, es el poder de lo analógico.



