Quelle est l'importance du nombre de filtres de convolution dans un réseau convolutionnel?

16

Que transmet le nombre de filtres dans une couche de convolution?
Comment ce nombre affecte-t-il les performances ou la qualité de l'architecture? Je veux dire, devrions-nous toujours opter pour un plus grand nombre de filtres? qu'est-ce qu'ils ont de bon? et comment les gens attribuent-ils un nombre différent de filtres pour différentes couches? Je veux dire en regardant cette question: Comment déterminer le nombre d'opérateurs convolutifs dans CNN?
La réponse spécifiait 3 couches de convolution avec différents nombres de filtres et de taille, encore une fois dans cette question: nombre de cartes de caractéristiques dans les réseaux de neurones convolutifs vous pouvez voir sur l'image que nous avons 28 * 28 * 6 filtres pour la première couche et 10 * 10 * 16 filtre pour la deuxième couche conv. Comment parviennent-ils à ces chiffres, est-ce par essais et erreurs? Merci d'avance

Rika
la source

Réponses:

8

Que transmet le nombre de filtres dans une couche de convolution? - J'aime généralement voir les filtres comme des détecteurs de fonctionnalités. Bien que cela dépende du domaine problématique, la signification # des détecteurs d'entités est intuitivement le nombre d'entités (comme les arêtes, les lignes, les parties d'objet, etc.) que le réseau peut potentiellement apprendre. Notez également que chaque filtre génère une carte d'entités. Les cartes de fonctionnalités vous permettent d'apprendre les facteurs explicatifs de l'image, donc plus de filtres signifie plus le réseau apprend (pas nécessairement bon tout le temps - la saturation et la convergence importent le plus)

Comment ce nombre affecte-t-il les performances ou la qualité de l'architecture? - Je ne pense pas que vous trouverez une bonne réponse pour ce type de question car nous essayons toujours de formaliser ce qui se passe à l'intérieur de la boîte noire DL. Intuitivement, vous apprendrez à nouveau une fonction non linéaire plus robuste, plus vous aurez de banques de filtres, mais les performances dépendront du type de tâche et des caractéristiques des données. Vous voulez généralement savoir quel type de données vous traitez pour déterminer les paramètres # dans votre architecture (y compris le filtre). De combien de filtres ai-je besoin? revient plus à demander à quel point (spécialement) les images de mon jeu de données sont complexes. Il n'y a aucune notion formelle qui relie les filtres # aux performances. C'est tout expérimental et itératif. Beaucoup de traces et d'erreurs.

Henok G.
la source
Bonne réponse, ajoutant aux points ci-dessus: les CNN, cependant, ne sont plus des boîtes noires. Vous pouvez réellement voir les fonctionnalités apprises par les cartes de fonctionnalités. Le nombre de filtres que vous définissez dans une couche est de permettre aux conteneurs ASSEZ de se mettre en réseau pour apprendre les fonctionnalités pertinentes (ou leurs combinaisons). Quel est le nombre suffisant -> dépend de l'ensemble de données. Par exemple, un réseau CNN au niveau de la couche X a besoin d'au moins 24 cartes d'entités pour apprendre des fonctionnalités importantes, vous fournissez donc, disons, 32, en partant du principe que vous donnez au réseau un espace de respiration et que vous le laissez décider par lui-même, peut-être certaines sur 32 sont redondants ou légèrement variés.
MANU