A ver, explico un poco todo lo de la inteligencia artificial (como ha pedido
@keops ) y demás aplicado a lo de Tesla.
Tras ver el AI Day del año pasado, en el que el Head of AI salió durante más de una hora explicando todo el stack de Tesla, se llegan a las siguientes conclusiones:
¿Por qué Tesla Vision?Tesla actualmente recela de los sistemas Lidar porque son fácilmente falseables. Estos sistemas son "ciegos", enviando una gran cantidad de señal que tiene que rebotar en los objetos y luego volver, creando un mapa bastante preciso en 3D. El problema de los Lidar es que, los de alta precisión, son extremadamente caros y grandes, y por ende, poco estéticos ni aerodinámicos.
Tesla, para solventar este problema, cree que los coches deberían de ser como los humanos, donde la principal entrada de datos sea la vista. Por ello, delega toda la fuerza de la IA en las 8 cámaras que monta el coche.
Vale, obtenemos los datos de la vista. ¿Y ahora qué?Bueno, pues Tesla tiene que tratar las imágenes para hacer una recreación del entorno y con ello tomar decisiones.
Esto suena extremadamente sencillo, pero lleva un nivel de complejidad extremo. Tan extremo como que ninguna otra empresa ha conseguido llegar al nivel que Tesla tiene hoy en día.
Tesla actualmente basa toda su arquitectura en una sucesión de redes neuronales con diferentes propósitos. Primero hace unas rectificaciones de las imágenes de las diferentes cámaras, para que todas tengan la misma pinta. Y una vez hecho eso, utiliza la llamada HydraNet, que consiste en una estructura de red neuronal con diferentes salidas y muchas ventajas computacionales (aquí no soy experto, pero según he investigado es así).
Además, como comentaba anteriormente, Tesla suele estar a la última en temas de Inteligencia Artificial. Las redes neuronales que usan para empezar a inferenciar la información según la cogen de las cámaras son RegNets, una variación de ResNet (de un paper de 2012, algo antiguo). En cambio, las redes neuronales que están más cerca de la parte superior (los outputs) son en forma de Transformer, basado en Attention (para los muy interesados, el paper es Attention is all you Need). Estas redes neuronales apenas tienen 4 o 5 años, y son capaces de entender muchas más cosas que las anteriores; son capaces de hacer diferentes actuaciones con la misma red neuronal por detrás.
Además de todo esto, Tesla hace una reconstrucción 3D por detrás de todo el mundo que rodea al coche, y además estima las trayectorias de los peatones y los coches decenas de veces por segundo (4D), para la mejor toma de decisiones.
Todo esto se junta con una serie de colas. Estas colas son para que el sistema tenga memoria (porque, de por sí, analizando imagen a imagen, el sistema no tiene memoria de lo que ha pasado anteriormente). Por ello, Tesla tiene tres colas, siendo las más importantes la de señales (guardando los últimos 1.67 segundos) y la de carriles e intenciones (que solo se actualiza en caso de moverse). Esta última sirve para que el coche, aunque haya pasado mucho tiempo parado en un semáforo, todavía sepa la obligatoriedad del sentido en el carril en el que está, y hasta que no se ponga a circular no se sobreescribirá esta información.
Como os dará la intuición, este stack es MUY PESADO computacionalmente, y Tesla ha hecho un trabajo ABSOLUTAMENTE EXCEPCIONAL para poderlo correr en coches, con grandes dosis de optimización.
Aquí me he saltado algunos pasos importantes y abstractos (como la vectorización del espacio en 4D, una fumada mental, o el uso de la telemetría del coche como input, las oclusiones parciales y cómo las solventa...) que podéis consultar en el vídeo el AI Day.
¿Cómo entrena Tesla las redes neuronales?Atendiendo al comentario de
@Francisco35 , está claro que hay situaciones limítrofes y absolutamente infrecuentes que apenas se dan y las redes neuronales apenas pueden ver. Y lo que no vean estas redes, no pueden aprenderlo (como si fueran niños pequeños). Tesla, a partir de las grabaciones que enviamos opcionalmente con el coche, ha montado un simulador fotorrealista de más de 3.200 km de carreteras donde los coches circulan tal y como circulan en la vida real, y el autopilot campa a sus anchas. De recorrer millones de kilómetros en estas simulaciones, el autopilot consigue ver numerosas casuísticas. Por ejemplo, en la 10.69 se han mejorado los giros a la izquierda. Estoy seguro de que Tesla ha estado incidiendo en que el autopilot hiciera miles o millones de giros a la izquierda, monitorizando cómo mueve el volante y los pedales, hasta que ha entendido la red neuronal como se hacen correctamente los giros a la izquierda.
De esta manera, si Tesla quiere probar cómo funciona el autopilot en caso de una caja caída, o de una viga, solo tiene que correrlo en la simulación, y si no le gusta lo que ve, enseñarle durante miles de ocasiones como evitar el choque o la mejor forma de tratarlo.
¿Y la ética?Aquí está el campo que queda por desarrollar. Hoy en día es un vacío legal bastante grande el tema de qué debería de hacer el coche (matar a los del interior o la abuelita).
Ahora mismo los reguladores no saben si es problema del coche, del conductor, de la marca, de los desarrolladores... no se tiene precedente y no se ha establecido una ley. Por lo tanto, es uno de los campos que más quedan por desarrollar.
¿Y cuál es tu opinión, Parzival?Bueno, mi opinión es que el HW actual de Tesla no será suficiente para el FSD.
Al igual que las redes neuronales están mejorando exponencialmente año tras año, esto muchas veces es debido a un aumento del peso de dicha red neuronal y, por lo tanto, se necesita mayor capacidad de computación.
Muchos problemas actualmente se resuelven con millones o billones de neuronas artificiales debido a su complejidad, y esto conlleva muchísimo cómputo.
Creo que Tesla actualmente ha conseguido un nivel de optimización del FSD para el HW actual bastante interesante. Creo que incluso mejorará ahora que tienen Dojo (el nuevo supercomputador) y pueden correr más simulaciones y entrenar de una manera mucho más completa.
Pero al igual, pienso que para conseguir el FSD de nivel 5 se necesitarán ordenadores mucho más potentes que los actuales en los coches, al menos una generación por delante, para correr stacks de redes neuronales ultra complejas (con arquitecturas que incluso estén por desarrollar) en tiempo real y con un framerate alto.
Ahora, con esto estoy tirando una moneda al aire, porque el equipo de IA de Tesla es el más avanzado del mundo (junto con el de Google, Facebook, el de AndrewNG y alguno más). Si consiguen sacarse algo de la manga, o incluso hacer un paper ellos mismos con unas nuevas redes que se inventen, podremos hablar de avances mucho más profundos en el medio espacio de tiempo.
En resumen: Me he dejado muchas cosas en este resumen, que podéis ver en el video de AI Day de 2021, pero creo que he resumido las cosas más importantes sobre cómo Tesla actualmente trabaja con la IA.
Mi predicción es que dentro de 1 o 2 años, Tesla sacará un nuevo hardware más potente con sus coches que pueda soportar redes más complejas y pesadas con el mismo framerate. Y con ese hardware, estaremos en FSD 4 o 5 en, quizás, 4-5 años si tenemos suerte, 10 si no tenemos suerte.
Respecto al tema de la ética, es un campo todavía sin regular y, por lo tanto, no puedo opinar de ello porque no lo saben ni los reguladores actualmente y cada uno tiene una opinión.
A partir de ahora, resuelvo dudas!