Un equipo de investigadores del MIT está facilitando que los principiantes se empapen con inteligencia artificial, al mismo tiempo que ayudan a los expertos a avanzar en el campo.
En un documento presentado en la conferencia de Implementación y Diseño de Lenguaje de Programación de esta semana, los investigadores describen un novedoso sistema de programación probabilística llamado «Gen». Los usuarios escriben modelos y algoritmos de múltiples campos en los que se aplican técnicas de inteligencia artificial, como la visión por computadora, la robótica, y estadísticas, sin tener que lidiar con ecuaciones o escribir manualmente código de alto rendimiento. Gen también permite que los investigadores expertos escriban modelos sofisticados y algoritmos de inferencia, utilizados para tareas de predicción, que antes no eran factibles.
En su artículo, por ejemplo, los investigadores demuestran que un programa Gen corto puede inferir posturas corporales en 3-D, una tarea difícil de inferencia de la visión por computadora que tiene aplicaciones en sistemas autónomos, interacciones hombre-máquina y realidad aumentada. Detrás de escena, este programa incluye componentes que realizan procesamiento de gráficos, aprendizaje profundo y tipos de simulaciones de probabilidad. La combinación de estas diversas técnicas conduce a una mejor precisión y velocidad en esta tarea que los sistemas anteriores desarrollados por algunos de los investigadores.
Debido a su simplicidad y, en algunos casos de uso, a la automatización, los investigadores dicen que Gen puede ser utilizado fácilmente por cualquiera, desde principiantes hasta expertos. «Una motivación de este trabajo es hacer que la IA automatizada sea más accesible para las personas con menos experiencia en ciencias de la computación o matemáticas», dice el primer autor Marco Cusumano-Towner, un estudiante de doctorado en el Departamento de Ingeniería Eléctrica y Ciencias de la Computación. «También queremos aumentar la productividad, lo que significa facilitar a los expertos la posibilidad de iterar y crear prototipos rápidamente de sus sistemas de inteligencia artificial».
Los investigadores también demostraron la capacidad de Gen para simplificar el análisis de datos mediante el uso de otro programa Gen que genera automáticamente modelos estadísticos sofisticados que suelen utilizar los expertos para analizar, interpretar y predecir patrones subyacentes en los datos. Eso se basa en el trabajo previo de los investigadores que les permite a los usuarios escribir algunas líneas de código para descubrir información sobre las tendencias financieras, los viajes aéreos, los patrones de votación y la propagación de enfermedades, entre otras tendencias. Esto es diferente de los sistemas anteriores, que requerían mucha codificación manual para realizar predicciones precisas.
«Gen es el primer sistema que es flexible, automatizado y lo suficientemente eficiente para cubrir esos tipos muy diferentes de ejemplos en la visión por computador y la ciencia de datos, y brinda un rendimiento de vanguardia», dice Vikash K. Mansinghka ’05, MEng ’09 , PhD ’09, investigador en el Departamento de Cerebro y Ciencias Cognitivas que dirige el Proyecto de Computación Probabilística.
Junto a Cusumano-Towner y Mansinghka en el papel están Feras Saad ’15, SM ’16 y Alexander K. Lew, ambos estudiantes graduados de CSAIL y miembros del Proyecto de computación probabilística.
Lo mejor de todos los mundos.
En 2015, Google lanzó TensorFlow, una biblioteca de código abierto de interfaces de programación de aplicaciones (API) que ayuda a los principiantes y expertos a generar automáticamente sistemas de aprendizaje automático sin hacer mucha matemática. Ahora, ampliamente utilizada, la plataforma está ayudando a democratizar algunos aspectos de la IA. Pero, aunque es automatizado y eficiente, se enfoca estrechamente en modelos de aprendizaje profundo que son costosos y limitados en comparación con la promesa más amplia de la IA en general.
Pero hay muchas otras técnicas de inteligencia artificial disponibles hoy en día, como los modelos estadísticos y probabilísticos y los motores de simulación. Algunos otros sistemas de programación probabilística son lo suficientemente flexibles para cubrir varios tipos de técnicas de IA, pero se ejecutan de manera ineficiente.
Los investigadores buscaron combinar lo mejor de todos los mundos (automatización, flexibilidad y velocidad) en uno solo. «Si hacemos eso, tal vez podamos ayudar a democratizar esta colección mucho más amplia de algoritmos de inferencia y modelado, como lo hizo TensorFlow para el aprendizaje profundo», dice Mansinghka.
En la IA probabilística, los algoritmos de inferencia realizan operaciones en datos y reajustan continuamente las probabilidades basadas en nuevos datos para hacer predicciones. Al hacerlo, eventualmente se produce un modelo que describe cómo hacer predicciones sobre nuevos datos.
Construyendo a partir de los conceptos utilizados en su anterior sistema de programación probabilística, los investigadores incorporan varios lenguajes de modelado personalizados en Julia, un lenguaje de programación de propósito general que también se desarrolló en el MIT. Cada lenguaje de modelado está optimizado para un tipo diferente de enfoque de modelado de IA, lo que lo hace más universal. Gen también proporciona infraestructura de alto nivel para tareas de inferencia, utilizando diversos enfoques como optimización, inferencia variacional, ciertos métodos probabilísticos y aprendizaje profundo. Además de eso, los investigadores agregaron algunos ajustes para hacer que las implementaciones se ejecuten de manera eficiente.
Mas allá del laboratorio.
Los usuarios externos ya están encontrando formas de aprovechar a Gen para su investigación de IA. Por ejemplo, Intel está colaborando con MIT para usar Gen para la estimación de la postura en 3D de sus cámaras de profundidad empleadas en robótica y sistemas de realidad aumentada. MIT Lincoln Laboratory también está colaborando en aplicaciones para Gen en robótica aérea para ayuda humanitaria y respuesta a desastres.
Gen se está empezando a utilizar en proyectos ambiciosos de inteligencia artificial en el marco del MIT Quest for Intelligence. Por ejemplo, Gen es fundamental para un proyecto MIT-IBM Watson AI Lab, junto con el proyecto en marcha Machine Common Sense de la Agencia de Proyectos de Investigación Avanzada del Departamento de Defensa de los EE. UU., Cuyo objetivo es modelar el sentido común humano a un nivel de 18 meses. niño viejo Mansinghka es uno de los principales investigadores de este proyecto.
“Con Gen, por primera vez, es fácil para un investigador integrar un montón de diferentes técnicas de inteligencia artificial. Será interesante ver lo que la gente descubre que es posible ahora «, dice Mansinghka.
Zoubin Ghahramani, científico jefe y vicepresidente de AI en Uber y profesor en la Universidad de Cambridge, que no participó en la investigación, dice que «la programación probabilística es una de las áreas más prometedoras en la frontera de AI desde el advenimiento del aprendizaje profundo. «Gen representa un avance significativo en este campo y contribuirá a implementaciones escalables y prácticas de los sistemas de inteligencia artificial basados en el razonamiento probabilístico».
Peter Norvig, director de investigación de Google, quien tampoco participó en esta investigación, también elogió el trabajo. «[Gen] permite a un solucionador de problemas usar programación probabilística y, por lo tanto, tener un enfoque más basado en el problema, pero no estar limitado por las elecciones hechas por los diseñadores del sistema de programación probabilística», dice. “Los lenguajes de programación de propósito general … han tenido éxito porque … hacen la tarea más fácil para un programador, pero también hacen posible que un programador cree algo completamente nuevo para resolver un nuevo problema de manera eficiente. Gen hace lo mismo para la programación probabilística «.
El código fuente de Gen está disponible públicamente y se presentará en las próximas conferencias de desarrolladores de código abierto, incluidas Strange Loop y JuliaCon. El trabajo es apoyado, en parte, por DARPA.
Fuente original: New AI programming language goes beyond deep learning.