De nombreuses approches visent à rendre un réseau de neurones formés plus interprétable et moins à la "boîte noire", en particulier les réseaux de neurones à convolution que vous avez mentionnés.
Visualiser les activations et les poids de couche
La visualisation des activations est la première solution évidente et simple. Pour les réseaux ReLU, les activations commencent généralement par être relativement blobées et denses, mais à mesure que la formation progresse, les activations deviennent généralement plus clairsemées (la plupart des valeurs sont nulles) et localisées. Cela montre parfois sur quoi un calque particulier est concentré lorsqu'il voit une image.
Un autre excellent travail sur les activations que je voudrais mentionner est deepvis qui montre la réaction de chaque neurone à chaque couche, y compris les couches de pooling et de normalisation. Voici comment ils le décrivent :
En résumé, nous avons rassemblé plusieurs méthodes différentes qui vous permettent de «trianguler» les fonctionnalités qu’un neurone a apprises, ce qui peut vous aider à mieux comprendre le fonctionnement des DNN.
La deuxième stratégie commune consiste à visualiser les poids (filtres). Celles-ci sont généralement les plus interprétables sur la première couche CONV qui examine directement les données de pixels brutes, mais il est également possible d'afficher les poids de filtre plus en profondeur dans le réseau. Par exemple, la première couche apprend généralement des filtres de type gabor qui détectent essentiellement les contours et les gouttes.
Expériences d'occlusion
Voici l'idée. Supposons qu'un ConvNet classe une image en tant que chien. Comment pouvons-nous être sûrs que cela représente réellement le chien dans l'image, par opposition à certains indices contextuels de l'arrière-plan ou à un autre objet divers?
Une façon de déterminer quelle partie de l'image provient d'une prévision de classification consiste à tracer la probabilité de la classe d'intérêt (par exemple, la classe chien) en fonction de la position d'un objet occlus. Si nous parcourons des régions de l'image, la remplaçons par des zéros et vérifions le résultat de la classification, nous pouvons créer une carte thermique bidimensionnelle de ce qui est le plus important pour le réseau sur une image donnée. Cette approche a été utilisée dans Visualizing and Understanding Convolutional Networks de Matthew Zeiler (auquel vous faites référence dans votre question):
Déconvolution
Une autre approche consiste à synthétiser une image qui déclenche le déclenchement d'un neurone, en gros ce que le neurone recherche. L'idée est de calculer le dégradé par rapport à l'image, au lieu du dégradé habituel par rapport aux poids. Donc, vous choisissez un calque, définissez le dégradé sur zéro, à l’exception d’un pour un neurone et d’une rétroprojection à l’image.
Deconv effectue en réalité une action appelée rétroprojection guidée pour créer une image plus esthétique , mais ce n’est qu’un détail.
Approches similaires à d'autres réseaux de neurones
Recommande fortement cet article d’Andrej Karpathy , dans lequel il joue beaucoup avec les réseaux de neurones récurrents (RNN). En fin de compte, il applique une technique similaire pour voir ce que les neurones apprennent réellement:
Le neurone mis en surbrillance dans cette image semble très enthousiasmé par les URL et s'éteint en dehors des URL. Le LSTM utilise probablement ce neurone pour se rappeler s’il se trouve ou non dans une URL.
Conclusion
Je n'ai mentionné qu'une petite fraction des résultats dans ce domaine de recherche. C'est assez actif et de nouvelles méthodes qui éclairent le fonctionnement interne du réseau de neurones apparaissent chaque année.
Pour répondre à votre question, il y a toujours quelque chose que les scientifiques ne savent pas encore, mais dans de nombreux cas, ils ont une bonne image (littéraire) de ce qui se passe à l'intérieur et peuvent répondre à de nombreuses questions particulières.
Pour moi, la citation de votre question souligne simplement l’importance de la recherche non seulement sur l’amélioration de la précision, mais également sur la structure interne du réseau. Comme Matt Zieler l’a dit dans son exposé , une bonne visualisation peut parfois conduire à une meilleure précision.