¿Qué es el clip_grad_norm
El clipping es una estrategia que se usa en entrenamiento para acortar parámetros que vayan creciendo y, en caso de no ser detenidos, crear un problema denominado “exploding gradients” que no es más que una red que nunca convergerá porque sus parámetros son demasiado grandes.
Tipos de clipping
Popularmente hay 2 tipos de clipping: por norm y por parameter, donde el primero calcula la norma L2 del parámetro, y si esta supera un threshold será reducido mediante una pequeña operación, el segundo caso es igual, donde no se realiza el cálculo de la media sino que se compara directamente el valor de cada parámetro.
La importancia de cuándo se llama
Es importante llamar este clipper en el momento que se han calculado los gradientes pero ANTES de actualizarlos con el optimizador, de esta manera aseguraremos que el modelo no sea propenso a sufrir de una explosión de gradientes.
¿Esto mejora el performance?
Directamente, no. Lo que si hace es mejorar la estabilidad del modelo para que los parámetros serán homogéneos, que al final se traducirá en mejor performance a la hora de entrenar el modelo.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?