Por lo general, comienza con una tarea en mente para lo que desea que haga el quadcopter. Después de eso, diseña una solución, y las redes neuronales podrían usarse como una parte más pequeña o más grande de la solución.
Sintiendo Una red neuronal convolucional (CNN) es una buena herramienta para procesar la información de la cámara. Si tiene muchos datos de video de su quadcopter y está dispuesto a tomarse el tiempo para etiquetarlos, puede usar el aprendizaje supervisado para clasificar las escenas en las que cada clase corresponde a una acción conocida que se puede ejecutar. Dan Ciresan y Alessandro Giusti hicieron exactamente esto para entrenar un quadcopter para seguir senderos en los Alpes suizos. Básicamente, tomaron un video caminando por senderos de montaña y luego pasaron un tiempo etiquetando los límites del sendero desde el video. Luego entrenaron a una CNN para predecir la dirección del sendero con respecto a la cámara. El controlador simplemente trata de mantener la dirección del punto de sendero hacia adelante girando el quadcopter a medida que avanza.
Detección + Control. Si desea controlar directamente un quadcopter desde una cámara, puede utilizar métodos como gradientes de políticas o neuroevolución. Sergey Levine ha trabajado en el uso de CNN para controlar un robot que construye con legos y puede colocar bloques en un clasificador de formas. Las matemáticas son algo complejas, pero vale la pena ver los videos. Jan Koutnik @ IDSIA utilizó técnicas especializadas de neuroevolución para controlar un automóvil simulado utilizando características extraídas de imágenes de una CNN.
- ¿Python es más lento que MATLAB para la ciencia de datos y el aprendizaje automático?
- ¿Cuáles son los documentos que debería leer sobre los sistemas de recomendación basados en el aprendizaje profundo?
- ¿Cuán ampliamente adoptado es el aprendizaje automático en el comercio?
- Cuál debería ser mi próximo paso, después de cubrir las estadísticas básicas de las estadísticas principales, un curso básico de análisis de datos (preparación de datos, exploración, clasificación, minería de reglas de asociación, agrupación, regresión) y un proyecto en un conjunto de datos SSLC (puede encontrarlo en mi único blog en Quora) usando R?
- Quiero cambiar mi flujo de .NET a Big Data o Machine Learning. ¿Como empiezo?
Detección + Planificación + Control. Si su aplicación es muy compleja, es posible que deba dividirla en múltiples subsistemas. Estos subsistemas manejarán diferentes aspectos de la detección del entorno, la planificación de cómo interactuar con el entorno y el control del quadcopter de acuerdo con los planes mientras reaccionan al entorno. Para tener una idea de cómo funcionan estos sistemas más grandes, puede ver este video en autos sin conductor de Amnon Sashua, el CEO de Mobileye. Utilizan combinaciones de CNN, RNN y muchas otras técnicas neuronales y no neuronales para construir un sistema completo. Con una abstracción suficiente, también puede usar soluciones de tipo Q-learning como DQN para la planificación.
Independientemente de lo que se haga, lo primero y más importante es decidir qué tarea va a resolver el quadcopter. Luego trabaje hacia atrás, simplificando la tarea donde sea posible y dividiéndola en varias tareas si es necesario. Una vez que las partes y cómo interactúan se aclaren, será más fácil ver cómo desarrollar el controlador que necesita.