Deep Learning en vehículos autónomos

Me puedes encontrar en Twitter @ bhutanisanyam1 conectarte conmigo en Linkedin aquí
Aquí y Aquí aquí hay dos artículos sobre mi ruta de aprendizaje para auto-conductores.

Si desea leer más Tutoriales / Notas, consulte esta publicación

Aquí puede encontrar el archivo de Markdown

Estas son las Lecture 1 notas para el MIT 6 .S094: Curso de Aprendizaje Profundo para Automóviles Conducidos (2018), Impartido por Lex Fridman

Lectura 2 Puede encontrar las Notas aquí
Lectura 3 Puede encontrar las Notas aquí

Las notas de la lección 4 se pueden encontrar aquí
Las notas de la lección 5 se pueden encontrar aquí

Todas las imágenes son de las diapositivas de la clase.

Deep Learning: conjunto de técnicas que han funcionado bien para las técnicas de IA en los últimos años debido a Avances en investigación y capacidades de GPU. Los SDC son sistemas que pueden utilizar estos.

Los instructores están trabajando en devoloping automóviles que comprenden el entorno dentro y fuera del automóvil.

Deep Learning en vehículos autónomos: Competencias

  • DeepTraffic: Deep Reinfocement Learning la competencia, el código se ejecuta en el navegador. v2.0 ahora permite el entrenamiento multiagente.
  • SegFuse: competición de Segmentación de escena de conducción dinámica. Dado el video Raw, la cinemática (movimientos) de los automóviles en el video. El conjunto de entrenamiento nos proporciona etiquetas de verdad de fondo, etiquetas de nivel de píxel, segmentación de escenas y flujo óptico. Objetivo: tener un rendimiento mejor que el estado del arte en la segmentación basada en imágenes. Necesidad: los robots deben interpretar, entender y rastrear los detalles de la escena.
  • Deep Crash: Objetivo: Usa Deep RL para evitar el Evitar Evitar High Crash. Entrenamiento: 1000 carreras para entrenar a un modelo de automóvil que funciona a velocidades de 30 mph y más con la entrada de una cámara monocular.
  • DeepTesla: uso de redes a gran escala para entrenar la dirección, usando un video monocular como entrada para el entrenamiento.

Deep Learning en vehículos autónomos: ¿Conducir automóviles?

Objetivo: aplicar métodos de aprendizaje impulsados ​​por datos a un vehículo autónomo.

Es la mayor integración de robots personales.

  • Alcance amplio: gran cantidad de vehículos en la carretera.
  • Deep Learning en vehículos autónomos: una conexión íntima entre el vehiculo y el humano. Confiando el Robot en tu vida, una “transferencia de control” al automóvil. La naturaleza vital del sistema es profunda y realmente probará los límites del sistema.
  • Vehículo autónomo: es un robot personal en lugar de un control de percepción. Los sistemas necesitarán la asistencia de seres humanos a través de una transferencia de control durante situaciones.

Un sistema verdaderamente de percepción que tiene una naturaleza dinámica con equivalencia humana a unas pocas décadas de distancia.

  • Carga cognitiva: una CNN completamente conectada toma la entrada 3D sin procesar para analizar la carga cognitiva, la estimación de la postura corporal, la somnolencia del conductor.

Argumento: la autonomía completa requiere alcanzar Inteligencia a nivel humano para algunos campos.

Deep Learning en vehículos autónomos: Enfoque de Inteligencia Artificial Centrada en el Hombre

Propuesta: Considerar la presencia humana en el diseño de cada algoritmo.

  • El control de percepción puede manejar el 90% de los casos.
  • Control humano: dominante en el 10% de los casos.

Deep Learning en vehículos autónomos: ¿Por qué deep learning?

Deep Learning en vehículos autónomos aplica realmente bien cuando hay gran cantidad de datos. Dado que las vidas humanas dependen directamente de las máquinas. Se necesitan técnicas que aprendan de datos del mundo real.

  • Percepción / Lado de control
  • Colaboración e interacción basadas en humanos.

¿Qué es Deep Learning?

AI: Habilidad para lograr objetivos complejos.

Entendimiento / Razonamiento: Capacidad de convertir información compleja en información simple y útil.

Aprendizaje profundo (aprendizaje de representación o aprendizaje de características) puede tomar información sin sentido y tiene la capacidad de construir jerárquicos representación para permitir que se generen ideas.

La rama más capaz de AI que es capaz de derivar la estructura de los datos para permitir la derivación de ideas.

Representación del aprendizaje

  • La representación es importante. Ej.: Centrado en la Tierra Vs Centrado en el Sol.
  • Cartesiano Vs Coordenadas polares para separar círculos y triángulos
  • Ej: Para separar la curva roja contra la azul Vs usando una red neuronal oculta de 1 capa. El aprendizaje (uso de información en bruto para generar resultados) de la función se logra mediante el aprendizaje profundo
  • El aprendizaje profundo mejora con más datos.
  • La generalización sobre casos de Edge es el principal desafío para el aprendizaje profundo.

Redes neuronales. Inspirado libremente por las neuronas biológicas humanas.

  • NN humano: 100 mil millones de neuronas, 1,000 trillones de sinapsis
  • Estado de la técnica ResNet-52: 60 millones de sinapsis.
  • La diferencia es un orden de 7 de diferencia de magnitud.
Diferencias:
  1. Los NN humanos no tienen apilamiento, se apilan los ANN.
  2. No hay orden Vs pedido
  3. Aprendizaje sincronizado Vs Aprendizaje asíncrono
  4. Aprendizaje desconocido Vs Backprop
  5. Procesamiento más lento Vs Procesamiento rápido
  6. ] Menor consumo de energía frente a ineficiente

Similitud: ambas se computan a gran escala.

Una neurona básica es simple, las unidades conectadas permiten casos de uso muy complejos.

Neurona:

  1. La neurona consiste en entradas o fa conjunto de bordes con pesos
  2. Los pesos se multiplican
  3. Se agrega un sesgo
  4. Una función no lineal determina si la NN está activada.

Combinación de NN:

  1. Avance hacia adelante NN: Correcto en Visión por Computador.
  2. Recurrente NN: Se retroalimenta a sí misma, tiene memoria. Exitoso en datos relacionados con series de tiempo, muy similares a los humanos (por lo tanto, son más difíciles de entrenar).

Universalidad: Mutiple Las redes neuronales pueden aprender a aproximarse a cualquier función con solo 1 capa de red oculta *

* Dados buenos algoritmos. Limitación: No está en el poder de las redes, sino en los métodos.

Categorías de Deep Learning

  1. Aprendizaje supervisado: se necesita la anotación humana de los datos.
  2. Aprendizaje supervisado aumentado: enfoque humano + máquina.
  3. Semi -Supervised
  4. Aprendizaje no supervisado: Machine Input.
  5. Reinforcement Learning: Machine Input.

Actualmente en uso: 1,2

Futuras y mejores categorías: 3,4,5.

Espacios de impacto en Deep Learning:

  1. Definiendo y resolviendo un problema particular. ex: Estimación del precio de la vivienda de Boston.
  2. Inteligencia de propósito general (o casi): Refuerzo y aprendizaje no supervisado.

Aprendizaje supervisado

Fases de capacitación:
  1. Datos de entrada
  2. Etiquetas
  3. Capacitación de datos
Pruebas Etapa:
  1. Nuevos datos
  2. Ingresados ​​al sistema de aprendizaje
  3. Producir salida

Aprendizaje

  • Paso hacia adelante: los datos de entrada se ingresan en la NN y se genera la predicción.
  • Backpropagated: mide la desviación de la salida esperada y calcula el error, ajusta los parámetros (hiperparámetros) utilizados para predecir los valores de acuerdo con la magnitud del error.

¿Qué podemos hacer con Deep Learning?

  1. Mapeo uno a uno.
  2. Uno a muchos
  3. Muchos a muchos .
  4. Asíncrono Muchos a Muchos.

Terminologías:

  • DL = NN (Aprendizaje profundo = Redes neuronales).
  • DL es un subconjunto de ML (Aprendizaje automático).
  • MLP: Perceptrón multicapa
  • DNN: Redes neuronales profundas.
  • RNN: Redes neuronales recurrentes. [19659022] LSTM: Memoria a largo plazo a corto plazo.
  • CNN: Redes neuronales convolutinales.
  • DBN: Deep Belief Networks.
Operaciones de red neuronal:
  • Convolución
  • Agrupación
  • Función de activación
  • Backpropogation

Funciones de activación

  1. Sigmoide. Contras: Gradiente de desaparición, No centrado en cero
  2. Tanh. Contras: gradientes de desaparición.
  3. ReLu. Contras: No centrado en cero

Gradientes de fuga: cuando la salida o gradiente de la NN es muy baja y el aprendizaje es lento.

Backpropagation

Proceso de aprendizaje de la NN. Objetivo: Actualizar los pesos y sesgos para disminuir la función de pérdida.

Subtareas:
  1. Paso hacia adelante para calcular la salida y el error de la red.
  2. Paso hacia atrás para calcular los gradientes.
  3. Una fracción del gradiente del peso se resta de el peso.

Dado que el proceso es modular, es paralelizable.

Aprendizaje

El aprendizaje es un proceso de optimización.

Objetivo: Minimizar la función de pérdida actualizando pesos y sesgos.

Técnicas utilizadas: Mini-batch Gradient Descendente y Gradiente Estocástico

Desafío de aprendizaje

  • La función de pérdida es altamente no lineal.
  • Gradiente de desaparición.
  • Dying ReLU: Derivate = 0 para 0 entradas.
  • Saddle Points.
  • Overfitting: NN Aprende datos de entrenamiento pero no generaliza bien a datos del mundo real. Detectado por: Bajo error de entrenamiento pero alto Error de prueba.

Regularización:

Técnicas que ayudan en generalizar.

  • Crear conjunto de validación: Subconjunto de datos de entrenamiento
  • Paro anticipado: Para guardar un punto de control y evaluar cómo está la NN se está realizando en los datos de prueba.

Deserción: eliminar aleatoriamente algunos de los nodos (junto con los nodos entrantes y salientes)

  • Denotado por la probabilidad de mantener un nodo (p)
  • El nodo de entrada p debe ser mucho mayor .

Objetivo: ayudar a generalizar mejor.

Regularización. Penalización de peso:

  • Penalización de L2: Pesos cuadrados penalizados:
  1. Mantiene pesos más pequeños a menos que el derivado de error sea alto.
  2. Evita que el error de muestreo se ajuste. Modelo más suave.
  3. Para 2 entradas similares, el peso se distribuye.
  • Penalización de L1: penaliza el peso absoluto:
  1. Permite que los pesos permanezcan grandes.

Área de juegos en red neuronal: para jugar Con técnicas y práctica

Avances en deep learning en vehículos autónomos

¿Qué cambió?

  1. Aumento del poder de cómputo.
  2. Conjuntos de datos grandes organizados.
  3. Algoritmos e investigación en la utilización de GPU.
  4. Software e infraestructura.
  5. Financiero

Deep Learning es difícil

Comparación humana:
    1. Visión humana: Devolución de datos de 540,000,000 años.
    2. Movimiento bípedo: 230,000,000 años de datos.

Resumen Pensamientos: datos de 100,000 años.

Red neuronal:
  1. Agregar distorsión a los datos de píxeles, provoca predicciones incorrectas.
  2. Problemas de visión: capacidad de iluminación, posturas, oclusiones, variaciones intra clase.

Reconocimiento de objetos / Clasificación:

Objetivo: ingresar una imagen y predecir una salida

ImageNet: 14M + categorías con 21.8k + Categorías

Competencia: ILSVRC:

AlexNet (2012) hizo un salto significativo en la precisión.

Resnet (2015): Desempeño de nivel humano fue derrotado.

Ejemplo sutil: Deep Learning sigue siendo distante de ‘Capacidad de generalización humana’.

Misma arquitectura, muchas aplicaciones: podemos cambiar la capa de predicción para hacer predicciones a tantas clases como sea necesario.

  • Clasificación de imagen.
  • Título de imagen.
  • Localización de objetos.
  • Segmentación de imagen.

FCNN:

A cada píxel se le asigna una clase e ingresa una imagen y produce otra imagen como salida.

Objetivo: Imagen a asignación de imagen.

Casos de uso:
  • Segmentación de escena completa a nivel de píxeles.
  • Mapeo de colorización.
  • Detección de objetos.
  • Eliminación del fondo.
  • Pix2PixHD: Genera fotos de alta resolución. Imágenes realistas de mapas semánticos.
  • RNN: Trabajar con secuencias
Casos de uso:
    • Generación de:
      • Escritura a mano
      • Leyenda de imagen.
      • Descripción de video.
    • Modelado de la dirección de atención.
    • Dibujar con atención selectiva.

Grandes avances a través de Pong to Pong (2012): Un paso hacia AGI.

  • AlphaGo (2016): Aprendidos de Human Expert Games
  • AlphaGo Zero (2017): ¡Derrota a AlphaGo y Co y se entrenó sin ningún dato! (Se aprendió practicando contra sí mismo).
  • DeepStack (2017): Primero en vencer a los jugadores profesionales de poker (en Heads up Poker)

Desventajas actuales

  • Definir una buena función de recompensa es difícil. (Ejemplos de Coast Runner), Los resultados pueden ser sorprendentes.
  • Falta de robustez: Agregar ruido a los píxeles causa predicciones erróneas.

Desafíos actuales:

  • Transferencia de aprendizaje: Funciona bien con dominios estrechamente relacionados. Reto: Falta el aprendizaje de transferencia entre dominios. Motivo: comprensión de los motivos o la capacidad de entenderlo
  • Se necesita una enorme cantidad de datos.
  • Se requieren datos anotados.
  • No está completamente automatizado: ajuste de hiperparámetro
  • Recompensa: es difícil definir una función de buena recompensa.
  • Transparencia: NN son en su mayoría cajas negras (incluso después de que visualizamos los procesos bajo el capó).
  • Casos de borde: Deep Learning no es bueno para tratar casos de borde. (Especialmente cuando se trata de la conducción autónoma).

 

Dejá un comentario