Normalisation par rapport à la normalisation par lots

3 réponses

Définition

commençons par la définition stricte des deux:

normalisation des lots batch-norm-formula

normalisation des instances instance-norm-formula

comme vous pouvez le voir, ils font la même chose, sauf pour le nombre de tenseurs d'entrée qui sont normalisés conjointement. La version par lot normalise toutes les images à travers le lot et les emplacements spatiaux (en le cas ordinaire, à CNN ); la version de l'instance normalise chaque lot indépendamment, i.e., à travers localisations spatiales une seule.

en d'autres termes, lorsque la norme discontinue calcule une moyenne et un dev std (faisant ainsi la distribution de la couche entière gaussienne), la norme d'instance calcule T d'entre eux, ce qui rend chaque distribution d'image individuelle gaussienne, mais pas conjointement.

une simple analogie: lors de l'étape de pré-traitement des données, c'est possibilité de normaliser les données par image ou de normaliser l'ensemble des données.

Crédit: les formules sont de ici.

quelle normalisation est la meilleure?

La réponse dépend de l'architecture du réseau, en particulier sur ce qui est fait après la couche de normalisation. Les réseaux de classification d'Image empilent habituellement les cartes de traits ensemble et les filent à la couche FC, qui poids des actions à travers le lot (la manière moderne est d'utiliser la couche CONV au lieu de FC, mais l'argument s'applique toujours).

C'est là que les nuances de distribution commencent à compter: le même neurone va recevoir l'entrée de toutes les images. Si la variance à travers le lot est élevée, le gradient des petites activations sera complètement supprimé par les activations élevées, ce qui est exactement le problème que la norme du lot essaie de résoudre. C'est pourquoi il est assez possible que par instance la normalisation n'améliorera pas du tout la convergence des réseaux.

d'un autre côté, la normalisation par lots ajoute du bruit supplémentaire à la formation, car le résultat pour une instance particulière dépend des instances voisines. Il s'avère que ce genre de bruit peut être bon ou mauvais pour le réseau. Ceci est bien expliqué dans le "Poids Normalisation" papier par Tim Salimans de l'al, le nom de réseaux de neurones récurrents et l'apprentissage par renforcement que DQNs applications sensibles au bruit. Je ne suis pas tout à fait sûr, mais je pense que la même sensibilité au bruit était le principal problème dans la tâche de stylisation, qui instance norm essayé de se battre. Il serait intéressant de vérifier si la norme de poids donne de meilleurs résultats pour cette tâche particulière.

pouvez-vous combiner la normalisation des lots et des instances?

bien qu'il fasse un réseau neuronal valide, il n'y a aucune utilité pratique pour lui. Le bruit de normalisation par lots est soit aider l'apprentissage processus (dans ce cas, c'est préférable) ou de le blesser (dans ce cas, il est préférable de le supprimer). Dans les deux cas, de quitter le réseau, avec un type de normalisation est susceptible d'améliorer les performances.

19
répondu Maxim 2018-01-05 18:01:06

grande question et déjà répondu gentiment. Juste pour ajouter: j'ai trouvé cette visualisation de Kaiming He's groupe Norm paper utile.

Source:lien vers l'article sur les Moyennes des contrastes entre les Normes

0
répondu Stephen Morrell 2018-09-28 11:11:29

je voulais ajouter plus d'informations à cette question puisqu'il y a quelques œuvres plus récentes dans ce domaine. Votre intuition

utiliser la normalisation d'instance pour la classification d'image où l'étiquette de classe ne devraient pas dépendre du contraste de l'image d'entrée

est en partie correcte. Je dirais qu'un cochon en plein jour est encore un cochon quand l'image est prise à la nuit ou à l'aube. Cependant, cela ne signifie pas utiliser la normalisation d'instance à travers le réseau vous donnera un meilleur résultat. Voici quelques raisons:

  1. la distribution des couleurs joue toujours un rôle. Il est plus susceptible d'être une pomme qu'une orange si elle a beaucoup de rouge.
  2. à des couches ultérieures, vous ne pouvez plus imaginer que la normalisation des instances agit comme la normalisation des contrastes. Les détails propres à la classe apparaîtront dans les couches plus profondes et leur normalisation par l'instance nuira grandement aux performances du modèle.

IBN-Net utilise les deux lots normalisation et normalisation des instances dans leur modèle. Ils ont seulement mis la normalisation d'instance dans les couches tôt et ont obtenu l'amélioration à la fois dans la précision et la capacité de généraliser. Ils ont du code source ouvert ici.

enter image description here

0
répondu hkchengrex 2018-10-03 13:13:19