¿Por qué las funciones de activación tienen que ser monótonas?

15

Actualmente me estoy preparando para un examen en redes neuronales. En varios protocolos de exámenes anteriores, leí que las funciones de activación de las neuronas (en perceptrones multicapa) tienen que ser monótonas.

Entiendo que las funciones de activación deben ser diferenciables, tener una derivada que no sea 0 en la mayoría de los puntos y no ser lineales. No entiendo por qué ser monótono es importante / útil.

Conozco las siguientes funciones de activación y que son monótonas:

  • ReLU
  • Sigmoideo
  • Tanh
  • Softmax: no estoy seguro de si la definición de monotonicidad es aplicable para las funciones f:RnRm con n,m>1
  • Softplus
  • (Identidad)

Sin embargo, todavía no puedo ver ninguna razón por la cual, por ejemplo, φ(x)=x2 .

¿Por qué las funciones de activación tienen que ser monótonas?

(Pregunta secundaria relacionada: ¿hay alguna razón por la cual la función logaritmo / exponencial no se usa como una función de activación?)

Martin Thoma
fuente
1
@MartinThoma ¿Estás seguro de que softmax es monótono?
Medios de comunicación
1
Gracias @Media. Para responder a su pregunta: no estoy seguro de lo que significa "monotónico" para las funciones en con m > 1 . Para m = 1 softmax es constante y, por lo tanto, monotónico. Pero sin definir < para elementos en R n con n > 1 no creo que lo monótono tenga sentido. f:RnRmm>1m=1<Rnn>1
Martin Thoma
1
@ MartinThoma Gracias, en realidad también fue una cuestión mía. No sabía, y aún no sé, si hay una extensión para monotónico en funciones con múltiples salidas. Matemáticas, ya sabes!
Medios

Respuestas:

13

El criterio de monotonicidad ayuda a la red neuronal a converger más fácilmente en un clasificador más preciso. Vea esta respuesta de stackexchange y el artículo de Wikipedia para obtener más detalles y razones.

Sin embargo, el criterio de monotonicidad no es obligatorio para una función de activación. También es posible entrenar redes neuronales con funciones de activación no monotónicas. Simplemente se vuelve más difícil optimizar la red neuronal. Ver la respuesta de Yoshua Bengio .

David Dao
fuente
-1

¡Proporcionaré una razón más matemática de por qué ayuda tener una función monótona!

Usando http://mathonline.wikidot.com/lebesgue-s-theorem-for-the-differentiability-of-monotone-fun , suponiendo que nuestra función de activación sea monótona, podemos decir que en la línea real, nuestra función será diferenciable Entonces, el gradiente de la función de activación no será una función errática. Será más fácil encontrar los mínimos que estamos buscando. (computacionalmente económico)

Las funciones exponenciales y logarítmicas son funciones hermosas pero no están limitadas (por lo tanto, lo contrario del teorema de Lebesgue no es cierto ya que Exp y Log son funciones diferenciables que no están limitadas en la línea real). Por lo tanto, fallan cuando queremos clasificar nuestros ejemplos en la etapa final. Sigmoid y tanh funcionan realmente bien porque tienen gradientes que son fáciles de calcular y su rango es (0,1) y (-1,1) respectivamente.

Rohit Rawat
fuente
2
Hay infinitas funciones diferenciables, pero no monótonas. Entonces, ¿por qué es útil tener una función monótona?
Martin Thoma el