Comment la fonction σ a-t-elle été choisie pour étendre le perceptron?

Aug 19 2020

Je lis simplement sur les perceptrons plus en profondeur, et maintenant sur les neurones sigmoïdes .

Quelques citations:

Un petit changement dans les poids ou le biais d'un seul perceptron dans le réseau peut parfois faire basculer complètement la sortie de ce perceptron, disons de 0 à 1 ..... Cela rend difficile de voir comment modifier progressivement les poids et biais pour que le réseau se rapproche du comportement souhaité. Il existe peut-être une manière intelligente de contourner ce problème. Mais il n'est pas immédiatement évident de savoir comment faire apprendre à un réseau de perceptrons. Nous pouvons surmonter ce problème en introduisant un nouveau type de neurone artificiel appelé neurone sigmoïde. Les neurones sigmoïdes sont similaires aux perceptrons, mais modifiés de sorte que de petits changements dans leurs poids et leur biais ne provoquent qu'un petit changement dans leur sortie. C'est le fait crucial qui permettra à un réseau de neurones sigmoïdes d'apprendre.

Tout comme un perceptron, le neurone sigmoïde a des poids pour chaque entrée, $w1,w2,…$, et un biais global, b. Mais la sortie n'est pas 0 ou 1. Au lieu de cela, c'est$σ(w⋅x+b)$, où σ est appelée fonction sigmoïde et est définie par: $σ(z)≡\frac{1}{1+e^{−z}}$.

Si σ avait en fait été une fonction d'étape, alors le neurone sigmoïde serait un perceptron, puisque le résultat serait 1 ou 0 selon que w⋅x + b était positif ou négatif. En utilisant la fonction σ réelle, nous obtenons, comme déjà implicite ci-dessus, un perceptron lissé. La régularité de σ signifie que de petits changements Δwj dans les poids et Δb dans le biais produiront un petit changement Δ de sortie dans la sortie du neurone. En fait, le calcul nous dit que Δ sortie est bien approximée par:

$$Δoutput≈∑_j\frac{∂output}{∂w_j}Δw_j+\frac{∂output}{∂b}Δb$$

Ne paniquez pas si vous n'êtes pas à l'aise avec les dérivées partielles!

Δ sortie est une fonction linéaire des changements $Δw_j$ et $Δb$dans les poids et biais. Cette linéarité facilite le choix de petits changements dans les poids et les biais pour obtenir tout petit changement souhaité dans la sortie. Ainsi, bien que les neurones sigmoïdes aient en grande partie le même comportement qualitatif que les perceptrons, ils permettent de comprendre beaucoup plus facilement comment la modification des poids et des biais modifiera la sortie.

En fait, plus loin dans le livre, nous considérerons occasionnellement des neurones dont la sortie est f (w⋅x + b) pour une autre fonction d'activation f (⋅). La principale chose qui change lorsque nous utilisons une fonction d'activation différente est que les valeurs particulières pour les dérivées partielles dans l'équation (5) changent. Il s'avère que lorsque nous calculons ces dérivées partielles plus tard, l' utilisation de σ simplifiera l'algèbre , simplement parce que les exponentielles ont de belles propriétés lorsqu'elles sont différenciées. Dans tous les cas, σ est couramment utilisé dans les travaux sur les réseaux neuronaux, et c'est la fonction d'activation que nous utiliserons le plus souvent dans ce livre. [FIN]

La première partie de ma question est, comment ont-ils su choisir cette fonction / équation «en forme de sigmoïde» en premier lieu? Comment ont-ils su choisir celui-ci par rapport à toutes les autres fonctions courbes ou non courbes? Est-ce juste une pratique standard pour ces types de problèmes en cours de mathématiques? Si je devais essayer d'expliquer pourquoi la fonction sigmoïde a été choisie, je dirais "parce que cela signifie que vous pouvez faire de petits changements à l'entrée correspondant à de petits changements à la sortie." Mais comment? Je ne suis pas le calcul des dérivées partielles et je n'ai pas d'expérience en dérivées partielles (et mon public non plus). Savoir pourquoi et comment la fonction esigma a été choisie aiderait à démystifier pourquoi les réseaux de neurones fonctionnent.

Malheureusement, les dérivées partielles n'ont pas été expliquées (elles le seront peut-être ailleurs).

La deuxième partie de ma question est: comment $Δoutput$une "fonction linéaire"? Pourquoi pas juste une pente plate au lieu de la forme sigmoïde. Pourquoi doit-il être si sophistiqué? Comment "utiliser σ simplifiera-t-il l'algèbre"? Où puis-je trouver des documents de recherche sur la pensée originale derrière cela, ou si vous connaissez la réponse, comment pouvez-vous expliquer pourquoi l'utilisation de sigma simplifiera l'algèbre? Cela semble être une partie importante de l'explication sur la raison pour laquelle nous utilisons les fonctions sigma en premier lieu, donc avoir une explication profane serait vraiment utile.

Réponses

5 AaronRotenberg Aug 19 2020 at 07:12

Réponse à la première partie

La fonction dans la question s'appelle la fonction logistique . Parfois , il est aussi appelé « la » fonction sigmoïde, mais certains auteurs utilisent sigmoïde pour signifier que toute forme de S fonction .

Il existe une grande variété de fonctions d'activation utilisées en pratique dans les réseaux de neurones, sigmoïdes et autres. La fonction logistique est l'une des plus courantes, car la fonction logistique et sa dérivée sont définies pour toutes les entrées réelles, peuvent être écrites sous forme d'expressions courtes en termes de fonctions élémentaires et peuvent être calculées efficacement à l'aide des fonctions de bibliothèque standard dans la plupart des programmes. langues. (Ceci est différent de la fonction d'étape utilisée comme fonction d'activation pour un perceptron classique - le dérivé de la fonction d'étape n'est pas défini à la discontinuité.) Une autre fonction d'activation largement utilisée qui possède ces propriétés est$\tanh$. Il n'y a vraiment aucune raison valable de préférer l'un à l'autre lors de la présentation initiale des neurones sigmoïdes. Vous pouvez à peu près choisir n'importe quelle fonction que vous apprenez à différencier dans une classe de calcul 1 et qui a une forme sigmoïde avec des asymptotes à$\pm\infty$. Ils ont des caractéristiques de performance légèrement différentes à l'entraînement, mais ce n'est pas très pertinent pour une première explication.

Il est malheureusement très difficile d'expliquer la rétropropagation sans comprendre les dérivées partielles, puisque la rétropropagation est littéralement juste une descente de gradient où le gradient est calculé par différenciation automatique . Je recommanderais de regarder l'excellente série de vidéos YouTube de 3Blue1Brown sur le fonctionnement de la rétropropagation: partie 1 , partie 2 , et en particulier partie 3 et partie 4 .

Vous mentionnez un public dans la question. Si vous allez présenter ce matériel, j'envisagerais sérieusement de renvoyer votre public aux 4 vidéos liées ci-dessus, au moins comme références. Ils fournissent certainement une meilleure explication que je ne pourrais en donner dans une conférence.

Réponse à la deuxième partie

La raison de ne pas utiliser de fonction linéaire est qu'un réseau de neurones avec toutes les fonctions d'activation linéaires est une combinaison linéaire de fonctions linéaires, et est donc lui-même une fonction linéaire. Ainsi, l'utilisation d'une fonction d'activation linéaire manque le point entier de l'entraînement d'un réseau neuronal; vous pouvez obtenir le même résultat plus rapidement en effectuant un ajustement par les moindres carrés d'une fonction linéaire aux données .

Pour simplifier légèrement: un réseau de neurones avec une fonction d'activation linéaire n'est que la fonction «ajuster la ligne de tendance» dans Excel.

En revanche, il existe un théorème d'approximation universel qui dit que, pour des fonctions d'activation non linéaires suffisamment agréables , toute fonction peut être bien approximée en utilisant suffisamment de neurones.

Le théorème d'approximation universelle n'a pas été découvert pendant de nombreuses années après la première invention des réseaux de neurones, ce n'était donc pas un facteur de motivation dans leur invention. Les premières recherches sur les réseaux de neurones étaient principalement inspirées des neurones biologiques (le type de votre cerveau) et de la théorie du contrôle.

Alors que le théorème d'approximation universelle dit qu'un réseau de neurones suffisamment grand a le potentiel de bien se rapprocher de n'importe quelle fonction, la raison réelle pour laquelle la méthode standard de formation des réseaux de neurones (rétropropagation de descente de gradient stochastique) fonctionne si bien en pratique est encore mal comprise et un actif domaine de recherche.