Archivo por meses: mayo 2019

Un sistema llamado ‘Neural Lander’ usa IA para aterrizar drones sin problemas

El nuevo sistema emplea una red neuronal profunda para superar el desafío de la turbulencia de efecto suelo

Aterrizar los drones multi-rotor sin problemas es difícil. Una compleja turbulencia es creada por el flujo de aire de cada rotor que rebota del suelo a medida que el suelo crece cada vez más cerca durante un descenso. Esta turbulencia no se comprende bien, ni es fácil de compensar, especialmente en los drones autónomos. Es por eso que a menudo el despegue y el aterrizaje son las dos partes más difíciles del vuelo de un avión no tripulado. Los drones normalmente se tambalean y avanzan con lentitud hasta el aterrizaje, cuando finalmente se corta la energía y se dejan caer la distancia restante al suelo.

En el Centro de Tecnologías y Sistemas Autónomos (CAST – Center for Autonomous Systems and Technologies) de Caltech, los expertos en inteligencia artificial se han unido a expertos en control para desarrollar un sistema que utiliza una red neuronal profunda para ayudar a los drones autónomos a «aprender» cómo aterrizar de forma más segura y rápida, mientras se consume menos energía. El sistema que han creado, denominado «Neural Lander», es un controlador basado en aprendizaje que rastrea la posición y la velocidad del avión no tripulado, y modifica su trayectoria de aterrizaje y la velocidad del rotor para lograr el aterrizaje más suave posible.

«Este proyecto tiene el potencial de ayudar a los drones a volar de manera más suave y segura, especialmente en presencia de ráfagas de viento impredecibles, y consumir menos energía de la batería, ya que los drones pueden aterrizar más rápidamente», dice Soon-Jo Chung, profesor de Aeronáutica de Bren, División de Ingeniería y Ciencias Aplicadas (EAS) e investigador científico en JPL, que Caltech administra para la NASA. El proyecto es una colaboración entre los expertos en inteligencia artificial (AI) de Chung y Caltech, Anima Anandkumar, profesora de informática y ciencias matemáticas, y Yisong Yue, profesora asistente de informática y ciencias matemáticas.

Un documento que describe el Neural Lander se presentó en la Conferencia Internacional sobre Robótica y Automatización del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE). Los coautores principales del artículo son los estudiantes graduados de Caltech Guanya Shi, cuya investigación de doctorado es supervisada conjuntamente por Chung y Yue, así como Xichen Shi y Michael O’Connell, que son estudiantes de doctorado en el Grupo de Control y Robótica Aeroespacial de Chung.

Las redes neuronales profundas (DNN) son sistemas de IA que se inspiran en sistemas biológicos como el cerebro. La parte «profunda» del nombre se refiere al hecho de que las entradas de datos se mueven a través de múltiples capas, cada una de las cuales procesa la información entrante de una manera diferente para descubrir detalles cada vez más complejos. Los DNN son capaces de aprendizaje automático, lo que los hace ideales para tareas repetitivas.

 

Para asegurarse de que el drone vuele suavemente bajo la guía del DNN, el equipo empleó una técnica conocida como normalización espectral, que suaviza las salidas de la red neuronal para que no realice predicciones muy variadas a medida que cambian las entradas y condiciones. Las mejoras en el aterrizaje se midieron al examinar la desviación de una trayectoria idealizada en el espacio 3D. Se realizaron tres tipos de pruebas: un aterrizaje vertical recto; un arco descendente de aterrizaje; y el vuelo en el que el avión no tripulado roza una superficie que se corta, como en el borde de una mesa, donde el efecto de la turbulencia del suelo variaría considerablemente.

El nuevo sistema reduce el error vertical en un 100 por ciento, lo que permite aterrizajes controlados y reduce la deriva lateral en hasta un 90 por ciento. En sus experimentos, el nuevo sistema logra un aterrizaje real en lugar de quedarse atrapado a unos 10 a 15 centímetros por encima del suelo, como suelen hacer los controladores de vuelo convencionales no modificados. Además, durante la prueba el Neural Lander produjo una transición mucho más suave cuando el dron hizo la transición de deslizarse sobre la mesa para volar en el espacio libre más allá del borde.

«Con menos errores, el Neural Lander es capaz de un aterrizaje más rápido y suave, y de deslizarse suavemente sobre la superficie del suelo», dice Yue. El nuevo sistema se probó en el aeródromo de tres pisos de CAST, que puede simular una variedad casi ilimitada de condiciones de viento en el exterior. Inaugurado en 2018, CAST es una instalación de 10.000 pies cuadrados donde los investigadores de EAS, JPL y la División de Ciencias Geológicas y Planetarias de Caltech se unen para crear la próxima generación de sistemas autónomos, mientras avanzan los campos de investigación de drones, exploración autónoma, y sistemas bioinspirados.

«Este esfuerzo interdisciplinario trae expertos de los sistemas de aprendizaje automático y control. Apenas hemos comenzado a explorar las ricas conexiones entre las dos áreas», dice Anandkumar.

Además de sus obvias aplicaciones comerciales, Chung y sus colegas han presentado una patente sobre el nuevo sistema. Éste podría ser crucial para los proyectos que actualmente se están desarrollando en CAST, incluido un transporte médico autónomo que podría aterrizar en lugares de difícil acceso. (como un tráfico bloqueado). «La importancia de poder aterrizar de forma rápida y sin problemas cuando se transporta a una persona lesionada no se puede exagerar», dice Morteza Gharib, Profesor de Aeronáutica e Ingeniería Bioinspirada; director de CAST; y uno de los principales investigadores del proyecto de ambulancia aérea.

Manejo preciso de servos en Arduino: grados y milisegundos

Siendo miembro de grupos donde uno se entera de diversos problemas que se les presentaron a otros, a veces uno que resulta básico pero nunca se le ha presentado. En este caso se trató de un problema con el manejo de un servo que es el más vendido para los que se inician, y que a demás viene con los kits básicos de Arduino: el mini o micro servo SG90. El problema se presenta con la biblioteca Servo, pero también puede ocurrir con otro programa.

Me dije —ya que he manejado servos desde antes de que apareciera Arduino— que el problema debía ser una señal de posicionamiento incorrecta. Para entender bien de qué hablo, le pueden dar una mirada al artículo Servos: características básicas.

Una señal se comprueba con osciloscopio. Por suerte dispongo tanto de uno antiguo, con pantalla CRT, como de los que se pueden comprar ahora dentro de la familia Arduino, dotado de un pantalla TFT.

Después de algunas mediciones, me di cuenta de que el funcionamiento de la biblioteca Servo.h de Arduino deja un poco que desear, ya veremos por qué. Pero también ofrece una herramienta (en la función servo.attach) que, bueno, puede ser que no hayamos investigado y que por algo está disponible. Esto puede parecer algo para principiantes, pero hasta que uno empieza a tener estas complicaciones no se da cuenta, y luego de tener una comprensión mejor se logra usar la biblioteca de servo de Arduino con facilidad y dominando lo que hace.

Función write()

La razón de ser de una biblioteca es que uno se pueda desentender del manejo de programa específico de un elemento conectado a una placa de microcontrolador, y bueno, la biblioteca Servo de Arduino fue hecha para facilitar el control de los servos con un mínimo de código y complicaciones. La página de referencia de Arduino para el comando write(), que es parte de la biblioteca Servo.h, trae el siguiente código de ejemplo:

Este código de ejemplo le indica a un servo, conectado en este caso al pin 9, que se mueva a su posición central (que se define como 90°). Si se tratara de un servo de rotación continua, esto detendrá el movimiento del servo… pero este es tema para otro artículo.

Al correr este pequeño programa de demostración, los servos que se han conectado a ese pin se colocarán en sus posiciones centrales. Pero bueno, si lo consideramos desde la faceta mecánica, este punto medio puede que en algunos servos no sea exactamente el centro del arco completo del recorrido.

Un pulso con un ancho de 1.500 microsegundos debe corresponder a 90°, posición definida como el punto central del recorrido. Los servos más comunes aceptan entradas de 1.000 µs (1 ms) a 2.000 µs (2 ms), y 1.500 µs (1,5 ms) correspondientes a la posición central. Para un servo con un recorrido de 0 a 180°, esto sería 90°.





Ahora me toca aclarar que siempre utilicé valores en microsegundos para controlar servos, ya que la precisión del posicionamiento es mucho mayor. La biblioteca de servos permite usar el comando writeMicroseconds, que define el ancho de pulso exacto que se desea enviar a un servo. Los problemas comienzan cuando se usan ejemplos —ya escritos— en los que se utiliza el comando de escritura con un parámetro en grados (en el ejemplo de arriba, 90°).

Parecería lógico que un comando de escritura que instruye a un servo para que se ajuste a 90° debería enviar los mismos pulsos que un comando writeMicroseconds que envía pulsos de 1.500 µs. Es decir, write(90) y writeMicroseconds(1500) deberían enviar pulsos idénticos de 1500 µs. Pero resulta que esta suposición puede llevarnos a problemas.

Basándome en un ejemplo de internet, subí el siguiente código a un Arduino UNO R3, y visualicé las señales con osciloscopio.

Aquí es cómo se ven las salidas de los pines 3, 4 y 5:

■ El pin 3 de Arduino, fijado en 90°, da un pulso de 1,472 ms
■ El pin 4 de Arduino produce un pulso de 1.500 µs: 1,500 ms
■ El pin 5 de Arduino, fijado en 90°, da un pulso de 1,500 ms

El ancho de pulso se mide con el programa del osciloscopio. Por las dudas de que sea un problema técnico del osciloscopio, midiendo con un papel superpuesto sobre la pantalla se puede observar que sí existe la diferencia.

Y también al superponer señales, se observa la diferencia.

Esta diferencia entre 1.472 µs y 1.500 µs es pequeña y puede ser que ni siquiera implique diferencias en las posiciones del servo.

Si se observa la señal de servo3, que también programa el movimiento del servo con el parámetro de colocarse en posición de 90°, se nota que el ancho del pulso es correcto, 1.500 µs, el mismo que para servo2, para el que se fijó el pulso en forma directa en 1.500 µs.

El comando write(90) es el mismo en la primera y la tercera señal de servo, así que… ¿por qué uno envía un pulso de 1,472 ms y el otro 1,500 ms?

Arduino attach()

La respuesta está en el comando attach de la librería Servo. La página de referencia de Arduino enumera dos formas del comando:

La primera versión es el código mínimo que requiere un programa para designar un pin de E/S para el control de un servo. El segundo formato incluye dos parámetros muy importantes, pero opcionales, que determinan el rango mínimo y máximo de ancho de pulso para el programa. Es posible que en el ejemplo de arriba, el uso de límites en el segundo servo haya acomodado los valores de tiempo para que el tercero reciba un pulso correcto; pero al volver el bucle al principio y correr la función para 90º sin topes definidos, se vuelve a desacomodar.

Tanto en la página de referencia del comando attach en arduino.cc como en la propia biblioteca Servo, se establece claramente que las configuraciones mínimas y máximas predeterminadas son 544 y 2.400 µs, respectivamente. Pero como hay servos con diferentes extremos de carrera, se pueden fijar estos límites “opcionales” de ancho de pulso, que en realidad —para evitar dolores de cabeza y roturas de los servos— sería bueno acostumbrarse a usar.

Si uno está habituado a usar el comando writeMicroseconds en lugar de write, es posible que nunca haya pensado en los parámetros de ancho de pulso mínimo y máximo. Pero si se usa el comando write y se establecen las posiciones de los servos con ángulos y grados, entonces DEBEMOS definir explícitamente estos parámetros en los programas de Arduino que usan Servo.h, previa lectura de los datos indicados en la hoja de datos del servo utilizado. O si no, definiéndolos experimentalmente; porque hasta existen diferencias entre servos del mismo modelo.

Para definir los valores correctos de extremos de recorrido de un servo, puede utilizar un montaje como el que sigue, que se trata de una cartulina impresa y una aguja señaladora de cartón en el eje del servo, y enviar comandos con writeMicroseconds() hasta lograr el valor para el ángulo cero y el ángulo 180. El disco lo imprimí con un programa on-line muy útil para crear imágenes de discos de encoder.

Ingrese a esta página y pruebe primero con los siguientes parámetros:

Luego puede jugar con los valores hasta lograr el dibujo que usted necesite. Hay otras opciones en internet, incluso hay generadores de código postscript que se puede leer en Corel y que corren en Windows. Es cuestión de buscar.

Solución para la librería Servo

En el código de ejemplo, para la tercera señal de servo no dejaremos los anchos de pulso predeterminados y fijaremos los límites con los valores 1.000 y 2.000 µs. Esta es la razón por la que las señales del primero y tercer servo envían pulsos diferentes aunque se utilicen comandos idénticos.

Además de que no lograremos posicionamientos correctos de los servos con señales ligeramente descentradas, un servo podría interpretar de manera impredecible los anchos de pulso por encima o por debajo de los límites para los que fue diseñado. Los pulsos por debajo y por encima del límite también pueden dañar físicamente un servo.

Si un servo con recorrido de 0 a 180° está diseñado para responder a pulsos de 1.000-2.000 µs, interpretará 1.000 µs como 0°, y 2.000 µs como 180°. Pero, con un rango de límites de ancho de pulso predeterminado de 544 a 2.400 µs, el Arduino enviará una señal de ~1.000 µs para un ángulo de 44°. Un rango de pulsos de 1.000 a 2.000 µs se convertirá en un recorrido mecánico total de ~90° del eje del servo en lugar de 180°. Este y otros problemas potenciales pueden evitarse si se usan microsegundos en lugar de ángulos en grados, o si los parámetros opcionales de ancho de pulso para los extremos se definen en la configuración de pines para cada servo.

Es muy común que se dé por sentado que las bibliotecas de Arduino funcionan correctamente con sólo unos simples parámetros. La próxima vez que sus servos actúen de forma impredecible en un nuevo proyecto, vuelva a verificar que ha establecido los límites de ancho de pulso en la configuración del pin. Puede que con esto sea suficiente y se ahorre gran cantidad de tiempo.



Translatotron, el primer traductor simultáneo

La tecnología, elemento indispensable para romper las barreras, también idiomáticas. La evolución de los servicios basados en Inteligencia Artificial supera nuevos desafíos. Varias décadas después de desarrollar los primeros «convertidores» de audio, Google ha sido capaz de desarrollar un software que puede traducir la voz humana -de un idioma- a otro directamente sin necesidad de realizar ninguna conversión a texto.

Su nombre, sin embargo, suena a película de ciencia-ficción; Translatotron. No oculta sus intenciones porque está concebido para mejorar la relación entre el humano y la máquina, pero, como extensión, mejorar las comunicaciones entre personas igualando así sus condiciones (y limitaciones) idiomáticas. Un sistema que, en un futuro, puede dar pie a traductores automáticos como si se tratase de un teléfono móvil y que supone un nuevo paso en la traducción simultánea.

Esta herramienta combina diferentes tecnologías ya desarrolladas que empiezan, además, a formar parte de la jungla electrónica en la que reside el usuario. Tradicionalmente, estos sistemas eran independientes. Ahora, al separar la conversación en tres escenarios se pueden combinar. Así, el funcionamiento de Translatotron se basa en un solo proceso: en lugar de dividirlo en distintas fases como sucede en los sistemas de traducción actuales, que se apoyan en mecanismos de síntesis de voz a texto: reconocimiento de voz automático que transcriben la voz de origen como texto, los sistemas de traducción automática que convierten el texto transcrito al idioma de destino y, por último, la capacidad de sintetizar texto y voz para generar audio. Es decir, una traducción simultánea y sin apenas intermediarios, aunque no es perfecto: cada uno de estos pasos va arrastrando pequeños errores.

Google va más allá; ahora ha ideado el mecanismo para traducir de manera automática y realizar una traducción de voz a voz, con resultados muy precisos e, incluso, intentar «imitar» el habla de la persona. «Este sistema evita dividir la traducción en etapas separadas, con lo que aporta algunas ventajas sobre otras soluciones, incluido una mayor velocidad y evitando errores de composición entre el reconocimiento y la traducción, lo que facilita la retención de la voz del hablante original después de la traducción y un mejor manejo de palabras que no necesitan ser traducidas, por ejemplo, nombres propios», señalan en un comunicado fuentes del gigante de internet.

El proyecto, todavía en fase de pruebas, se basa en una red de secuencia a secuencia que procesa el audio de origen en espectrogramas -desgloses detallados de frecuencias del audio- y lo trata como un código de entrada, generando otros nuevos modelos de audio con contenido traducido para, posteriormente, convertir en idioma de destino. La gran aportación es que este proceso retiene el carácter de la voz original, por lo que la traducción, al final, no se realiza de forma robótica y enlatada sino intentando conservar algunos detalles del timbre de la voz, su color, la cadena e, incluso, el tono de la frase original.

Así, puede añadirse un mecanismo adicional que aprende las características del habla de una persona y que las codifica para lograr mantener su tono para utilizarlo posteriormente en la sintetización de la traducción de voz. En todo el proceso, la Inteligencia Artificial de Google utiliza objetivos multitarea para predecir los movimientos de la fuente, al mismo tiempo que genera los espectogramas de la traducción.La compañía ha expuesto, además, algunos logros alcanzados por este ingenio a través de varios clips de audio.



Un chip de I.A. supera a los robots y drones más impresionantes

En una reciente y deslumbrante mañana en California (EE.UU.), la investigadora del MIT Vivienne Sze subió a un pequeño escenario para realizar la que quizá haya sido presentación más desconcertante de su carrera. Dominaba el tema a la perfección. Debía hablar sobre los chips que se desarrollan en su laboratorio y de cómo iban a acercar el poder de la inteligencia artificial (IA) a una multitud de dispositivos con una potencia limitada sin tener que depender de los enormes centros de datos donde se realizan la mayoría de los cálculos de IA. Pero, tanto lo que vio en la conferencia como el público que acudió la hicieron reflexionar.

Hablamos de MARS, una conferencia de élite, solo para invitados, en la que los robots pasean (o vuelan) por un resort de lujo, mezclándose con famosos científicos y autores de ciencia ficción. Solo unos pocos investigadores fueron invitados a dar charlas técnicas, y las sesiones tienden a ser tanto inspiradoras como esclarecedoras. El público estaba compuesto por unos 100 investigadores, directores ejecutivos y algunos de los empresarios más importantes del mundo. El maestro de ceremonias de MARS fue el fundador y presidente de Amazon, Jeff Bezos, que estaba sentado en la primera fila. «Se podría decir que era un público de muy alto nivel», recuerda Sze con una sonrisa.

Otros ponentes de MARS presentaron robots que cortan al estilo kárate, drones que aletean como si fueran grandes insectos extrañamente silenciosos, e incluso proyectos para crear colonias marcianas. Ante esta competencia, los chips de Sze podían parecer más modestos. A simple vista, no se distinguen de los chips que hay dentro de cualquier dispositivo electrónico. Sin embargo, sus microprocesadores eran indudablemente mucho más importantes que cualquier otra cosa que hubo en la conferencia.

Nuevas capacidades

Los nuevos diseños de chips, como los que se desarrollan en el laboratorio de Sze, pueden ser cruciales para el futuro progreso de la IA, y los drones y robots que se dejaron ver en MARS. Hasta ahora, el software de IA se ejecutaba principalmente en unidades de procesamiento gráfico (GPU, por sus siglas en inglés), pero los nuevos diseños especializados de hardware podrían lograr que los algoritmos de IA sean más potentes, lo que abriría el camino a unas nuevas aplicaciones. Los nuevos chips de inteligencia artificial podrían masificar los robots de almacén y permitir que los teléfonos inteligentes crean escenarios fotorrealistas de realidad aumentada.

Los diseños de los chips de Sze son muy eficientes y flexibles, algo crucial para un campo que evoluciona tan rápido como la IA (ver ¿Quién ganará la batalla de los chips si el sector de la IA no para de cambiar?). En concreto, están diseñados para exprimir aún más potencial de los algoritmos de aprendizaje profundo que ya han revolucionado el mundo. Este proceso incluso podría lograr que este tipo de programas evolucionen por sí solos. Sze detalla: «Dado que la ley de Moore se ha ralentizado, necesitamos un nuevo hardware».

Esta ley choca cada vez más con los límites físicos de los componentes de ingeniería a escala atómica. Y está despertando un creciente interés en arquitecturas alternativas y nuevos enfoques de computación.

Este interés ha llegado incluso al Gobierno de EE. UU., que además de mantener su liderazgo en el diseño de chips en general, confía en los microprocesadores especializados para arrebatarle a China el trono de la IA. De hecho, los propios chips de Sze se están creando gracias a fondos de un programa de DARPA destinado a ayudar a desarrollar nuevos diseños de chips de IA (ver Así es la estrategia de EE.UU. para quitarle a China el trono de la IA).

Pero el impulso en la innovación de la fabricación de chips procede principalmente del aprendizaje profundo, una técnica muy poderosa de enseñar a las máquinas a realizar tareas útiles. En vez de dar a un ordenador un conjunto de reglas a seguir, una máquina se programa a sí misma básicamente. Los datos de entrenamiento se introducen en una gran red neuronal artificial simulada, que luego se ajusta para que produzca el resultado deseado. Con suficiente entrenamiento, un sistema de aprendizaje profundo puede encontrar patrones sutiles y abstractos en los datos. La técnica se aplica a una creciente variedad de tareas prácticas, desde el reconocimiento facial en los teléfonos inteligentes hasta la predicción de enfermedades a partir de imágenes médicas.

La carrera de los chips de IA

El aprendizaje profundo no depende tanto de la ley de Moore. Las redes neuronales ejecutan muchos cálculos matemáticos en paralelo, un enfoque para el que los GPU de videojuegos resultan mucho más efectivos dado que realizan computación paralela para renderizar imágenes en 3D. Pero los microchips diseñados específicamente para el aprendizaje profundo deberían ser aún más potentes.

El potencial de las nuevas arquitecturas de chips para mejorar la inteligencia artificial ha impulsado la actividad empresarial a un nivel que la industria de los chips no ha visto en décadas (ver La nueva carrera de los chips de silicio se libra en el cuadrilátero de la inteligencia artificial y China da la vuelta al marcador de los chips gracias a la IA). Las grandes empresas tecnológicas que quieren aprovechar y comercializar la inteligencia artificial, como Google, Microsoft y (sí) Amazon, están trabajando en sus propios chips de aprendizaje profundo. Pero también hay muchas start-ups trabajando en este campo. De hecho, el analista de microchips en la empresa de analistas Linley Group Mike Delmer considera que «es imposible hacer un seguimiento de todas las compañías que están apareciendo en el espacio del chip de IA». Y añade: «No bromeo cuando digo que descubrimos un nuevo chip casi cada semana«.

La verdadera oportunidad, según Sze, no reside en construir los chips de aprendizaje profundo más poderosos. La eficiencia energética también es importante porque la IA también debe funcionar más allá de los grandes centros de datos, lo que significa que los microprocesadores deberían ser capaces de funcionar con la energía disponible en el dispositivo. Esto se conoce como operar «al límite».




«La IA estará en todas partes, así que es importante encontrar formas de aumentar la eficiencia energética«, afirma el vicepresidente del grupo de productos de inteligencia artificial de Intel, Naveen Rao. Por ejemplo, el hardware de Sze es más eficiente, en parte, porque reduce físicamente el atasco entre el lugar en el que almacenan los datos y aquel en el que se analizan, pero también porque utiliza esquemas inteligentes para reutilizar los datos. Antes de unirse al MIT, Sze fue pionera en este enfoque para mejorar la eficiencia de la compresión de vídeo en Texas Instruments.

En un campo que avanza tan rápido, como es el aprendizaje profundo, el desafío para aquellos que trabajan con chips de IA consiste en asegurarse de que sean lo suficientemente flexibles para adaptarse a cualquier aplicación. Es fácil diseñar un chip súper eficiente capaz de hacer solo una tarea, pero ese tipo de producto se volverá obsoleto rápidamente.

El chip de Sze se llama Eyeriss. Desarrollado en colaboración con el científico investigador de Nvidia y profesor del MIT, Joel Emer, fue probado junto con varios procesadores estándar para ver cómo manejaba diferentes algoritmos de aprendizaje profundo. Equilibrando la eficiencia con la flexibilidad, el rendimiento del nuevo chip alcanza resulta entre 10 e incluso 1.000 veces más eficiente que el hardware existente, según un artículo publicado el año pasado.

Foto: Los investigadores del MIT Sertac Karaman y Vivienne Sze desarrollaron el nuevo chip.

Los chips de IA más simples ya están generando un gran impacto. Los teléfonos inteligentes de gama alta ya incluyen chips optimizados para ejecutar algoritmos de aprendizaje profundo para el reconocimiento de imagen y voz. Los chips más eficientes podrían permitir que estos dispositivos ejecuten un código de IA más potente con mejores capacidades. Los coches autónomos también necesitan poderosos chips de IA, ya que la mayoría de los prototipos dependen actualmente de un montón de ordenadores dentro del maletero.

Rao sostiene que los chips del MIT parecen prometedores, pero son muchos los factores que determinarán si una nueva arquitectura de hardware tendrá éxito. Uno de los más importantes, según él, es el desarrollo de software que permita a los programadores ejecutar código en él. «Hacer algo útil para aquellos que lo elaboran es probablemente el mayor obstáculo para la adopción», explica.

De hecho, el laboratorio de Sze también explora formas de diseñar software para explotar mejor las propiedades de los chips informáticos existentes. Y este trabajo se extiende más allá del aprendizaje profundo. Junto con el investigador del Departamento de Aeronáutica y Astronáutica del MIT Sertac Karaman, Sze desarrolló un chip de bajo consumo llamado Navion que realiza mapas en 3D y navegación de manera increíblemente eficiente, lo que permite integrarlo en un pequeño dron. Para este esfuerzo fue crucial diseñar un chip capaz de explotar el comportamiento de los algoritmos de navegación y crear un algoritmo que puediera aprovechar al máximo este chip personalizado. Junto al desarrollo del aprendizaje profundo, Navion refleja la forma en la que el software y el hardware de IA empiezan a evolucionar en simbiosis.

Los chips de Sze quizás no son tan llamativos como un dron con alas, pero el hecho de que fueran presentados en MARS refleja lo importante que será su tecnología, y la innovación del silicio en general, para el futuro de la IA. Después de su presentación, Sze afirma que algunos de los otros ponentes expresaron su interés en conocer más. «La gente encontró muchos casos importantes de aplicación», concluye. En otras palabras, podemos esperar que en la próxima conferencia de MARS los robots y drones lleven dentro algo bastante más especial.

Artículos relacionados:

Un robot que procura moverse tan bien como una hormiga
Chips de potencia ultra baja ayudan a hacer robots pequeños más capaces
Chip de cómputo basado en luz funciona similar a las neuronas



Chip de cómputo basado en luz funciona similar a las neuronas

¿Una tecnología que funciona como un cerebro? En estos tiempos de inteligencia artificial, esto ya no parece tan inverosímil; por ejemplo cuando un teléfono móvil puede reconocer caras o idiomas. Sin embargo, con aplicaciones más complejas, las computadoras aún se enfrentan rápidamente a sus propias limitaciones. Una de las razones de esto es que una computadora tradicionalmente tiene unidades separadas de memoria y procesador, cuya consecuencia es que todos los datos deben enviarse entre los dos. En este sentido, el cerebro humano está muy por delante incluso de las computadoras más modernas porque procesa y almacena información en el mismo lugar, en las sinapsis o conexiones entre neuronas, de las cuales hay trillones en el cerebro. Un equipo internacional de investigadores de las Universidades de Münster (Alemania), Oxford y Exeter (ambos del Reino Unido) han tenido éxito en el desarrollo de una pieza de hardware que podría abrir camino para crear computadoras que se parezcan al cerebro humano. Los científicos lograron producir un chip que contiene una red de neuronas artificiales que funciona con la luz y puede imitar el comportamiento de las neuronas y sus sinapsis.

Los investigadores pudieron demostrar que una red neurosináptica óptica es capaz de «aprender» la información y usarla como base para calcular y reconocer patrones, al igual que un cerebro. Como el sistema funciona solo con luz y no con electrones tradicionales, puede procesar datos muchas veces más rápido. «Este sistema fotónico integrado es un hito experimental», dice el profesor Wolfram Pernice de la Universidad de Münster y socio principal del estudio. «El abordaje podría usarse más adelante en muchos campos diferentes para evaluar patrones en grandes cantidades de datos, por ejemplo, en diagnósticos médicos». El estudio se publica en el último número de la revista «Nature».

La historia en detalle – financiación y método utilizado

La mayoría de los abordajes existentes relacionados con las llamadas redes neuromórficas se basan en la electrónica, mientras que los sistemas ópticos, en los que se utilizan fotones, es decir, partículas de luz, aún están en su infancia. El principio que los científicos alemanes y británicos han presentado ahora funciona de la siguiente manera: las guías de ondas ópticas que pueden transmitir luz y pueden fabricarse en microchips ópticos se han integrado con los llamados materiales de cambio de fase, que ya se encuentran en medios de almacenamiento como el DVD regrabable. Estos materiales de cambio de fase se caracterizan por el hecho de que cambian dramáticamente sus propiedades ópticas dependiendo de si son cristalinos, cuando sus átomos se organizan de manera regular, o amorfos, cuando sus átomos se organizan de manera irregular. Este cambio de fase puede ser activado por la luz si un láser calienta el material. «Debido a que el material reacciona con tanta fuerza y cambia sus propiedades dramáticamente, es muy adecuado para imitar las sinapsis y la transferencia de impulsos entre dos neuronas», dice el autor principal Johannes Feldmann, quien realizó muchos de los experimentos como parte de su tesis doctoral en la universidad de Munster.

En su estudio, los científicos lograron por primera vez fusionar muchos materiales de cambio de fase nanoestructurados en una red neurosináptica. Los investigadores desarrollaron un chip con cuatro neuronas artificiales y un total de 60 sinapsis. La estructura del chip, que consta de diferentes capas, se basó en la llamada tecnología multiplex de división de longitud de onda, que es un proceso en el que la luz se transmite a través de diferentes canales dentro del nanocircuito óptico.

Para probar en qué medida puede reconocer patrones el sistema, los investigadores lo «alimentaron» con información en forma de pulsos de luz, utilizando dos algoritmos diferentes de aprendizaje automático. En este proceso, un sistema artificial «aprende» de ejemplos y puede, en última instancia, generalizarlos. En el caso de los dos algoritmos utilizados, tanto en el llamado aprendizaje supervisado como en el no supervisado, la red artificial pudo, en última instancia, y sobre la base de determinados patrones de luz, reconocer un patrón que se estaba buscando, uno de los cuales era cuatro letras consecutivas.

«Nuestro sistema nos ha permitido dar un paso importante hacia la creación de hardware para computadoras que se comporta de manera similar a las neuronas y las sinapsis en el cerebro, y que también puede trabajar en tareas del mundo real», dice Wolfram Pernice. «Al trabajar con fotones en lugar de electrones, podemos aprovechar al máximo el potencial conocido de las tecnologías ópticas, no solo para transferir datos, como ha sido hasta ahora, sino también para procesar y almacenarlos en un solo lugar», agrega el coautor, Prof. Harish Bhaskaran, de la Universidad de Oxford.




Un ejemplo muy específico es que, con la ayuda de dicho hardware, se podrían identificar automáticamente las células cancerosas. Sin embargo, habrá que trabajar bastante para que estas aplicaciones se conviertan en realidad. Los investigadores necesitan aumentar la cantidad de neuronas artificiales y sinapsis, y aumentar la profundidad de las redes neuronales. Esto se puede hacer, por ejemplo, con chips ópticos fabricados con tecnología de silicio. «Este paso se debe tomar en el proyecto conjunto ‘Fun-COMP’ de la UE mediante el uso del procesamiento de fundición para la producción de nanochips», dice el coautor y líder del proyecto Fun-COMP, el profesor C. David Wright de la Universidad de Exeter.

Este trabajo de colaboración fue financiado por la DFG de Alemania, la EPSRC del Reino Unido y el ERC de la Comisión Europea, y los programas H2020 (el proyecto Fun-COMP).

________________________________________

• Fuente de la historia: Materiales proporcionados por la Universidad de Münster. Referencia de la publicación: J. Feldmann et al. “All-optical spiking neurosynaptic networks with self-learning capabilities” (Redes neurosinápticas totalmente ópticas con capacidades de autoaprendizaje). Nature, 2019 DOI: 10.1038 / s41586-019-1157-8. Universidad de Münster. «Step towards light-based, brain-like computing chip» (Paso hacia un chip de computación similar a un cerebro basado en la luz). ScienceDaily, 8 de mayo de 2019.