Saltar al contenido
Cosas Tecnológicas

Cómo las redes neuronales alimentan a los robots en Starship

Cómo las redes neuronales alimentan a los robots en Starship

Starship está construyendo una flota de robots para entregar paquetes localmente bajo demanda. Para lograr esto con éxito, los robots deben ser seguros, educados y rápidos. Pero, ¿cómo se llega allí con pocos recursos computacionales y sin sensores costosos como los LIDAR? Esta es la realidad de la ingeniería que debe abordar a menos que viva en un universo donde los clientes pagan felizmente $ 100 por una entrega.

Para empezar, los robots comienzan detectando el mundo con radares, una multitud de cámaras y ultrasonidos.

Sin embargo, el desafío es que la mayor parte de este conocimiento es de bajo nivel y no semántico. Por ejemplo, un robot puede sentir que un objeto está a diez metros de distancia, pero sin conocer la categoría del objeto, es difícil tomar decisiones de conducción seguras.

El aprendizaje automático a través de redes neuronales es sorprendentemente útil para convertir estos datos no estructurados de bajo nivel en información de nivel superior.

Usar el aprendizaje automático para detectar objetos

Los robots de nave espacial conducen principalmente por las aceras y cruzan las calles cuando lo necesitan. Esto plantea un conjunto diferente de desafíos en comparación con los automóviles autónomos. El tráfico en las carreteras para automóviles es más estructurado y predecible. Los automóviles se mueven a lo largo de los carriles y no cambian de dirección con demasiada frecuencia, mientras que los humanos con frecuencia se detienen abruptamente, deambulan, pueden ir acompañados de un perro con una correa y no señalan sus intenciones con luces direccionales.

Para comprender el entorno circundante en tiempo real, un componente central del robot es un módulo de detección de objetos, un programa que ingresa imágenes y devuelve una lista de cajas de objetos.

Eso está muy bien, pero ¿cómo se escribe un programa así?

Una imagen es una gran matriz tridimensional que consta de una miríada de números que representan intensidades de píxeles. Estos valores cambian significativamente cuando la imagen se toma de noche en lugar de durante el día; cuando cambia el color, la escala o la posición del objeto, o cuando el objeto en sí está truncado u ocluido.

Izquierda: lo que ve el humano. Correcto, lo que ve la computadora.

Mejorar la capacidad del robot para adaptarse y aprender.

Para algunos problemas complejos, la enseñanza es más natural que la programación.

En el software del robot, tenemos un conjunto de unidades entrenables, en su mayoría redes neuronales, donde el código lo escribe el propio modelo. El programa está representado por un conjunto de pesos.

Al principio, estos números se inicializan aleatoriamente y la salida del programa también es aleatoria. Los ingenieros presentan los ejemplos del modelo de lo que les gustaría predecir y le piden a la red que mejore la próxima vez que vea una entrada similar. Al cambiar iterativamente los pesos, el algoritmo de optimización busca programas que predigan cuadros delimitadores con mayor precisión.

Evolución de los programas encontrados por el procedimiento de optimización.

Sin embargo, es necesario pensar profundamente en los ejemplos que se utilizan para entrenar el modelo.

  • ¿Se debe penalizar o recompensar al modelo cuando detecta un automóvil en el reflejo de una ventana?
  • ¿Qué debe hacer cuando detecta una imagen de un humano en un cartel?
  • ¿Debe anotarse un remolque de automóvil lleno de automóviles como una entidad o cada uno de los automóviles debe anotarse por separado?

Todos estos son ejemplos que han sucedido durante la construcción del módulo de detección de objetos en nuestros robots.

La red neuronal detecta objetos en reflejos y carteles. ¿Un error o una característica?

Ingeniería arquitectónica: utilización eficaz de los datos

Cuando se enseña una máquina, los macrodatos simplemente no son suficientes. Los datos recopilados deben ser ricos y variados. Por ejemplo, usar solo imágenes muestreadas uniformemente y luego anotarlas, mostraría muchos peatones y autos, sin embargo, el modelo carecería de ejemplos de motocicletas o patinadores para detectar de manera confiable estas categorías.

El equipo debe buscar específicamente ejemplos difíciles y casos raros, de lo contrario, el modelo no progresaría. Starship opera en varios países diferentes y las diferentes condiciones climáticas enriquecen el conjunto de ejemplos. Mucha gente se sorprendió cuando los robots de entrega de Starship operaron durante la tormenta de nieve. ‘Emma’ en el Reino Unido, sin embargo, los aeropuertos y las escuelas permanecieron cerrados.

Los robots entregan paquetes en diversas condiciones climáticas.

Al mismo tiempo, anotar datos requiere tiempo y recursos. Idealmente, es mejor entrenar y mejorar modelos con menos datos. Aquí es donde entra en juego la ingeniería arquitectónica. Codificamos el conocimiento previo en la arquitectura y los procesos de optimización para reducir el espacio de búsqueda a programas que son más probables en el mundo real.

Incorporamos conocimientos previos en arquitecturas de redes neuronales para obtener mejores modelos.

En algunas aplicaciones de visión por computadora, como la segmentación por píxeles, es útil que el modelo sepa si el robot está en una acera o en un cruce de carreteras. Para proporcionar una pista, codificamos pistas a nivel de imagen global en la arquitectura de la red neuronal; el modelo entonces determina si lo usa o no sin tener que aprenderlo desde cero.

Redes neuronales en entornos con recursos limitados

Después de la ingeniería de datos y arquitectura, el modelo podría funcionar bien. Sin embargo, los modelos de aprendizaje profundo requieren una cantidad significativa de potencia informática, y este es un gran desafío para el equipo porque no podemos aprovechar las tarjetas gráficas más potentes en los robots de entrega de bajo costo que funcionan con baterías.

Starship quiere que nuestras entregas sean de bajo costo, lo que significa que nuestro hardware debe ser económico. Esa es la misma razón por la que Starship no usa LIDAR (un sistema de detección que funciona según el principio del radar, pero usa la luz de un láser) que facilitaría mucho la comprensión del mundo, pero no queremos que nuestros clientes paguen más. de lo que necesitan para la entrega.

Los sistemas de detección de objetos de última generación publicados en artículos académicos funcionan alrededor de 5 fotogramas por segundo [MaskRCNN], y los papeles de detección de objetos en tiempo real no informan tasas significativamente superiores a 100 FPS [Light-Head R-CNN, tiny-YOLO, tiny-DSOD]. Además, estos números se informan en una sola imagen; sin embargo, necesitamos una comprensión de 360 ​​grados (el equivalente a procesar aproximadamente 5 imágenes individuales).

Para proporcionar una perspectiva, los modelos Starship funcionan a más de 2000 FPS cuando se miden en una GPU de nivel de consumidor y procesan una imagen panorámica completa de 360 ​​grados en una pasada. Esto equivale a 10,000 FPS cuando se procesan 5 imágenes individuales con un tamaño de lote 1.

Corregir errores de redes neuronales es un desafío

Las redes neuronales son mejores que los humanos en muchos problemas visuales, aunque aún pueden contener errores. Por ejemplo, un cuadro delimitador puede ser demasiado ancho, la confianza demasiado baja o un objeto puede ser alucinado en un lugar que en realidad está vacío.

Posibles problemas en el módulo de detección de objetos. ¿Cómo solucionarlos?

Arreglar estos errores es un desafío.

Las redes neuronales se consideran cajas negras difíciles de analizar y comprender. Sin embargo, para mejorar el modelo, los ingenieros deben comprender los casos de falla y profundizar en los detalles de lo que ha aprendido el modelo.

El modelo está representado por un conjunto de pesos y uno puede visualizar lo que cada neurona específica está tratando de detectar. Por ejemplo, las primeras capas de la red de Starship se activan con patrones estándar como bordes horizontales y verticales. El siguiente bloque de capas detecta texturas más complejas, mientras que las capas superiores detectan piezas de automóviles y objetos completos.

La forma en que la red neuronal que usamos en los robots aumenta la comprensión de las imágenes.

Desafíos en el uso de redes neuronales en sistemas de producción del mundo real

La deuda técnica recibe otro significado con los modelos de aprendizaje automático. Los ingenieros mejoran continuamente las arquitecturas, los procesos de optimización y los conjuntos de datos. Como resultado, el modelo se vuelve más preciso. Sin embargo, cambiar el modelo de detección a uno mejor no garantiza necesariamente el éxito en el comportamiento general de un robot.

Hay docenas de componentes que utilizan la salida del modelo de detección de objetos, cada uno de los cuales requiere una precisión y un nivel de recuperación diferentes que se establecen en función del modelo existente. Sin embargo, el nuevo modelo puede actuar de manera diferente de varias formas. Por ejemplo, la distribución de probabilidad de salida podría estar sesgada hacia valores mayores o ser más amplia. Aunque el rendimiento promedio es mejor, puede ser peor para un grupo específico como los autos grandes. Para evitar estos obstáculos, el equipo calibra las probabilidades y verifica las regresiones en múltiples conjuntos de datos estratificados.

El rendimiento medio no le cuenta toda la historia del modelo.

La supervisión de componentes de software entrenables plantea un conjunto diferente de desafíos en comparación con la supervisión de software estándar. Se da poca preocupación con respecto al tiempo de inferencia o el uso de la memoria, porque en su mayoría son constantes.

Sin embargo, el cambio del conjunto de datos se convierte en la principal preocupación: la distribución de datos utilizada para entrenar el modelo es diferente de aquella en la que se implementa actualmente.

Por ejemplo, de repente puede haber patinetes eléctricos circulando por las aceras. Si el modelo no tuvo en cuenta esta clase, el modelo tendrá dificultades para clasificarla correctamente. La información derivada del módulo de detección de objetos no estará de acuerdo con otra información sensorial, lo que provocará la solicitud de asistencia de operadores humanos y, por lo tanto, ralentizará las entregas.

Una preocupación importante en el aprendizaje automático práctico: los datos de entrenamiento y prueba provienen de diferentes distribuciones.

Resumen

Las redes neuronales permiten a los robots Starship estar seguros en los cruces de carreteras al evitar obstáculos como los automóviles y en las aceras al comprender todas las diferentes direcciones que los humanos y otros obstáculos pueden elegir para ir.

Los robots Starship logran esto mediante la utilización de hardware económico que plantea muchos desafíos de ingeniería, pero hace que las entregas de robots sean una realidad sólida en la actualidad. Los robots de Starship están haciendo entregas reales los siete días de la semana en varias ciudades del mundo, y es gratificante ver cómo nuestra tecnología continuamente brinda a las personas una mayor comodidad en sus vidas.


How Neural Networks Power Robots at Starship se publicó originalmente en Starship Technologies on Medium, donde las personas continúan la conversación destacando y respondiendo a esta historia.