Effet de NE PAS changer le poids des filtres de CNN pendant le backprop

10

Quel est l'effet de NE PAS changer le poids des filtres d'un CNN pendant la rétropropagation? J'ai modifié uniquement les poids de couche entièrement connectés lors de la formation sur l'ensemble de données MNIST et j'ai toujours atteint une précision de près de 99%.

Abhisek Dash
la source
Intéressant, avez-vous commencé avec des poids aléatoires ou en utilisant des poids provenant d'un réseau précédent? Votre précision est-elle également mesurée à partir de l'ensemble d'entraînement ou d'un ensemble de tests de maintien?
Neil Slater
@Neil Slater: J'ai commencé avec des poids gaussiens aléatoires. La mesure de précision est sur le banc de test.
Abhisek Dash
@Neil Slater: La précision reste presque la même, même avec des initialisations différentes des filtres. J'ai utilisé 2 couches de convolution et de pool maximum et une couche FC avec 256 neurones cachés
Abhisek Dash

Réponses:

12

En ne modifiant pas les poids des couches convolutives d'un CNN, vous alimentez essentiellement votre classifieur (la couche entièrement connectée) des caractéristiques aléatoires (c'est-à-dire pas les caractéristiques optimales pour la tâche de classification en cours).

MNIST est une tâche de classification d'image assez simple pour que vous puissiez à peu près alimenter les pixels d'entrée vers un classificateur sans aucune extraction de fonctionnalité et il marquera toujours dans les années 90. En plus de cela, peut-être que les couches de mise en commun aident un peu ...

Essayez de former un MLP (sans les couches conv / pool) sur l'image d'entrée et voyez comment elle se classe. Voici un exemple où un MLP (1 couche cachée et 1 couche de sortie) a atteint 98 +% sans aucun prétraitement / extraction de fonctionnalité.


Éditer:

Je voudrais également souligner une autre réponse que j'ai écrite, qui explique plus en détail pourquoi le MNIST est si facile en tant que tâche de classification d'image.

Djib2011
la source