tipos regla redes paso para neuronales multicapa gradiente ejemplos descendente conceptos aplicaciones algoritmo machine-learning neural-network deep-learning backpropagation

machine-learning - redes - regla delta



¿Cómo se relaciona el algoritmo de propagación de retorno con las funciones de activación no diferenciables? (1)

Mientras exploraba el tema de las redes neuronales y cómo entrenarlas eficientemente, encontré el método de usar funciones de activación muy simples, como la unidad lineal recitada (ReLU), en lugar de los clásicos sigmoides lisos. La función ReLU no es derivable en el origen, por lo tanto, según mi entender, el algoritmo de retropropagación (BPA) no es adecuado para entrenar una red neuronal con ReLU, ya que la regla de la cadena del cálculo multivariable se refiere a funciones suaves solamente. Sin embargo, ninguno de los documentos sobre el uso de ReLU que leo abordan este tema. Las RELU parecen ser muy efectivas y parecen usarse virtualmente en todas partes sin causar ningún comportamiento inesperado. ¿Puede alguien explicarme por qué las ReLU se pueden entrenar a través del algoritmo de backpropagation?


Para comprender cómo es posible la retropropagación incluso con funciones como ReLU, debe comprender cuál es la propiedad más importante de derivada que hace que el algoritmo de retropropagación funcione tan bien. Esta propiedad es eso:

f(x) ~ f(x0) + f''(x0)(x - x0)

Si trata x0 como el valor real de su parámetro en este momento, puede decir (conocer el valor de una función de costo y su derivada) cómo se comportará la función de costo cuando cambie un poco los parámetros. Esto es lo más importante en la retropropagación.

Debido al hecho de que calcular la función de costo es crucial para un cálculo de costos, necesitará su función de costo para satisfacer la propiedad mencionada anteriormente. Es fácil verificar que ReLU satisfaga esta propiedad en todas partes, excepto en un pequeño vecindario de 0 . Y este es el único problema con ReLU: el hecho de que no podemos utilizar esta propiedad cuando estamos cerca de 0 .

Para superar eso, puede elegir el valor de la derivada ReLU en 0 a 1 o 0 . Por otro lado, la mayoría de los investigadores no consideran este problema como grave simplemente por el hecho de que estar cerca de 0 durante los cálculos de ReLU es relativamente raro.

De lo anterior, por supuesto, desde el punto de vista puramente matemático, no es plausible usar ReLU con el algoritmo de retropropagación. Por otro lado, en la práctica, por lo general no hace ninguna diferencia que tenga este extraño comportamiento alrededor de 0.