Réseaux de neurones convolutifs interprétables研读

(Je pense qu'il n'y a aucune différence entre le CNN interprétable que j'ai lu dans l'article précédent. Chaque noyau de convolution dans la couche de convolution de haut niveau ajoute une perte. Vérifiez le code. La perte ajoutée est logistique ou softmax. J'apprends encore. En cas de malentendu, veuillez me pardonner et n'hésitez pas à le signaler)
Résumé :
Afin d'expliquer la représentation des connaissances dans le CNN de couche convolutive de haut niveau, cet article propose un CNN interprétable basé sur le CNN traditionnel. Un CNN interprétable peut représenter un composant cible spécifique (tel qu'une tête de chat, des pattes de chat, etc.) dans la couche convolutionnelle de haut niveau. Un CNN interprétable peut être entraîné à l'aide d'ensembles d'entraînement traditionnels sans aucune annotation de composant. La phase d'apprentissage attribue automatiquement chaque composant spécifique. aux noyaux de convolution des couches convolutives de haut niveau. CNN interprétable peut être appliqué dans n’importe quelle architecture de réseau. Un CNN interprétable peut aider les gens à comprendre la logique interne de CNN. Par exemple, quels modèles sont utilisés par CNN pour la prédiction ? Les expériences prouvent que les CNN interprétables ont plus de sens sémantiquement que les CNN traditionnels.
Citation :
Nous nous concentrons sur la question : pouvons-nous modifier un CNN pour obtenir des représentations de connaissances interprétables dans ses couches de transformation sans aucune supervision humaine supplémentaire ?
insérer la description de l'image ici
Dans la figure ci-dessus, le CNN traditionnel présente un motif déroutant dans la couche convolutive de haut niveau. Par exemple, un noyau de convolution est activé à la fois par la tête du chat et les pattes du chat. Par rapport au CNN interprétable, un noyau de convolution n'est activé que par un composant spécifique (tel que la tête de chat) activé.
Objectifs :
① Nous modifions légèrement le CNN traditionnel pour améliorer son interprétabilité, qui peut être largement utilisé dans les CNN de différentes structures.
② Nous n'avons besoin d'aucune annotation et notre méthode peut automatiquement pousser la représentation de chaque noyau de convolution vers le composant cible.
③ Le CNN interprétable ne modifie pas la fonction de perte finale et l'ensemble de formation est le même que celui de la formation du CNN traditionnel.
④ Le degré de discrimination des CNN interprétables peut diminuer, mais nous le contrôlerons dans une certaine plage.
méthode:
insérer la description de l'image ici
Sur la couche convolutive de haut niveau CNN, nous ajoutons une perte à chaque noyau de convolution pour favoriser la représentation du noyau de convolution vers le composant cible. Comme le montre la figure ci-dessus, nous ajoutons une perte à chaque noyau de convolution sur la carte des caractéristiques de la couche de sortie. Cette perte favorise une faible entropie de l'activation inter-classes et une activation spatialement distribuée du réseau neuronal. Chaque noyau de convolution doit être activé par un seul composant cible et ne pas apparaître de manière répétée sur différentes régions d'objets. Par exemple, l'œil gauche et l'œil droit du chat doivent être représentés par deux noyaux de convolution différents.
Travaux connexes :
Les méthodes actuelles d'analyse des caractéristiques de CNN sont :
① Réseau visuel : La visualisation des noyaux de convolution dans CNN est la méthode la plus directe pour explorer les modèles cachés dans les unités neuronales. Comme quantifier les scores des neurones.
② Récupération de modèles : certaines études vont au-delà de la visualisation passive et récupèrent activement des unités spécifiques des CNN pour différentes applications. Récupérez le motif dans le filtre.
③ Diagnostic du modèle : les gens ont développé de nombreuses méthodes pour diagnostiquer la représentation des modèles de boîte noire. LIME, Diplômé-Cam.
④ Apprendre de meilleures représentations : contrairement au diagnostic et/ou à la visualisation de CNN pré-entraînés, des méthodes ont été développées pour apprendre des représentations plus significatives. Par exemple, ajouter des règles et des annotations pendant le processus de formation.
Algorithme :
étant donné un CNN cible de haut niveau, nous nous attendons à ce que chaque noyau de convolution ne puisse être activé que par un composant cible spécifique, et que les autres cibles de l'image ne soient pas activées. Nous supposons que I représente un échantillon d’apprentissage et Ic représente un échantillon appartenant à la classe c. Comme le montre la figure 2, après l'opération ReLu, nous ajoutons une perte à la carte de caractéristiques x du noyau de convolution f. La carte de caractéristiques x est une matrice n n. Puisque le composant cible correspondant à f peut apparaître différemment dans différentes images, catégorie , nous concevons donc un modèle de taille n * n pour f. Comme le montre la figure 3 ,
insérer la description de l'image ici
chaque modèle T est également une
matrice n n. Ce modèle décrit la distribution idéale de l'activation de la carte de fonctionnalités x lorsque le composant cible déclenche principalement la i-ème unité de la carte de fonctionnalités x.
propagation vers l'avant: Étant donné chaque image de sortie I, CNN sélectionne un modèle spécifique parmi n * n candidats de modèle comme masque pour filtrer les valeurs d'activation bruyantes de la carte de fonctionnalités x.
Le fonctionnement du masque consiste à prendre en charge la rétropropagation du gradient de bout en bout. Pour différentes entrées d'image, les nœuds CNN sélectionneront des modèles qui ne peuvent pas être utilisés.
Comme le montre la figure 4, pour différentes images, les modèles de masques sélectionnés sont différents.
insérer la description de l'image ici
Rétropropagation :
étant donné une image d'entrée I de catégorie c, nous nous attendons à ce que la carte de caractéristiques x=f(I) ne soit activée qu'à la position de la pièce cible et pas ailleurs. En d'autres termes, si la catégorie de l'image d'entrée I est c, la carte de caractéristiques x devrait être attribuée au modèle T+. Si l'image d'entrée n'appartient pas à la catégorie c, nous attribuons un modèle négatif T- et espérons auquel la carte des caractéristiques x correspond. Dans le processus de propagation vers l'avant, seul le modèle positif est sélectionné comme masque pour toutes les cartes de caractéristiques.
Par conséquent, chaque carte de fonctionnalités correspondra bien à l’un des n*n+1 modèles candidats.
Pour chaque noyau de convolution, ajoutez une perte :
insérer la description de l'image ici
3.1 Apprentissage
Dans un CNN interprétable, la propagation vers l'avant est la même que dans un CNN traditionnel. Chaque noyau de convolution propage l'information de bas en haut. En rétro-propagation, dans un CNN interprétable. Chaque noyau de convolution reçoit des gradients de deux directions, d'une part à partir de la perte finale, et d'autre part à partir de sa propre perte. Le gradient total est le suivant :
insérer la description de l'image ici
4 Comprendre la perte
insérer la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/jiafeier_555/article/details/112312691
conseillé
Classement