Pourquoi est fonction de réseau de neurones inactif est pas disponible?

Auteur | Vandit Jain

Compile | Gong Qian

Modifier | fin Cong

Fonction d'activation du réseau de neurones est un concept essentiel, détermine si un neurone est activé, les neurones d'obtenir des informations pour déterminer l'utilité et décider de conserver ou supprimer le ce neurone.

L'auteur Vandit Jain de la fonction d'activation des connaissances a réalisé un résumé plus complet de l'objet de l'accent mis sur les aspects suivants:

1. Quelle est la fonction d'activation est qu'il a un rôle dans le réseau?

2. Pourquoi avez-vous besoin de fonctions activate sans utiliser la fonction linéaire?

3. Quelles sont les caractéristiques idéales de la fonction d'activation ont?

4. Actuellement différentes fonctions non linéaire utilisé.

5. vu le jour dans la dernière valeur d'étude attention fonction d'activation non linéaire.

6. Quelle est la fonction d'activation doit être utilisée dans les réseaux de neurones profonds et comment les utiliser?

Tout d'abord, quelles fonctions sont activées?

En termes simples, la fonction d'activation est ajouté à une fonction réseau de neurones artificiels, qui vise à aider les modèles complexes d'apprentissage réseau de neurones à partir des données.

Par rapport au modèle des neurones du cerveau humain sur la base, la fonction d'activation consiste à déterminer quelle est la prochaine unité de neurone de transmission d'informations, ce qui est la fonction d'activation dans les réseaux de neurones artificiels. Recevoir un signal avant que la fonction d'activation de l'unité de sortie, et le convertit en quelque chose qui peut être reçu sous la forme de l'unité suivante.

La figure ci-dessous résume la différence entre les deux:

Source: Cours de cs231n à l'Université Stanford

D'autre part, pourquoi la nécessité d'activer la fonction?

Il y a de nombreuses raisons d'utiliser la fonction d'activation non linéaire des réseaux de neurones.

1. En plus de la similitude de la biologie discuté précédemment, la fonction d'activation nous permet également de définir une valeur de sortie de neurone en fonction des besoins à l'intérieur d'une certaine plage. Ceci est important, parce que l'entrée est la fonction d'activation W * x + b, où W est le poids de l'unité de poids, x est la valeur d'entrée, et plus Bias b. Si la valeur de sortie n'est pas définie dans une certaine gamme, il peut devenir très grand, en particulier dans le réseau de neurones profond avec des millions de paramètres, ce qui entraîne dans le calcul excessif. Par exemple, une partie de la fonction d'activation (par exemple SoftMax) délivre en sortie des valeurs spécifiques pour différentes valeurs d'entrée (0 ou 1).

2. La caractéristique la plus importante est sa capacité à activer la fonction en ajoutant réseau de neurones non-linéaire. Pour faciliter la compréhension, nous les données multidimensionnelles souhaitera peut-être, comme indiqué ci-dessous:

fonction linéaire a trois propriétés (dans ce chiffre sont de poids corporel, pression artérielle systolique et âge), de sorte que nous obtenons une parcourir Linéaire espace à trois dimensions, mais il ne peut jamais apprendre un modèle pour être une personne à précision divisée en fumeurs et non-fumeurs (problème de classification existant à portée de main, par exemple). La raison est simple, la définition de cette catégorie de modèle n'est pas linéaire.

Ce réseau de neurones artificiels, si nous utilisons une seule unité sans activer la fonction de réseau de neurones va se passer? Dans ce cas, nous obtenons une sortie ou presque W * x + b, ce qui est bon, parce que la première puissance W * x est x, et donc la fonction est toujours linéaire, sensiblement identique à une fonction linéaire.

Si nous superposer plusieurs couches de celui-ci? Si nous utilisons une fonction f (x) est représentée couche n, il peut être établi:

Cependant, cela ne suffit pas compliqué, en particulier dans un schéma complexe de problèmes avec la vision informatique et le traitement du langage naturel et autres.

Afin de modéliser le mode non linéaire pour apprendre (ou avoir une plus grande complexité), une couche non linéaire spécifique (fonction d'activation) est ajouté.

En troisième lieu, la fonction d'activation ayant des caractéristiques souhaitables

1. gradient disparaît question: est l'utilisation de la formation de la procédure de descente de gradient de réseau de neurones.

Par une composition à base de règle de la chaîne de descente de gradient back-propagation, changer la valeur du droit d'accès à la règle de la chaîne pour chaque afin de réduire les pertes après la formation. Considérons un réseau à deux couches, la première couche est représentée par f (x), la seconde couche est exprimée en f (x). L'ensemble du réseau est o (x) = f (f (x)).

Si nous nous tournons pour calculer les poids, vous pouvez obtenir O` (x) = f (x) * f` (x). Où f (x) lui-même est une fonction composite de composition Act (W * x + b), où Act est une fonction d'activation après la première couche. Application de la règle de la chaîne à nouveau, vous pouvez obtenir f` (x) = Loi (W * + b x) * x, ce qui signifie que ce résultat est également dépendant directement de la valeur d'activation. Maintenant, vous pouvez voir, une telle chaîne dans la règle rétropropagation passera par un grand nombre de couches.

Si la valeur est comprise entre 0 et 1 Loi entre, alors il sera multiplié par le nombre de ces valeurs pour calculer le gradient de la couche initiale. Ce processus permettra de réduire la valeur de la couche de gradient initial, et ces couches ne peut pas apprendre correctement.

En d'autres termes, étant donné que la profondeur du réseau et le processus d'activation en une valeur proche de 0, le gradient de leur disparition, qui est appelée la disparition du gradient. Nous espérons donc que ne font pas gradient de la fonction d'activation idéal devient progressivement zéro.

2. centrée sur zéro: la fonction d'activation de sortie doit être symétrique par rapport à zéro, de sorte que le gradient ne se déplace pas dans une direction particulière.

3. Calculer le coût: chaque couche sera appliquée pour activer la fonction réseau, il est nécessaire de calculer des millions de fois dans le réseau profond. Par conséquent, le calcul du coût de la fonction d'activation devrait être faible.

4. différentiabilité: Comme décrit ci-dessus, le réseau neuronal est formé en utilisant un procédé de descente de gradient, de sorte que la couche de modèle est nécessaire pour être micro-ou au moins partiellement dérivable. Ceci est une condition nécessaire en fonction de la fonction d'activation de la couche.

Quatrièmement, différentes fonctions non linéaire actuellement utilisé 1, la fonction sigmoïde

Fonction comme indiqué ci-dessous:

Cette fonction d'activation n'a jamais été utilisé dans un modèle réel, uniquement pour des raisons historiques énumérées ici. fonction sigmoïde intensive informatiquement, peut causer des problèmes disparaissent pas gradient centrée sur zéro, sera généralement utilisé dans un problème de classification binaire.

  • modèle de régression logistique softmax: modèle de régression logistique softmax est une généralisation de la fonction sigmoïde sur les problèmes multi-classification. fonction sigmoïde avec le même, il produit une valeur dans une plage de 0 à 1, et est donc utilisé en tant que le dernier modèle de classification de couche.

2, la fonction tangente hyperbolique tanh

Comme le montre:

Par rapport à la fonction sigmoïde, il ne résout que le problème centré à zéro.

3, une fonction linéaire du redresseur (Rectified Unité linéaire, RELU)

Cette fonction est connue sous le nom d'une unité de correction linéaire est définie par f (x) = max (0, x):

Ceci est une utilisation très étendue de la fonction d'activation, en particulier dans le réseau de neurones convolutionnel. Il est simple à calculer, non saturé, pas près de gradient, mais pas à zéro comme le centre. Il a également question « mourir Relu », qui est, lorsque l'entrée est négative, la sortie sera zéro, ce qui conduit, le neurone à certains des noeuds complètement « morts » ne sera pas apprendre.

Un autre problème est d'activer explosion RELU, car il est la limite supérieure inf, au noeud générant parfois est indisponible.

4, la fonction Leaky RELU et Parametric RELU

Fonction est définie par f (x) = max (aX, x), comme illustré ci-dessous:

Quand est de 0,1

Ici, est un paramètre habituellement réglé à dépasser 0,01. De toute évidence, Leaky Relu dans une certaine mesure, résoudre le « mourir Relu » cette question. S'il vous plaît noter que si nous est fixé à 1, le Leaky Relu deviendra une fonction linéaire f (x) = x, et d'aucune utilité.

Ainsi, la valeur de est jamais mis à une valeur proche de 1. Si nous devions ensemble de chaque hyper-paramètres de neurones, résultant Parametric Relu ou Prelu.

5, la fonction ReLU6

ReLU6 en x > 0 région est sensiblement identique à RELU, définie comme f (x) = min (max (0, x), 6)

Cela contribue à empêcher l'activation de la croissance, empêchant ainsi d'autres problèmes explosion gradient de mineurs (à l'infini) approche et Relus normale a eu lieu.

Notre idée générale est, pourquoi ne pas ReLU6 et Leaky Relu combiner Jusqu'à maintenant résoudre tous les problèmes connus de la fonction d'activation. cadre populaire DL ne fournit pas cette fonction d'activation ready-made, mais je pense que cela est une bonne idée.

V. a émergé dans la dernière valeur d'étude attention La fonction d'activation non linéaire 1, Fonctions Swish

Swish en 2017 proposé par Ramachandran et al, défini par f (x) = x * sigmoïde (x).

Par rapport à Relu, bien que les graphismes sont très similaires, Swish ont des performances légèrement meilleures. Cependant, Relu = x 0 se produira soudainement lors d'un changement, mais Swish différent de cela, il ne changera pas tout d'un coup à un moment donné, ce qui rend la formation plus facile convergence Swish.

Cependant, l'inconvénient Swish est son coût élevé de calcul, afin de résoudre ce problème, nous examinons la prochaine version de Swish.

2, la fonction Hard-Swish ou H-Swish

La fonction est définie comme suit:

Le plus grand avantage est fonction presque similaire Swish, swish mais inférieur au calcul des coûts, car elle remplace la fonction sigmoïde de type exponentielle Relu linéaire fonction de type.

Sixième, comment utiliser ces fonctions pour activer les réseaux de neurones profonds?

Tout d'abord, Tanh et gradient de la fonction sigmoïde causera des problèmes énormes disparaissent, il est généralement pas recommandé.

réseau de neurones d'abord tenté d'introduire la fonction Relu. Comme décrit ci-dessus, après que la couche active est ajoutée dans la couche de masse (comme CNN, RNN, LSTM ou couche au courant linéaire). Si vous pensez que les modèles ont l'apprentissage d'arrêt, vous pouvez le remplacer par Leaky Relu, afin d'éviter problème « Mourir Relu ». Mais Leaky Relu augmenter légèrement le temps de calcul.

S'il y a couche réseau lot-Norm (couche de lot standardisé), vous devez ajouter la couche avant la fonction d'activation, l'ordre est pour CNN-Lot (Lot convolutionnel réseau de neurones), puis Norm-Act (l'action normalisé) . Tout en ordre de marche par lots Norm (de normalisation par lots) et la fonction d'activation est un sujet controversé, certains ont dit que l'ordre ne compte pas vraiment, pour être compatible avec les documents originaux Lot-Norm, les auteurs utilisant ce mentionné ci-dessus sorte d'ordre.

Les paramètres par défaut de la fonction super activation si elle est utilisée dans un tel tensorflow et Pytorch comme cadre, il est le meilleur. Cependant, vous pouvez régler la pente négative Leaky Relu et le mettre à 0,02 afin d'accélérer la vitesse d'apprentissage.

via https: // towardsdatascience .com / Tout-you-need-to-know-about-activation des fonctions-en-deep-apprentissage-modèles-84ba9f82c253

AAAI 2020 | texte de la limite à - un procédé de détection d'un texte de forme arbitraire
Précédent
capacité de généralisation de combinaison est pauvre? Essayez d'apprendre la profondeur du solveur combiné d'intégration
Prochain
AAAI2020 | prochain roman épidémie de coronavirus, a également à la réunion?
Il est temps d'abandonner le réseau de neurones récurrents
projets publics WuHan.support officiellement recrutés amis
évolution nerveuse: une étude non approfondie
De Mahjong à « pesticides », a capturé la répartition de jeu AI
Le plus complet ! Quels sont les grands événements dans le domaine de la PNL en 2019 ?
couplets Fête du Printemps qui AI forte de se fâcher
AAAI 2020 | Université Zhongshan HCP laboratoire: basé sur l'arbre des stratégies d'apprentissage de renforcement progressif, le code open source a été
attaque sous-marque, la musique de nuage Netease fonction « conservateur »
« 2020 Technology Trend »: AI et la Chine, le monde futur de la technologie Mots-clés
Que plus de 200 milliards de marché chinois animal de compagnie?
Ali sort do collation, le tremblement est probablement pas trois écureuils, boutique Ichiban et la saveur des herbes