¿Cuál es la complejidad temporal del algoritmo de retropropagación para entrenar redes neuronales artificiales?

La complejidad temporal de una iteración única depende de la estructura de la red. Para un MLP estándar (perceptrón multicapa), el tiempo está dominado por las multiplicaciones de la matriz. Supongamos un algoritmo de multiplicación de matriz estándar (ingenuo), y dejemos que [math] d [/ math] sea el tamaño del mini-lote. En una sola capa con una dimensión de entrada [matemática] n [/ matemática] y una dimensión de salida [matemática] m [/ matemática], las propagaciones directa e inversa siempre serán [matemática] O (nmd) [/ matemática] suponiendo una matriz ingenua Algoritmo de producto. Suma esto sobre todas las capas para obtener el tiempo para un solo cálculo de backprop.

En general, por las garantías que puede encontrar en la literatura de diferenciación automática, la diferenciación automática en modo inverso es, como máximo, un factor constante más lento que el cálculo directo de la función de salida y pérdida de la red neuronal.

Todas las demás operaciones requeridas se pueden calcular en tiempo lineal en la dimensión (multiplicado por el tamaño del lote). Esto incluye operaciones basadas en elementos como ReLU, sigmoides, etc. y también softmaxes, que se pueden calcular en dos pasadas.

Sin embargo, si se refiere al tiempo hasta la convergencia, no hay garantías formales conocidas sobre el número de iteraciones requeridas.