Le réseau neuronal (par exemple, le réseau neuronal convolutionnel) peut-il avoir des poids négatifs?

13

Est-il possible d'avoir des poids négatifs (après suffisamment d'époques) pour les réseaux neuronaux convolutionnels profonds lorsque nous utilisons ReLU pour toutes les couches d'activation?

RockTheStar
la source
Je ne vois aucune raison pour laquelle ils ne peuvent pas être négatifs. Y a-t-il une raison / observation particulière à laquelle vous pensez?
Sobi
J'imagine juste le processus de SGD et je me demande si le poids négatif est commun et possible.
RockTheStar
Il a pensé à cela parce que le "poids" ressemble aux synapses, aux liens entre les neurones, alors comment pouvons-nous avoir -2 synapses vers un neurone ?? Je suis tombé ici après avoir cherché exactement la même chose sur Google ... Je suppose que cela pourrait être possible de toute façon, cela pourrait éventuellement signifier une synapse ou un lien manquant et les "sauts" pour atteindre le b d'un autre côté qui sont soustraits du calcul, mais je ne suis pas vraiment sûr, juste en pensant
Essayez le

Réponses:

10

Les unités linéaires rectifiées (ReLU) rendent uniquement la sortie des neurones non négative. Cependant, les paramètres du réseau peuvent devenir et deviendront positifs ou négatifs selon les données d'entraînement.

Voici deux raisons auxquelles je peux penser en ce moment qui justifient (intuitivement) pourquoi certains paramètres deviendraient négatifs:

  1. la régularisation des paramètres (alias la décroissance du poids); la variation des valeurs des paramètres rend la prédiction possible, et si les paramètres sont centrés autour de zéro (c'est-à-dire que leur moyenne est proche de zéro), alors leur norme (qui est un régularisateur standard) est faible.2

  2. bien que les gradients de la sortie d'une couche par rapport aux paramètres de couche dépendent de l'entrée dans la couche (qui sont toujours positifs en supposant que la couche précédente passe ses sorties via un ReLU), cependant, le gradient de l'erreur (qui vient des couches les plus proches des couches de sortie finales) peuvent être positives ou négatives, ce qui permet à SGD de rendre certaines des valeurs des paramètres négatives après avoir pris l'étape de gradient suivante. Plus précisément, laissez , et désigner l'entrée, la sortie et les paramètres d'une couche dans un réseau neuronal. Soit également l'erreur finale du réseau induite par un échantillon d'apprentissage. Le gradient de l'erreur par rapport à est calculé commeO w E w EIOwEw Ok=O,kEw=(k=1KEOk)Okw ; notez que (voir l'image ci-dessous):Ok=O,k

entrez la description de l'image ici

Sobi
la source
1

Imaginez que vous ayez des poids optimaux qui ne sont pas tous négatifs.

maintenant une variable d'entrée . Le réseau optimal pour cette configuration est avec les poids des bords inversés, donc les nouveaux poids ne sont pas positifs. { x i , y }xi=xi{xi,y}

nakajuice
la source
-3

Sauf si vous utilisez une autre fonction d'activation, par exemple Leaky ReLU. Les poids rectifiés des couches après la première ne sont pas négatifs, quel que soit le nombre d'époques pendant l'entraînement.

pateheo
la source
1
Grand merci! Pouvez-vous expliquer un peu plus de détails sur la façon dont Leaky ReLU peut conduire à un poids négatif?
RockTheStar
Il semble que cette affirmation ne soit pas vraie. J'ai exécuté une formation sur le réseau activé par ReLU, les matrices de la transformation affine ("Ws") et les décalages ("b's"), que je présume référés dans cette question car les poids, obtiennent des valeurs négatives.
les