9 votos

Redes neuronales - Cambio de la función de pérdida durante el entrenamiento para obtener mejores gradientes

Estoy entrenando una red neuronal $D$ para la clasificación binaria utilizando la pérdida de entropía cruzada binaria (donde $y_i$ es 1 o 0, y $D(x)$ produce un valor en $[0,1]$ ):

$$-y_i\log(D(x_i)) - (1 - y_i)\log(1 - D(x_i))$$

Al principio del entrenamiento, cuando el rendimiento de la clasificación es relativamente malo, esta función de pérdida da buenos gradientes. Sin embargo, a medida que el rendimiento aumenta, los gradientes empeoran progresivamente. Para un discriminador D que tenga un buen rendimiento, la siguiente función de pérdida produce mejores gradientes:

$$y_i\log(1-D(x_i)) + (1 - y_i)\log(D(x_i))$$

Obsérvese que ambas funciones de pérdida tienen su mínimo en el mismo valor de $D(x)$ .

Mi pregunta es:

  • Una vez $D$ alcanza un determinado rendimiento, ¿puedo cambiar las funciones de pérdida para obtener mejores gradientes?
  • ¿Se ha hecho esto antes?
  • ¿Merecerá la pena?

6voto

Thieme Hennis Puntos 31
  1. Sí, puedes hacerlo. Es tu red, cualquier cosa que puedas codificar, puedes hacerla. Como se mencionó en los comentarios, es sólo conseguir un punto de partida para diferentes problemas de optimización. Sus errores que tienen el mismo mínimo, no importa mucho, porque todo el problema es no convexo y que podría quedar atrapado en diferentes mínimos locales / plateaus.

  2. ¿has oído hablar de la formación previa? Aunque no conozco ninguna red publicada que utilice este método para conseguir una convergencia más rápida, es común preentrenar la red de alguna manera antes de entrenarla realmente con su función de pérdida final. Pero normalmente se hace de forma no supervisada.

  3. Acabas de responderte a ti mismo. Te va a dar un mejor gradiente, así que vale la pena con respecto a los gradientes. La pregunta es, si puedes obtener mejores resultados haciendo algo más. Por ejemplo: utilizando el impulso, cambiando su alfa en el camino o como se mencionó antes, para utilizar algunos métodos de pre-entrenamiento

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