1 minute read


title: “Semana 11 - Pilotando con PilotNet” categories:

  • Registro Semanal tags:
  • ROS2
  • Aprendizaje Automático

Índice

  1. Entrenamiento

Entrenamiento

El siguiente paso fue entrenar PilotNet. Se utilizó el criterio de MSELoss y el optimizador zero_grad con una sola salida para la velocidad angular.

Al principio, al observar varias gráficas, el entrenamiento no convergía. Sin embargo, tras varios intentos, se logró que la red entrenara de manera adecuada. Dado que el conjunto de datos estaba crudo, se eliminó el conjunto de datos correspondiente al circuito de Nürburgring line, ya que en su mayoría es una recta.

Estas fueron las tres pruebas donde se hicieron descubrimientos más significativos.

Conjunto de Datos sin Procesar (Raw Dataset)

  • Tamaño del Lote (Batch Size): 20
  • Épocas (Epoch): 10
  • Tasa de Aprendizaje (Learning Rate): 0.001
  • Momentum: 0.1

El dron fue capaz de seguir la línea, aunque en curvas muy cerradas a veces se perdía. Sin embargo, fue un resultado muy bueno para haber sido entrenado con un conjunto de datos crudo de 23866 muestras.

Conjunto de Datos 1
Función de Pérdida 1

Conjunto de Datos Balanceado (Balanced Dataset)

  • Tamaño del Lote (Batch Size): 20
  • Épocas (Epoch): 10
  • Tasa de Aprendizaje (Learning Rate): 0.001
  • Momentum: 0.1

Al balancear el conjunto de datos, nos dimos cuenta de que no era lo más óptimo que absolutamente todas las muestras tuvieran el mismo peso, y el dron se salía de la línea con mucha frecuencia.

Conjunto de Datos 2
Función de Pérdida 2

Datos Semi-Balanceados (Semi-Balanced Data)

  • Tamaño del Lote (Batch Size): 50
  • Épocas (Epoch): 30
  • Tasa de Aprendizaje (Learning Rate): 0.001
  • Momentum: 0.1

Para la siguiente prueba, reducimos los datos en velocidades curvas medias un 20% y en velocidades curvas altas un 40%. Esta prueba funcionó significativamente mejor, permitiendo al dron, al igual que en la primera prueba, completar el circuito.

Conjunto de Datos 3
Función de Pérdida 3

Updated: