120 votos

¿Es posible entrenar una red neuronal sin retropropagación?

Muchos libros y tutoriales sobre redes neuronales dedican mucho tiempo al algoritmo de retropropagación, que es esencialmente una herramienta para calcular el gradiente.

Supongamos que estamos construyendo un modelo con ~10K parámetros / pesos. Es posible ejecutar la optimización utilizando algunos algoritmos de optimización sin gradiente?

Creo que calcular el gradiente numérico sería demasiado lento, pero ¿qué tal otros métodos como Nelder-Mead, Simulated Annealing o un Algoritmo Genético?

Todos los algoritmos sufrirían mínimos locales, ¿por qué obsesionarse con el gradiente?

6 votos

@FranckDernoncourt Interpreté la otra pregunta como "¿por qué no utilizar global de optimización para entrenar redes neuronales?", mientras que ésta es más bien "¿por qué no utilizar sin derivados optimzers ...".

0 votos

@GeoMatt22 Ya veo, voto retirado, dejo que el OP decida :)

3voto

user39770 Puntos 9

Ya que se trata de una pregunta comunitaria, he pensado en añadir otra respuesta. "Back Propagation" es simplemente el algoritmo de descenso de gradiente. Se trata de utilizar sólo la primera derivada de la función para la que uno está tratando de encontrar los mínimos o máximos locales. Hay otro método llamado método de Newton o Newton-Raphson que implica el cálculo del hessiano y por lo tanto utiliza segundas derivadas. Puede tener éxito en casos en los que falla el descenso por gradiente. Me han dicho otras personas más informadas que yo, y sí, esto es una apelación de segunda mano a la autoridad, que no se utiliza en las redes neuronales porque calcular todas las segundas derivadas es demasiado costoso en términos de computación.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X