¿Quieres utilizar inteligencia artificial (IA) para entrenar coches autónomos y drones que puedan volar por sí mismos? Pues desde hace un año más o menos puedes hacerlo gracias a Microsoft Research, el brazo de investigación del gigante informático que, en enero de 2017, liberó como Open Source su plataforma de simulación basada en IA, Airsim, y todo el software necesario para realizar esos entrenamientos. Además hace tan solo unos días lanzó un proyecto Open Source para aprender a manejarlo.
Airsim son las siglas de Aerial Informatics and Robotics Simulation, y es un sistema que permite testear con alto grado de fidelidad la seguridad de sistemas de inteligencia artificial. Proporciona entornos realistas, dinámicas de vehículos y sensores aplicados a todo ello para permitir la investigación en vehículos autónomos, tanto terrestres como aéreos, que usan inteligencia artificial y ver si pueden operar con garantías de seguridad en el mundo real. En enero del año pasado liberaron Airsim como proyecto de código abierto. Posteriormente a finales de año ampliaron el sistema para extenderlo de modo que incluyese también simulaciones de coches autónomos además de drones, y de paso añadieron también muchas mejoras para testear esos vehículos aéreos.
Con Airsim se pueden entrenar todo tipo de vehículos sin sacarlos del laboratorio, de modo que cuando vayan al mundo real puedan estar mucho mejor afinados.
El desarrollo de algoritmos para coches autónomos es muy caro de desarrollar. El motivo es que requiere enormes cantidades de datos y la habilidad de poder testear y comparar los resultados de trabajar con todos esos datos. Esto implica generalmente el uso de mucho hardware y muy caro. Con Airsim se pretende evitar esto y se proporciona a la comunidad una plataforma muy optimizada que permite probar con hardware limitado, ampliando además la variedad de sensores y sin sacrificar el aspecto realista.
Con Airsim, en el caso de coches, se entrega un entorno urbano 3D muy realista que incluye muchos tipos diferentes de condiciones de tráfico y carretera: semáforos, tramos con obras, lagos, parques... así como diversos tipos de vecindarios: calles céntricas, semi-urbanas, polígonos industriales, carreteras fuera de pista, zona rural con vegetación. En total más de 12 KM de carreteras y más de 20 manzanas de edificios con todo lujo de detalles.
Puedes verlo en acción en este vídeo:
Se ha desarrollado como un plugin para Unreal Engine, una herramienta muy popular para el desarrollo de juegos realistas. Esto implica que, aparte de usar los escenarios que se entregan puedes crear escenarios propios o descargar alguno de los muchos que hay disponibles ya on-line para esta plataforma de juegos. También podrías crear tus propios sensores adicionales a los que ya se entregan o incluso usar un motor de física diferente al que trae por defecto. Se puede programar en Python o en C++ entre otros.
Es más, ni siquiera tienes que meterte a bajo nivel y programarlo, ya que puedes descargar la versión compilada del entorno y empezar a llamar a sus APIs desde una simple aplicación en dos minutos.
Formación Open Source para Airsim
Hasta ahora una de las barreras más grandes que había para empezar a usar Airsim desde que lo liberaron hace un año era saber cómo empezar. Es un proyecto grande y complejo.
Hace unos pocos días Microsoft Research ha lanzado también como código abierto un tutorial que te ayudará a "meterle mano" sin problema, sabiendo un poco de Python, eso sí. De momento tiene un solo tutorial enfocado en los coches autónomos titulado Autonomous Driving using End-to-End Deep Learning: an AirSim tutorial. Aquí tienes una imagen del entorno de simulación que crearás con este tutorial:
El tutorial está escrito con Keras, una biblioteca de deep learning sobre Python, y que es capaz de ejecutarse sobre Tensorflow, Theano o el propio Cognitive Toolkit (CNTK) de Microsoft. Con cualquier tarjeta gráfica moderna, de las que usarías para jugar, puedes seguir el tutorial sin problema. Es muy interesante.
Pronto van a tener dos más dentro del mismo repositorio de Github: uno dedicado al aprendizaje reforzado con Batch AI y otro sobre cómo recoger datos de los coches autónomos que simulas.