¿El gradiente sintético eliminará la propagación hacia atrás?

Lo que logran los gradientes sintéticos, que es agregar paralelismo al permitir que diferentes capas / subgráficos se actualicen sin bloquear los resultados de un avance completo y un retroceso hacia uno mismo, se está volviendo más atractivo con el tiempo. Una razón tiene que ver con la tecnología / hardware. La idea de asignar diferentes subgráficos del gráfico computacional a diferentes GPU y hacer que se comuniquen (en lugar de poner todo el modelo en una sola GPU) se ve mejor y mejor ya que tecnologías como nvlink permiten CPU GPU y GPU mucho más rápidas Comunicación GPU que PCI tradicionalmente permite. Otra razón tiene que ver con los cambios en el aprendizaje automático. La tendencia durante un tiempo ha sido que las redes más profundas muestran un mejor rendimiento (tan pronto como algunas innovaciones como las redes residuales le permitan entrenarlas con éxito), y las redes más profundas tendrán una proporción creciente de sí mismas en un estado “bloqueado” durante el backprop tradicional.

Además de la motivación, también está la cuestión de “¿cuánto estamos renunciando?”. En términos de rendimiento en CIFAR y Copy-And-Repeat, los resultados experimentales en el documento se ven realmente bien. Sin embargo, el documento parece no mencionar dos piezas críticas de información sobre “¿cuánto estamos renunciando? “. Están entrenando los modelos de los gradientes sintéticos basados ​​en la pérdida L2 de los gradientes reales, por lo que uno se pregunta qué tan cerca están los gradientes sintéticos de los gradientes reales. Su artículo no parece incluir una curva de error de pérdida L2. Además, está la cuestión de cuántos parámetros se necesitan para los modelos de los gradientes sintéticos, que son redes neuronales. Si estos modelos necesitan ser muy sofisticados, se pierde el propósito original de ahorrar tiempo y memoria. El documento no menciona lo que están utilizando para estos modelos.

Entonces, dependiendo de la respuesta a la pregunta “¿cuánto estamos renunciando?”, Veo que el mejor escenario para los gradientes sintéticos es “el enfoque más común para entrenar arquitecturas muy profundas”. Dudo mucho que “elimine la propagación”, como su pregunta lo hace, porque la investigación de aprendizaje automático continúa, pero a menudo las personas eligen usar modelos más simples con menos partes móviles. Puedes sacar la regresión lineal de mis manos frías y muertas.

No espero que lo haga.

Primero, el enfoque es interesante y quizás perjudicial para los RNN.

Pero si va más allá de 1 capa para el gradiente sintético, ¿cómo calcularía la actualización? ¿Por gradiente sintético? Ese es un problema recurrente de todos los enfoques de Deep Mind que reemplazan partes de entrenamiento de las NN por NN. Para que funcione, debe usar NN más simples. Es por eso que los encuentro geniales, pero no creo que los vaya a usar en general.

Además, por su motivación, puede ver que debería desacoplar las actualizaciones. Lo que no proporciona ninguna ventaja para las redes de clasificación de imágenes de retroalimentación típicas.

Bueno, tendremos que esperar y mirar. El gradiente sintético parece ser bueno al menos en algunas áreas, pero puede ser muy temprano.

Una de las limitaciones obvias que enfrentamos fue el hardware que se utilizará. El punto de referencia de mejora mostrado por Deep Mind estaba en la cima del hardware de línea. Tuvimos que luchar un poco allí. Además, cuando se verificó con muchos parámetros, fue lento.

Esto requerirá más investigación y trabajo, pero con la velocidad a la que se mueve DL podemos tenerlo más pronto que tarde o algo aún mejor.