¿Qué significa el término saturando no linealidades?

30

Estaba leyendo el documento ImageNet Classification with Deep Convolutional Neural Networks y en la sección 3, donde explicaron la arquitectura de su red neuronal convolucional, explicaron cómo preferían usar:

no linealidad no saturanteF(X)=metrounaX(0 0,X).

porque fue más rápido entrenar. En ese documento que parecen referirse a las no linealidades de saturación como las funciones más tradicionales usados en CNNs, el sigmoide y las funciones tangente hiperbólica (es decir, y como saturado).F(X)=tunanorteh(X)F(X)=11+mi-X=(1+mi-X)-1

¿Por qué se refieren a estas funciones como "saturadas" o "no saturadas"? ¿En qué sentido estas funciones son "saturantes" o "no saturantes"? ¿Qué significan esos términos en el contexto de las redes neuronales convolucionales? ¿Se usan en otras áreas del aprendizaje automático (y estadísticas)?

Charlie Parker
fuente
También encontré esta respuesta de quora muy útil.
franco

Respuestas:

26

Intuición

Una función de activación saturante exprime la entrada.


Definiciones

  • F(El |limz-F(z)El |=+)(El |limz+F(z)El |=+)
  • F se satura si no no se satura.F

Estas definiciones no son específicas de las redes neuronales convolucionales.


Ejemplos

La función de activación de la Unidad lineal rectificada (ReLU), que se define como no es saturante porque :F(X)=metrounaX(0 0,X)limz+F(z)=+

ingrese la descripción de la imagen aquí

La función de activación sigmoidea, que se define como está saturando, porque aplasta los números reales para que oscilen entre :F(X)=11+mi-X[0 0,1]

ingrese la descripción de la imagen aquí

La función de activación de tanh (tangente hiperbólica) se está saturando ya que aplasta los números reales para oscilar entre :[-1,1]

ingrese la descripción de la imagen aquí

(las cifras son de CS231n , licencia MIT)

Franck Dernoncourt
fuente
1
ah, bonito tiene sentido! Sé que esta no era mi pregunta original, pero ¿qué importancia tiene esa propiedad en el contexto de ML y CNN?
Charlie Parker
Para ANN, para evitar tener una unidad con una salida grande que afecte demasiado la capa de salida de ANN.
Franck Dernoncourt
¿Cuál es la diferencia entre bronceado y sigmoide? ¡ambos aplastan los números en un rango cerrado! No lo entiendo, ¿puedes elaborar este poco más? Soy un poco malo en matemáticas. (por cierto, vengo desde una perspectiva de CNN)
Rika
@FranckDernoncourt ¿Quiso decir saturar para la función de activación de tanh? Supongo que hay un error tipográfico? :)
CoderSpinoza
1
@tenCupMaximum: saturar significa llenar hasta un punto donde no se puede agregar más. En el contexto de una función de saturación, significa que después de un cierto punto, cualquier aumento adicional en la entrada de la función ya no causará un aumento (significativo) en su salida, que (casi) ha alcanzado su valor máximo. La función en ese punto es "todo lleno", por así decirlo (o saturado ).
Ruben van Bergen
0

Las funciones de activación más comunes son LOG y TanH. Estas funciones tienen un rango compacto, lo que significa que comprimen la respuesta neuronal en un subconjunto acotado de los números reales. El LOG comprime las entradas a las salidas entre 0 y 1, el TAN H entre -1 y 1. Estas funciones muestran un comportamiento limitante en los límites.

En el borde, el gradiente de la salida con respecto a la entrada ∂yj / ∂xj es muy pequeño. Entonces Gradient es pequeño, por lo tanto, pequeños pasos para la convergencia, por lo tanto, más tiempo para converger.

Pradi KL
fuente