El entrenamiento de redes neuronales profundas utilizando la propagación inversa tiene el problema de un gradiente de error que desaparece y que establece un límite sobre cuántas capas se pueden entrenar efectivamente, entonces, ¿por qué no usar un algoritmo genético para entrenar redes profundas, eliminando la propagación de errores?

El algoritmo genético se usa después de formular el problema dado en una forma en la que necesita encontrar algún valor mínimo o máximo en función de parámetros como el peso del modelo, los valores de entrada o cualquier cosa que desee incorporar en su modelo.

Para esta función formulada f (x1, x2,…., Xn) encontrará mínimos o máximos. Tenga en cuenta que hay n dimensiones y la forma más simple es iterar de forma anidada sobre todos los valores en cada eje para encontrar los mínimos (máximos). Aquí, los algoritmos genéticos como la optimización del enjambre de partículas se pueden usar para hacerlos lo suficientemente rápidos en comparación con la fuerza bruta. Pero todos los algoritmos genéticos no son deterministas, es decir, pueden ejecutarse de manera diferente cada vez produciendo un resultado final igual o diferente.

Ahora responde a tu pregunta,

  1. Son bastante lentos en comparación con otros métodos convencionales como la propagación inversa.
  2. Pueden ser golpeados en un mínimo local en lugar de encontrar un mínimo global.

Creo que estás malinterpretando el problema del “gradiente de fuga”.
No es solo un problema de optimización, sino que tiene más problemas de regularización.

El problema es que una red neuronal poco profunda tiene la capacidad de adaptarse a los datos de entrenamiento si se le da un número suficientemente grande de nodos en las capas. (Lea la literatura de Y.Bengio para discusiones detalladas)
Este fuerte poder expresivo de las pocas capas superiores hace que el gradiente se desvanezca antes de que las capas profundas sean entrenadas efectivamente para representar características útiles.

Entonces, incluso si usa GA u otro método de optimización de orden cero, creo que es probable que el error de entrenamiento se minimice bien con los cambios en la matriz de peso de las pocas capas superiores, y las capas más profundas no producen una buena representación.

Algunos investigadores ya están haciendo ese tipo de cosas, y puede ser bastante efectivo (hay un ejemplo particularmente interesante llamado HyperNEAT).
Otros investigadores han encontrado otras soluciones al problema del gradiente de fuga. Una solución es entrenar la red durante más tiempo (resulta que realmente funciona bastante bien). Otra solución es entrenar las capas cerca de las entradas utilizando algoritmos no supervisados ​​primero (como los autoencoders) y luego solo comenzar a usar la propagación hacia atrás una vez que se acerque a las capas de salida.

Pero para la optimización del enjambre de partículas necesita insertar los valores iniciales de cada una de las partículas que modifica hacia la mejor solución. GA comienza con poblaciones iniciales aleatorias e intenta encontrar las soluciones óptimas globales.

More Interesting

¿Podría la IA volverse autónoma y aprender y adaptarse de manera no supervisada a través del aprendizaje profundo?

¿Qué tan difícil es aprender el aprendizaje automático y el aprendizaje profundo después de los 30 años?

¿Cuál es la diferencia entre la clasificación de vectores de soporte y la regresión? ¿Un regresor de vectores de soporte se comporta como una red neuronal por casualidad?

¿Cómo agrega Quora el aprendizaje automático a su aplicación web?

¿Cuáles son las diferencias entre la red neuronal artificial (informática) y la red neuronal biológica?

¿Cómo reconoce la red neuronal convolucional los objetos de las imágenes sin la percepción o reconocimiento 3D?

¿Cómo son los cursos en edX sobre aprendizaje automático, ingeniería artificial y robótica para el empleo?

¿Cómo afectan los registros duplicados en el conjunto de datos de entrenamiento a un clasificador Naive Bayes?

¿Qué significa esto exactamente, "Cambiar los puntos de inicialización durante el entrenamiento" para el aprendizaje profundo?

Cómo decidir el tema de mi interés de investigación para obtener un doctorado en visión artificial y aprendizaje automático

¿Cómo escalas una red neuronal profunda para que se ejecute en un dispositivo móvil?

¿Qué se considera estado de arte para la traducción automática neuronal?

Aprendizaje profundo: ¿Por qué no utilizar el entrenamiento sin supervisión para las redes neuronales más tradicionales (superficiales)?

Cómo interpretar la salida de una red neuronal

¿TF-IDF está categorizado como una selección de características o una extracción de características?