Un muy interesante artículo en MIT Tech Review, «The big new idea for making self-driving cars that can go anywhere«, hace una buena panorámica sobre algunas de las compañías dedicadas al desarrollo de la conducción autónoma aplicando reinforcement learning, o aprendizaje por refuerzo, y de paso, explica de manera bastante clara la diferencia con la aproximación «tradicional» a la tarea, consistente en tratar de controlar todos los factores implicados (microcartografía, percepción, control y toma de decisiones) como sistemas separados que actúan en modo robótico.
Frente a la idea de una aproximación robótica, compañías como la israelí Autobrains, la británica Wayve o las norteamericanas Waabi y Ghost aplican la idea de end-to-end learning, de manera muy similar a la forma en que compañías como DeepMind, propiedad de Alphabet, se aproximaron al juego del Go. Básicamente, la idea es entrenar a una máquina desde cero mediante un sistema que comprende todos los aspectos, desde la percepción mediante sus cámaras y sensores, hasta el control y la toma de decisiones, de manera que lo que se obtiene no es un robot, sino una máquina inteligente, una red neuronal adiestrada mediante ensayo y error, que puede conducir en cualquier situación.
La idea fundamental que subyace tras esta aproximación es la de ser capaces de superar el progreso que han logrado compañías como Waymo, Cruise y otras, que son capaces de obtener resultados muy buenos en un lugar determinado, pero que tienen problemas a la hora de aplicarlos en un barrio o en una ciudad diferente. Mediante esta aproximación, estas compañías han logrado ya poner en marcha servicios perfectamente funcionales en varias ciudades en los que un vehículo completamente autónomo recoge a un usuario y lo traslada sin ningún tipo de problemas a su destino dentro de esa misma área delimitada, pero precisa no solo de una detalladísima microcartografía, sino también de ir actualizándola con todas las pequeñas variaciones que experimenta de manera casi constante en una ciudad: obras, accidentes, desvíos, cortes de trafico, etc.
Mediante una aproximación basada en end-to-end learning, que implica alimentar la red neuronal con millones de estímulos de la ruta (lecturas de sensores) y con sus correspondientes consecuencias en términos de actuaciones (girar el volante, frenar, acelerar, etc.) se puede llegar a conseguir que el algoritmo sea capaz de responder a estímulos sin necesidad de tener que analizar todos los datos que recibe de sus sensores, sino únicamente aquellos que sean significativos. Esto permite entrenar al algoritmo con eventos de todo tipo, incluyendo aquellos que no ocurren de manera habitual. Además, una buena parte de las fases del entrenamiento pueden hacerse sin necesidad de tocar la calle, en entornos virtuales realistas, lo que evita tener que conducir miles de kilómetros hasta que esos eventos más raros o menos habituales tienen lugar un suficiente número de veces.
A partir de ahí, la experiencia obtenida puede aplicarse a prácticamente cualquier entorno, sin necesidad de una microcartografía ultra-detallada, de la misma manera que una persona que sabe conducir puede conducir en casi cualquier sitio salvo cuando las condiciones varían realmente de manera muy drástica. Un elemento que podría afectar tanto a la velocidad con la que se obtienen prototipos verdaderamente funcionales y fiables, como también a su posterior escalabilidad a la hora de desplegar el servicio en más ciudades, un factor que podría terminar teniendo una gran importancia en el despliegue generalizado de la conducción autónoma.
Publicado en enriquedans.com el 30.05.2022