Pourquoi les fonctions d'activation doivent-elles être monotones?

15

Je prépare actuellement un examen sur les réseaux de neurones. Dans plusieurs protocoles d'examens précédents, j'ai lu que les fonctions d'activation des neurones (dans les perceptrons multicouches) doivent être monotones.

Je comprends que les fonctions d'activation doivent être différenciables, avoir une dérivée qui n'est pas nulle sur la plupart des points et être non linéaire. Je ne comprends pas pourquoi être monotone est important / utile.

Je connais les fonctions d'activation suivantes et qu'elles sont monotones:

  • ReLU
  • Sigmoïde
  • Tanh
  • Softmax: Je ne sais pas si la définition de la monotonie est applicable pour les fonctions avecF:RnRmn,m>1
  • Softplus
  • (Identité)

Cependant, je ne vois toujours aucune raison pour laquelle par exemple .φ(X)=X2

Pourquoi les fonctions d'activation doivent-elles être monotones?

(Question secondaire connexe: y a-t-il une raison pour laquelle la fonction logarithme / exponentielle n'est pas utilisée comme fonction d'activation?)

Martin Thoma
la source
1
@MartinThoma Êtes-vous sûr que softmax est monotone?
Media
1
Merci @Media. Pour répondre à votre question: je ne sais pas ce que "monotone" signifie même pour les fonctions dans avec . Pour softmax est constant et donc monotone. Mais sans définir pour les éléments de avec je ne pense pas que le monotone ait un sens. F:RnRmm>1m=1<Rnn>1
Martin Thoma
1
@MartinThoma Merci, en fait, c'était aussi une de mes questions. Je ne savais pas, et je ne sais toujours pas, s'il existe une extension pour les fonctions monotones avec plusieurs sorties. Des trucs mathématiques, tu sais!
Media

Réponses:

13

Le critère de monotonie aide le réseau neuronal à converger plus facilement vers un classificateur plus précis. Voir cette réponse stackexchange et article wikipedia pour plus de détails et de raisons.

Cependant, le critère de monotonie n'est pas obligatoire pour une fonction d'activation - Il est également possible de former des réseaux neuronaux avec des fonctions d'activation non monotones. Il devient juste plus difficile d'optimiser le réseau neuronal. Voir la réponse de Yoshua Bengio .

David Dao
la source
-1

Je fournirai une raison plus mathématique expliquant pourquoi le fait d'avoir une fonction monotone aide!

En utilisant http://mathonline.wikidot.com/lebesgue-s-theorem-for-the-differentiability-of-monotone-fun , en supposant que notre fonction d'activation soit monotone, nous pouvons dire que sur la ligne réelle, notre fonction sera différenciable. Ainsi, le gradient de la fonction d'activation ne sera pas une fonction erratique. Il sera plus facile de trouver les minima que nous recherchons. (peu coûteux en calcul)

Les fonctions exponentielles et logarithmiques sont de belles fonctions mais ne sont pas bornées (Ainsi, l'inverse du théorème de Lebesgue n'est pas vrai car Exp et Log sont des fonctions différenciables qui ne sont pas bornées sur la ligne réelle). Donc, ils échouent lorsque nous voulons classer nos exemples au stade final. Sigmoid et tanh fonctionnent très bien car ils ont des gradients faciles à calculer et leur plage est respectivement de (0,1) et (-1,1).

Rohit Rawat
la source
2
Il existe une infinité de fonctions différenciables, mais pas monotones. Alors pourquoi avoir une fonction monotone aide-t-il?
Martin Thoma