En el terreno del desarrollo de coches autónomos, la velocidad de procesamiento de la parte inteligente del conjunto es crucial para obtener respuestas rápidas, exactas y eficientes. Es crítico para un coche autónomo procesar el entorno y todas las variables asociadas a la conducción para solucionar cualquier eventualidad en ruta, y ahí toman partido los sistemas inteligentes. El machine learning es vital para esta nueva industria, y la fase de entrenamiento es esencial para lograr un buen resultado. Ahora bien, ¿cómo se entrena a esas máquinas?
La respuesta es sencilla, pero revela un proceso muy complejo: las máquinas inteligentes se entrenan con datos. Muchos datos. Pero no un conjunto arbitrario de datos, sino conjuntos especialmente escogidos para que sean relevantes. A eso se le conoce como training data, es decir, datos de entrenamiento. Los modelos de machine learning se parecen, en cierta medida, a los niños. El aprendizaje de un niño se basa en la observación y el feedback que reciben del entorno sobre lo que ven.
También aprenden por prueba y error, pero en el fondo todo se basa en la cantidad de información que reciben y el refuerzo positivo que hace que descarten información irrelevante e incorporen aquello que les funciona.
Para las máquinas, recibir la cantidad suficiente de datos relevantes es crucial para que aprendan. Cuando sucede esto, es posible modelar algoritmos que encuentren relaciones entre datos, que detecten patrones, que “entiendan” problemas complejos o que tomen decisiones, así que la cantidad, la variedad y la calidad de los datos de entrenamiento determinarán el éxito de los modelos de machine learning.
En el caso del coche autónomo, los datos pueden ser de muy diferente naturaleza: desde imágenes de vehículos, peatones y ciclistas, motoristas, señales de tráfico, señales viales (sobre la calzada), semáforos, camiones y furgonetas, tractores, tramos de vía, cruces, imágenes que cuenten con diferentes condiciones de luz, con lluvia, niebla o nieve… La cantidad de datos de imágenes que son relevantes para la conducción es francamente inmensa.
Por otro lado, están los datos que ayudan a la interpretación de mapas, tanto en 2D como en 3D, como los datos que proceden del LIDAR. Todo ello ha de ser combinado con las imágenes captadas por las diferentes cámaras de vídeo, o las lecturas del radar, para formar una “imagen”, un escenario exacto por el que discurre el vehículo en cada momento. Y no nos podemos olvidar de la información de movimiento de todos los elementos (vehículos, peatones, etc.) que rodean al coche en cada momento.
Cabe preguntarse por la cantidad de datos necesaria para saber que el entrenamiento es suficiente. La respuesta no es sencilla, lo que es verdaderamente cierto es que cuantos más datos inyectemos en el sistema, mejores resultados obtendremos. Para el caso del coche autónomo existen muchas fuentes de datos a las que echar mano, incluso gratuitas. Como es lógico, cada fabricante obtendrá datos de diferentes fuentes, pero para hacernos una idea de cómo son este tipo de recursos, nada mejor que echar un vistazo a conjuntos de training data gratuitos.
Por ejemplo, Mapillary Vistas Dataset es un conjunto de datos de entrenamiento enorme, con unas 25.000 imágenes a alta resolución (aproximadamente 9 megapíxeles por imagen) con detalles a nivel de pixel y 100 categorías, además de variedad en cuanto a las condiciones atmosféricas y la hora del día. Por añadidura, las imágenes se ofrecen desde diferentes ángulos y con diferentes ópticas y varios niveles de ruido.
Como vemos, no es nada sencillo elegir un conjunto suficiente de datos de entrenamiento para coches autónomos, cuanta más información se proporcione a los modelos de machine learning de los diferentes sistemas que lo componen, mejores resultados se obtendrán.