Que se passe-t-il lorsque je mélange des fonctions d'activation?

10

Il existe plusieurs fonctions d'activation, telles que ReLU, sigmoid ou tanh . Que se passe-t-il lorsque je mélange des fonctions d'activation?

J'ai récemment découvert que Google a développé la fonction d'activation Swish qui est (x * sigmoïde). En modifiant la fonction d'activation, peut-il augmenter la précision sur un petit problème de réseau neuronal tel qu'un problème XOR?

JSChang
la source

Réponses:

2

La réponse générale au comportement de la combinaison de fonctions d'activation communes est que les lois du calcul doivent être appliquées, en particulier le calcul différentiel, les résultats doivent être obtenus par l'expérience pour être sûr des qualités de la fonction assemblée, et la complexité supplémentaire est susceptible de augmenter le temps de calcul. L'exception à une telle augmentation sera lorsque la charge de calcul de la combinaison est faible par rapport aux avantages de convergence qu'offre la combinaison.

Cela semble être vrai de Swish, le nom donné à la fonction d'activation définie comme

F(X)=XS(βX),

F()Sβ

Il ne semble pas avoir été développé par Google. L'article à l'origine anonyme soumis (pour examen en double aveugle comme un article de l'ICLR 2018), Searching for Activation Functions , a été rédigé par Prajit Ramachandran, Barret Zoph et Quoc V. Le vers 2017. C'est leur affirmation.

Nos expériences montrent que la meilleure fonction d'activation découverte, ... Swish, ... a tendance à mieux fonctionner que ReLU sur des modèles plus profonds dans un certain nombre de jeux de données difficiles.

Toute modification de la fonction d'activation sur une seule couche aura, sauf dans le cas astronomique rare, un impact sur la précision, la fiabilité et l'efficacité de calcul. On ne peut pas généraliser si le changement est significatif. C'est pourquoi de nouvelles idées sont testées par rapport à des ensembles de données traditionnellement utilisés pour évaluer l'utilité 1 .

La combinaison de fonctions d'activation pour former de nouvelles fonctions d'activation n'est pas courante. Par exemple, AlexNet ne les combine pas. 2 . Il est cependant très courant d'utiliser différentes fonctions d'activation dans différentes couches d'une même conception de réseau efficace.


Notes de bas de page

[1] La question de savoir si ces traditions créent un biais est une autre question. Ceux qui suivent la théorie de l'analyse de cas d'utilisation mise au point par l'informaticien suédois Ivar Hjalmar Jacobson ou les idées 6 Sigma diraient que ces tests sont des tests unitaires, pas des tests fonctionnels contre des cas d'utilisation réels, et ils ont un point.

[2] Pour corriger les idées fausses qui peuvent découler d'une autre réponse, AlexNet, le nom donné à l'approche décrite dans ImageNet Classification with Deep Convolutional Neural Networks (2012) par Alex Krizhevsky, Ilya Sutskever et Geoffrey E. Hinton de l'Université de Toronto, n'implique pas de combiner des fonctions d'activation pour en créer de nouvelles. Ils écrivent ceci.

La sortie de la dernière couche entièrement connectée est envoyée à un softmax 1000 voies qui produit une distribution sur les étiquettes de classe 1000.

...

La non-linéarité ReLU est appliquée à la sortie de chaque couche convolutionnelle et entièrement connectée. Les couches internes sont en ReLU pur et la couche en sortie est Softmax.

Il existe également des noyaux de convolution et des couches de mise en commun dans la série de couches de l'approche AlexNet qu'ils utilisent, et la conception est devenue une utilisation courante depuis leur victoire au concours ImageNet en 2012. D'autres approches ont remporté des concours ultérieurs.

Douglas Daseeco
la source