Deep Learning y Vehículos Autónomos

Publicado en

Autor

Piensa en todas las tareas que tu cerebro ha hecho mientras conduciste tu automóvil al trabajo esta mañana. Viste 235 letreros, 12 bicicletas, 20 peatones y 1,376 automóviles. Aceleraste, frenaste, diste vuelta y cambiaste de carriles.

Ahora imagina escribir un programa que pudiera conducir a un automóvil en ese mismo viaje que hiciste. Probablemente requeriría miles de millones de líneas de código.

Parece imposible, pero hacia allá vamos. El aprendizaje profundo (deep learning), una forma de inteligencia artificial, está llegando al punto de poder conducir automóviles de forma autónoma y en cualquier tipo de condición.

¿Qué es el aprendizaje profundo?

Aunque no lo sepas, seguramente ya has estado expuesto a aplicaciones de aprendizaje profundo. Es lo que hace que Siri pueda responder a tus preguntas, Google lo usa para encontrar los resultados que buscas, y Amazon para recomendarte un producto. En el ámbito automotriz, el aprendizaje profundo permite que los ingenieros no tengan que programar cada uno de los eventos y acciones posibles que se darían en un trayecto. En lugar de esto, la computadora recopila experiencias y a partir de estos datos genera deducciones para la toma de decisiones.

El sistema de aprendizaje de un automóvil autónomo trabaja aprendiendo a detectar objetos y patrones de forma automática. Conforme se le alimentan más datos va aumentando su precisión. El sistema es entrenado por medio de repetición, continuamente recibiendo datos de entrada y optimizando su habilidad para realizar predicciones sobre qué significan los datos y qué hacer con ellos. Al desplegar un sistema de este tipo a través de una flotilla de vehículos, la flotilla entera se beneficia del conocimiento colectivo generado por cada uno de los vehículos. Cuando un automóvil encuentra algo nuevo —por ejemplo un camino no mapeado o una acción no contemplada por parte de otro automóvil— envía la experiencia al sistema de aprendizaje, éste la analiza y envía el aprendizaje a toda la flotilla.

De esta manera, el aprendizaje profundo tiene la capacidad de resolver uno de los principales retos de la conducción autónoma: lidiar con lo impredecible. Sería prácticamente imposible que ingenieros humanos programaran manualmente algoritmos para expresar de forma adecuada todos los escenarios posibles al manejar.

El aprendizaje profundo ya es utilizado para habilitar capacidades de conducción autónoma en automóviles comerciales. Por ejemplo, el sistema de cámaras del Audi A7 utiliza aprendizaje profundo para reconocer señales de tráfico. El sistema Autopilot de Tesla también lo utiliza, y aunque el Modelo S ya tiene todo el equipo necesario para conducción autónoma, por el momento se encuentra recopilando experiencias de los automóviles en las calles y aprendiendo, para que cuando se determine que ha aprendido lo suficiente se pueda activar la conducción autónoma de niveles superiores.

Hacia el futuro, la mayoría de las empresas automotrices han anunciado que planear tener vehículos autónomos en el mercado alrededor del año 2020. En un principio estos vehículos estarán restringidos a ambientes sencillos y bien mapeados, pero eventualmente serán capaces de llevarnos a cualquier lugar sin importar las condiciones.

Técnica 1: abstracción semántica

Existen dos grandes técnicas para aplicar el aprendizaje profundo a la conducción autónoma: abstracción semántica, y aprendizaje de punta a punta.

La abstracción semántica se enfoca en dividir el problema en distintos componentes. Por ejemplo, un componente se dedica a detectar vehículos, otro componente detecta carriles, otro más detecta qué hay más allá del carril (otros automóviles, banqueta, barrera). Utilizando conocimiento previo, los ingenieros de software entrenan cada componente individual etiquetando o anotando imágenes para identificar su significado en el mundo real.

Una vez que cada uno de los componentes ha dominado su tarea, los distintos componentes comparten datos para que puedan colaborar y decidir cómo controlar el vehículo. Es decir, una vez que el componente de detección de vehículos sabe dónde están los vehículos, y el componente de detección de carriles sabe dónde están los carriles, y el componente de detección de fronteras sabe dónde está la banqueta, combinan este conocimiento con muchos otros datos aportados por otros componentes. La computadora maestra entonces decide qué trayectoria tomar y cuál es la velocidad adecuada para realizar la maniobra de manera segura.

Ventajas:

  • Menor tolerancia a fallas. Antes de que la red sea descargada a un vehículo autónomo activo, los algoritmos responsables de cada componente son entrenados de forma independiente hasta que cada uno tenga un alto nivel de precisión en su tarea.

  • Facilita detectar errores. En caso de que haya una falla —el automóvil toma una decisión incorrecta— los ingenieros pueden detectar qué componente provocó el error y corregirlo.

  • Mayor capacidad para lidiar con lo impredecible: El sistema ha sido alimentado previamente con datos etiquetados que lo ayudan a adaptarse a situaciones inusuales. Por ejemplo, si de pronto un niño cruza la calle persiguiendo una pelota, el sistema sabe que el niño es una persona, cómo se comportará y cómo evitar golpearlo.

Desventajas:

  • Se requiere mucho trabajo previo. Antes de que el sistema esté disponible el equipo de ingenieros debe diseñar una red de conocimiento y codificar algoritmos para cada componente. Posteriormente tiene que entrenar cada componente por medio de etiquetar meticulosamente grandes cantidades de datos, lo cual requiere mucho tiempo y esfuerzo.

  • Típicamente se etiqueta más información de la necesaria. Dado que se busca cubrir de forma anticipada todos los escenarios posibles es necesario etiquetar una gran cantidad de datos y al final muchos de ellos serán redundantes, por lo que hay un desperdicio en el esfuerzo.

Técnica 2: aprendizaje de punta a punta

El aprendizaje de punta a punta (end-to-end learning) es una técnica más disruptiva en la que el aprendizaje se realiza de forma automática por medio de captar y analizar experiencias reales de manejo. En vez de dividir la conducción en distintos aspectos y entrenar componentes por separado, el sistema opera de forma holística a través del conjunto de datos completo, sin enfocarse en detectar eventos en componentes individuales.

Ventajas

  • Al ser alimentado con big data, el sistema puede clasificarlos sin necesidad de que los datos estén previamente etiquetados. El sistema no necesita que previamente se le diga qué es un vehículo o cómo se ve un carril, sino que toma las entradas de datos y automáticamente clasifica los objetos y situaciones conforme los va experimentando. Esto significa que los ingenieros no necesitan predefinir o preprogramar todos los componentes que se conjuntan para conducir.

  • Conforme hay más datos sobre distintas situaciones, el sistema se hace más robusto. Las empresas automotrices pueden aprovechar el poder de su flotilla para rápidamente captar millones de horas de experiencia.

  • Se optimiza considerando el proceso completo. Los algoritmos internos son optimizados teniendo en consideración el desempeño del sistema completo, no de componentes individuales (como por ejemplo detectar carriles). Esto puede llevar a sistemas con mejor desempeño, que resuelvan las tareas usando el mínimo de pasos necesarios.  

Desventajas

  • Se requiere capturar cantidades de datos enormes. Como ya comentamos, en el caso de los automóviles esto se puede mitigar acumulando la experiencia de una flotilla grande pero en otros casos de uso esto podría no ser posible.

  • Es difícil entrenar para escenarios fuera de lo normal. Es posible que aún después de acumular millones de horas no se cuente con experiencia de casos extremos. En estos casos, los sistemas deben ser aumentados con asistencia humana para ayudar al sistema a tomar una decisión acertada.

  • Técnicamente complicado. El diseño de estas redes de aprendizaje es complicado, requiere conocimientos avanzados y tiempo para optimizar los algoritmos.

Ver, pensar, conducir y aprender

Para lograr vehículos autónomos necesitamos que dichos vehículos tengan la capacidad de ver, pensar, conducir y aprender para mejorar. A continuación explicamos cómo funciona cada uno de estos pasos.

La capacidad de “ver” se refiere a cómo es que los vehículos detectan el ambiente a su alrededor. Para poder ver, los vehículos hacen uso de tres grandes fuentes de datos:

  • Sensores: Existen distintos tipos de sensores que obtienen datos en tiempo real sobre el entorno del automóvil. Los sensores más usados son: ópticos (cámaras que capturan color y contraste), LIDAR (pulsos de luz), radar (radio ondas), ultrasónico (alta frecuencia). Cada uno tiene un mejor desempeño en distintas condiciones, por lo que típicamente se usa una combinación de varios sensores para asegurar que el automóvil pueda detectar con precisión su entorno en todo tipo de condiciones.

  • Datos en la nube: Para reconocer su entorno los vehículos también hacen uso de datos en la nube tales como mapas y rutas, señales de tráfico, condiciones del camino.

  • Datos de otros dispositivos: Al corto plazo, el escenario más común es el de un smartphone que pueda proveer información al vehículo, pero eventualmente los automóviles tendrán comunicación entre sí (vehículo a vehículo), así como la infraestructura en ciertos lugares (ej. un estacionamiento inteligente que informa al automóvil donde hay espacios disponibles).

“Pensar” se refiere a cómo el automóvil integra la información obtenida y determina la acción correspondiente. La figura 1 ilustra este procedimiento a grandes rasgos. La ejecución de este procedimiento (integrar datos, analizarlos y decidir una acción) debe tomar milisegundos a lo mucho. Adicionalmente, a partir de lo que está sucediendo en el momento, el automóvil debe ir extrapolando para intuir lo que sucederá en el futuro inmediato. El aprendizaje profundo ayuda a realizar dicha extrapolación.

Figura 1. El proceso de pensamiento de un vehículo autónomo

Una vez que el sistema toma una decisión, requiere ejecutarla de manera confiable y segura, a esto nos referimos con “conducir”. Por ejemplo, se debe determinar el ángulo adecuado al que debe girar las llantas, así como la intensidad de aceleración o frenado. A su vez, los distintos componentes proveen retroalimentación sobre el resultado de la acción en ejecución (que sí se esté logrando disminuir la velocidad de acuerdo a lo planeado, que se esté manteniendo la tracción necesaria).

Cada que un automóvil se encuentra con una nueva experiencia o caso extremo, el sistema lo analiza y “aprende” de lo sucedido. El aprendizaje se despliega a toda la flotilla de vehículos para que estén preparados la próxima vez que se encuentren con dicho escenario.

Impacto en la industria

Conforme nos dirigimos a la conducción autónoma, las empresas del ecosistema automotriz deben reconocer las implicaciones de este cambio.

En principio, surgirá un nuevo mercado para servicios de movilidad basados en conducción autónoma y conectividad. Los vehículos podrían estar en uso continuo, por lo que habrá el modelo de propiedad de vehículos cambiará, y la cantidad de kilómetros que acumula cada carro aumentará significativamente. KPMG estima que el mercado de servicios basados en conducción autónoma tendrá un valor anual de más de un millón de millones de dólares para el año 2030.

La conducción autónoma también traerá una reducción significativa de accidentes viales, ya que se estima que el 94% de los accidentes son provocados por errores humanos. Uno de los sectores que más será afectado por este cambio es el de las aseguradoras. Otro sector que será afectado de forma indirecta es el de las autopartes y talleres de reparación.

Finalmente, las empresas automotrices están desarrollando nuevas capacidades para los automóviles que aprovechen este contexto. Desde tecnologías para mejorar “el sistema nervioso” del automóvil hasta servicios de entretenimiento y productividad para los pasajeros (“que estarán liberados de tener que conducir el automóvil y ahora podrán hacer otras cosas a bordo”). Empresas de software como Google, Apple y Microsoft ya están buscando penetrar el segmento de software y servicios a bordo para pasajeros, pero las empresas automotrices no cederán fácilmente esta rebanada del pastel y ya están desarrollando tecnología y canales para ofrecer estos servicios bajo sus propios términos.

Consideraciones para el nuevo paradigma

Las empresas automotrices que no reaccionen de forma sabia y rápida a los efectos que provocará este nuevo paradigma en su industria, desaparecerán en pocos años. Estas son algunas consideraciones que deben tener en cuenta:

Las empresas automotrices ya no se dedicarán solamente a hacer automóviles. La mayoría evolucionará a ser proveedores de servicios de movilidad. La estrategia que cada una elija afectará cómo generará ingresos y si logra mantenerse en el mercado.

Los kilómetros son oro. El aprendizaje profundo detonará una carrera para acumular kilómetros manejados. De especial valor serán las situaciones extraordinarias que extiendan el aprendizaje de los vehículos.

El talento es clave. Las personas con la capacidad de construir y operar sistemas de aprendizaje profundo serán muy valiosas. Actualmente la mayoría de las personas con esta habilidad trabaja en empresas de software (ver figura 1) pero las empresas automotrices ya se las están peleando.

El sistema nervioso será el enfoque de diseño del automóvil. Entramos a una nueva era de diseño automotriz centrada en el “sistema nervioso” del automóvil, que incluye el cerebro del automóvil, sensores, controladores y telecomunicación. Este es un cambio radical para los fabricantes de automóviles.

El poder de la flotilla eclipsará la importancia del automóvil individual. La interacción del automóvil con una flotilla y el ecosistema será esencial. La conectividad asegurará una interacción constante entre los integrantes de la red.

La forma de innovar cambiará. Conforme la industria automotriz adopta y desarrolla capacidades de aprendizaje profundo, aprenderá a innovar de una forma distinta que afectará a otras industrias.

Las plataformas de software automotriz serán clave. Las plataformas de software surgirán como un mecanismo para operar y actualizar el automóvil. Contar con una plataforma sofisticada, segura, capaz de desplegarse en distintos modelos de automóvil y que pueda ser actualizada fácilmente, será un elemento crucial de competitividad para las empresas automotrices.

Figura 2. Talento especializado en deep learning

Conclusión

El aprendizaje profundo está acelerando las capacidades de autonomía y antes de que nos demos cuenta estará en la mayoría de los vehículos. Esto traerá cambios masivos. Aunque nadie sabe con certeza lo que sucederá, es un hecho que se generarán nuevas oportunidades para empresas de distintas industrias: automotriz, software, servicios, entretenimiento. Específicamente, las empresas automotrices deben revisar en qué espacio competirán, con qué producto y servicios, cómo diseñarán los automóviles, cómo gestionarán su flotilla, y cuál es su enfoque hacia la innovación, el talento y la tecnología.

Este artículo es una versión traducida y editada por Software Guru del reporte original “I see, I think, I drive (I learn)” publicado por KPMG.

 

Referencia

  1. G. Silberg, et al. “I see, I think, I drive (I learn)”. KPMG. http://swgu.ru/t4

Bio

Gary Silberg es socio director para sector automotriz en KPMG Estados Unidos.