Importance du nœud de polarisation dans les réseaux de neurones

19

Je suis curieux de savoir à quel point le nœud de biais est important pour l'efficacité des réseaux neuronaux modernes. Je peux facilement comprendre que cela peut être important dans un réseau peu profond avec seulement quelques variables d'entrée. Cependant, les réseaux neuronaux modernes comme dans l'apprentissage profond ont souvent un grand nombre de variables d'entrée pour décider si un certain neurone est déclenché. Les supprimer de, par exemple, LeNet5 ou ImageNet aurait-il un réel impact?

pir
la source
@gung - J'ai vu que vous avez modifié le titre pour utiliser l'expression "nœud de biais". Je suis curieux de savoir pourquoi vous préférez ce titre? Je n'ai jamais entendu cette utilisation auparavant. De plus, il semble déroutant d'utiliser le mot "nœud" lorsque le biais n'est pas un nœud séparé dans un réseau.
pir
2
Si vous ne l'aimez pas, vous pouvez annuler la modification avec mes excuses. J'ai toujours pensé que le nom était assez standard, même si je n'ai pas joué avec des ANN depuis des années et certains l'appellent plutôt le "neurone de polarisation". FWIW, "biais" est un peu ambigu dans les statistiques / ML; il se réfère le plus souvent à un estimateur dont la distribution d'échantillonnage n'est pas centrée sur la vraie valeur du paramètre, ou à une fonction prédictive / valeur prédite qui diffère de la vraie fonction / moyenne, etc., tandis que le nœud de biais est une partie spécifique d'un ANN.
gung - Réintègre Monica
2
Il s'agit d'un nœud réel - au moins dans le sens où l'un d'entre eux l'est - du réseau. Par exemple, voyez les nœuds noirs dans cette image .
gung - Rétablir Monica
D'accord, cela a du sens - il est vrai que le "biais" est assez ambigu. Merci pour l'explication.
pir
1
Pour les neurones, l'unité de polarisation semble se déclencher de façon exponentielle, cela se produit dans la nature.
user3927612

Réponses:

15

La suppression du biais affectera certainement les performances et voici pourquoi ...

Chaque neurone est comme une simple régression logistique et vous avez . Les valeurs d'entrée sont multipliées par les poids et le biais affecte le niveau initial d'écrasement dans la fonction sigmoïde (tanh etc.), ce qui entraîne la non-linéarité souhaitée.y=σ(WX+b)

Par exemple, supposons que vous voulez qu'un neurone déclenche lorsque tous les pixels d'entrée sont noirs x 0 . S'il n'y a pas de biais, quel que soit le poids W que vous avez, étant donné l'équation y = σ ( W x ), le neurone se déclenchera toujours y 0,5 .y1X0Wy=σ(WX)y0,5

Par conséquent, en supprimant les termes de biais, vous réduiriez considérablement les performances de votre réseau de neurones.

Yannis Assael
la source
2
Merci, cela a du sens. Je suppose que même si la plupart des réseaux modernes utilisent ReLU comme fonction d'activation (voir par exemple papers.nips.cc/paper/4824-imagenet ), cela pourrait toujours être pertinent si le réseau devait se déclencher lorsque tous les pixels d'entrée sont noirs. ReLU est défini comme f (x) = max (0, x).
pir
exactement! c'est le même cas ...
Yannis Assael
4
y1X0X0y0,5
2
Bien que je sois d'accord avec la théorie, il convient de souligner qu'avec les grands réseaux modernes, les chances d'obtenir une entrée entièrement nulle sont négligeables. Cela repose également sur l'hypothèse qu'un réseau voudrait tirer un 1 - les réseaux profonds ne se soucieront probablement pas de la sortie d'un seul neurone - c'est en partie pourquoi l' abandon est si populaire pour régulariser les réseaux.
Max Gordon
2
@MaxGordon a raison. Cette réponse ne s'applique pas à cette question. Essayez de supprimer le biais d'un grand réseau et vous verrez que cela fait très peu de différence.
Neil G
10

Je ne suis pas d'accord avec l'autre réponse dans le contexte particulier de votre question. Oui, un nœud de biais est important dans un petit réseau. Cependant, dans un grand modèle, la suppression des entrées de biais fait très peu de différence car chaque nœud peut créer un nœud de biais à partir de l'activation moyenne de toutes ses entrées, ce qui, selon la loi des grands nombres, sera à peu près normal. À la première couche, la possibilité que cela se produise dépend de votre distribution d'entrée. Pour MNIST par exemple, l'activation moyenne de l'entrée est à peu près constante.

Sur un petit réseau, vous avez bien sûr besoin d'une entrée de polarisation, mais sur un grand réseau, sa suppression ne fait pratiquement aucune différence. (Mais pourquoi l'enlèveriez-vous?)

Neil G
la source
3

Je commenterais la réponse de @ NeilG si j'avais assez de réputation, mais hélas ...

Je ne suis pas d'accord avec vous, Neil, à ce sujet. Vous dites:

... l'activation moyenne de toutes ses entrées, qui, selon la loi des grands nombres, sera à peu près normale.

Je m'y opposerais et je dirais que la loi du grand nombre nécessite que toutes les observations soient indépendantes les unes des autres. Ce n'est pas du tout le cas dans quelque chose comme les réseaux neuronaux. Même si chaque activation est normalement distribuée, si vous observez qu'une valeur d'entrée est exceptionnellement élevée, cela change la probabilité de toutes les autres entrées. Ainsi, les "observations", dans ce cas, les entrées, ne sont pas indépendantes, et la loi des grands nombres ne s'applique pas.

À moins que je ne comprenne pas votre réponse.

ArturJ
la source