¿Cómo podemos combinar dos redes neuronales profundas y entrenarlas de extremo a extremo?

No estoy muy seguro si estoy obteniendo la arquitectura (y los problemas que enfrenta) correctamente. Se me ocurrieron varias ideas y aquí hay algunas formas en que puedo pensar que puedes apilar redes.

  1. ¿Está tratando de aumentar la detección de objetos (¿dónde?) O la clasificación de objetos (¿qué?). Si está tratando de optimizar “¿qué?” (O incluso ambos), ¿por qué no cambiar a una arquitectura RCNN y coordinar las salidas en las primeras redes junto con la clasificación binaria para la presencia de objetos? Luego, pase los mapas de características como entradas agrupadas de ROI a la siguiente red de clasificación multiclase.
  2. Si está tratando de mejorar la precisión para el caso “¿dónde?”, Puede entrenar el mismo algoritmo repetidamente para analizar sus errores. Estos son métodos de minería de datos como la minería dura (donde se alimentan al mismo clasificador / regresor o sus errores en el conjunto de trenes) o apilamiento (donde se entrenan nuevos clasificadores / regresores solo para corregir errores).
  3. Si desea realizar una conexión en cascada (entrada de la segunda red <- salida de la segunda red) para la tarea "dónde", creo que puede encontrar algunos métodos inteligentes utilizando la agrupación de ROI de la que estaba hablando anteriormente. Es un concepto muy bueno si lo miras.

Es posible que desee echar un vistazo al marco de chainer para el aprendizaje profundo. A continuación hay un enlace a un fragmento de código para implementar LRCN (LSTM + CNN) usando el marco de chainer.

ennnyo / LRCN

Si desea utilizar una red neuronal multicapa, no envíe las coordenadas y la clase al final de la primera capa, debe hacerlo al final de la última capa que deja, las dimensiones de entrada y salida de la primera capa deben igualarse. para que la salida de la primera capa se alimente a la segunda capa y así sucesivamente. digamos, n capas. Al final de esta enésima capa, intente obtener la salida según sea necesario, es decir, las coordenadas y la clase.

La agrupación máxima es una forma común de combinar entradas de dos redes neuronales profundas (DNN) diferentes.