Qu'est-ce que la couche de pooling maximale globale et quel est son avantage par rapport à la couche de covoiturage maxi?

Réponses:

69

Pool maximum global = couche de pool max ordinaire avec une taille de pool égale à la taille de l'entrée (moins la taille du filtre + 1, pour être précis). Vous pouvez voir que cela MaxPooling1Dprend un pool_lengthargument, alors que GlobalMaxPooling1Dne le fait pas.

Par exemple, si l'entrée de la couche de mise en pool maximale est , les sorties de mise en pool maximum globales , alors que la couche de mise en pool max ordinaire avec une taille de pool égale à 3 sorties (en supposant que la foulée = 1).0,1,2,2,5,1,252,2,5,5,5

Ceci peut être vu dans le code :

class GlobalMaxPooling1D(_GlobalPooling1D):
    """Global max pooling operation for temporal data.
    # Input shape
        3D tensor with shape: `(samples, steps, features)`.
    # Output shape
        2D tensor with shape: `(samples, features)`.
    """

    def call(self, x, mask=None):
        return K.max(x, axis=1)

Dans certains domaines, tels que le traitement du langage naturel, il est courant d'utiliser le pooling global maximum. Dans d'autres domaines, tels que la vision par ordinateur, il est courant d'utiliser un pooling maximal qui n'est pas global.

Franck Dernoncourt
la source
4
Je suis venu ici à la recherche de la mise en commun moyenne mondiale (GAP), mais de votre exemple simple mais très efficace, je pense pouvoir deviner ce que fait GAP :)
josh
Merci pour cette réponse très succincte. +1 Le petit exemple que vous avez donné est ce qui m'a vraiment fait comprendre ce que Global Max Pooling est en train de faire.
rayryeng
13

Comme décrit dans ce document qui proposait la mise en commun moyenne globale (GAP):

Les réseaux de neurones à convolution conventionnels effectuent une convolution dans les couches inférieures du réseau. Pour la classification, les cartes de caractéristiques de la dernière couche de convolution sont vectorisées et introduites dans des couches entièrement connectées, suivies d'une couche de régression logistique softmax. Cette structure relie la structure convolutionnelle aux classificateurs de réseaux de neurones traditionnels. Il traite les couches de convolution comme des extracteurs d’entités, et l’entité résultante est classée de manière traditionnelle.

Cependant, les couches entièrement connectées sont sujettes aux surajustements, entravant ainsi la capacité de généralisation du réseau global. Le décrochage est proposé par Hinton et al. Comme un régularisateur qui règle aléatoirement la moitié des activations sur les couches entièrement connectées à zéro pendant l’entraînement. Il a amélioré la capacité de généralisation et évite en grande partie les surajustements.

Dans cet article, nous proposons une autre stratégie appelée la mise en commun moyenne globale pour remplacer les couches entièrement connectées traditionnelles de CNN. L'idée est de générer une carte de caractéristiques pour chaque catégorie correspondante de la tâche de classification dans la dernière couche mlpconv. Au lieu d’ajouter des couches entièrement connectées au-dessus des cartes de caractéristiques, nous prenons la moyenne de chaque carte de caractéristiques et le vecteur résultant est directement introduit dans la couche softmax. L'un des avantages de la mise en commun moyenne globale sur les couches entièrement connectées est qu'elle est plus native de la structure de convolution en appliquant des correspondances entre les cartes de caractéristiques et les catégories. Ainsi, les cartes de caractéristiques peuvent être facilement interprétées comme des cartes de confiance des catégories. Un autre avantage est qu’il n’ya pas de paramètre à optimiser dans le pool moyen global, ce qui évite les surajustements au niveau de cette couche. De plus, la mise en commun globale moyenne additionne les informations spatiales, elle est donc plus robuste pour les traductions spatiales de l'entrée. La mise en commun moyenne globale est une régularisation structurelle qui applique explicitement les cartes de fonctions à des cartes de confiance de concepts (catégories). Ceci est rendu possible par les couches mlpconv, car elles permettent une meilleure approximation des cartes de confiance que les GLM.

Edit: Comme suggéré par @MaxLawnboy, voici un autre article sur le même sujet .

Tshilidzi Mudau
la source
Un autre article sur tous les modèles CNN arxiv.org/pdf/1412.6806v3.pdf
Maxim Mikhaylov
Merci @ MaxLawnboy, je vais modifier la réponse pour l'inclure.
Tshilidzi Mudau