Les scientifiques savent-ils ce qui se passe dans les réseaux de neurones artificiels?


69

Les scientifiques ou les experts de la recherche savent-ils dans la cuisine ce qui se passe dans un réseau de neurones «profonds» complexe avec au moins des millions de connexions qui se déclenchent instantanément? Comprennent-ils le processus sous-jacent (par exemple, ce qui se passe à l'intérieur et comment ça fonctionne exactement), ou est-ce un sujet de débat?

Par exemple cette étude dit:

Cependant, on ne comprend pas clairement pourquoi ils fonctionnent si bien ou comment ils pourraient être améliorés.

Cela signifie-t-il que les scientifiques ne savent pas vraiment comment fonctionnent les modèles de réseau convolutionnels complexes?


" pourquoi ils fonctionnent si bien " - ils ne fonctionnent pas vraiment si bien. Comme avec la plupart des nouvelles technologies, les échecs sont sous-déclarés.
Tomáš Zato

Réponses:


51

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.

filtres de première couche

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):

expériences d'occlusion

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.


Est-ce que visualiser est savoir? Ou est-ce juste une solution tendance à l'ignorance? Le développement mathématique est peut-être le domaine qui manque le plus de rigueur et de suffisance.
FauChristian

1
@ FauChristian Vous manquez le point ici. Les poids et toutes les opérations mathématiques à l'intérieur d'un réseau de neurones sont connus exactement, tout comme le code d'assemblage. C'est hors de question. La visualisation permet de comprendre pourquoi certaines opérations se produisent et donnent de bonnes performances. Encore une fois, tout comme les algorithmes informatiques classiques. En outre, je vous encourage à lire le document de Zieler et al, mentionné dans la réponse.
Maxim

1
Je n'ai pas manqué ces points, après les avoir étudiés au premier cycle. J'étais paresseux dans mon commentaire cependant. La grille en noir et blanc représentant les noyaux n’est intéressante que dans le sens où elle présente une matrice quelque peu chaotique d’états de noyaux à détection de bords ondulés, indiquant la nécessité de caractériser le chaos pour le comprendre. Quelles sont leurs distribution de taille, distribution angulaire et distribution asymétrique? Ces distributions indiquent-elles (a) un surajustement spécifique à certains ensembles de données ou (b) un schéma général qui pourrait être remplacé par un bloc fonctionnel offrant une plus grande efficacité de calcul. ~~ Une fois ne peut pas dire à partir du visuel.
FauChristian

1
Oui, toutes ces distributions (et beaucoup d’autres) ne sont pas calculées ici. Cela ne signifie pas qu'ils ne peuvent ou ne doivent pas être calculés. Cela ne signifie pas non plus que l'interprétation du modèle n'a rien à voir avec la visualisation. Je vous encourage encore une fois à lire "Visualizing and Understanding Convolutional Networks" de Zieler et al, où les auteurs discutent de cela en détail.
Maxim

Nous avons cela dans le laboratoire. Mon associé a parcouru certains des exemples de code. Je vais jeter un coup d'oeil du côté des statistiques. Merci.
FauChristian

27

Cela dépend de ce que vous entendez par "savoir ce qui se passe".

Conceptuellement, oui: ANN effectue une régression non linéaire. L’expression réelle représentée par la matrice de pondération / la ou les fonctions d’activation d’un RNA peut être explicitement développée sous forme symbolique (par exemple, elle contient des sous-expressions telles que ).1/1+e1/1+e

Cependant, si par "savoir", vous entendez prédire la sortie de certains ANN spécifiques (boîte noire) , par un autre moyen, alors l'obstacle est la présence de chaos dans un ANN qui présente un degré de liberté élevé .

Voici également quelques travaux relativement récents de Hod Lipson sur la compréhension des ANN par la visualisation .


13

La réponse courte est non .

L’interprétabilité des modèles est un domaine de recherche actuel très actif (pensez au Saint Graal, etc.), qui a été mis en avant récemment, notamment en raison du succès (souvent énorme) des modèles d’apprentissage en profondeur dans diverses tâches; ces modèles ne sont actuellement que des boîtes noires, et nous nous sentons naturellement mal à l'aise à ce sujet ...

Voici quelques ressources générales (et récentes, en date de décembre 2017) sur le sujet:

Et à un niveau plus pratique (code, etc.):

Dernièrement, il y a eu un regain d'intérêt pour commencer à construire une base plus théorique pour les réseaux neuronaux d'apprentissage en profondeur. Dans ce contexte, le statisticien de renom et pionnier de la détection par compression, David Donoho, a récemment commencé (à l'automne 2017) à proposer un cours à Stanford, Theories of Deep Learning (STATS 385) , avec presque tout le matériel disponible en ligne; il est fortement recommandé ...

MISES À JOUR :


Salut. Cela semble être une bonne réponse, mais vous devez le nettoyer et l’organiser un peu. Les premières ressources devraient être les plus utiles et les plus générales. Ensuite, vous pouvez lister des ressources plus spécifiques et des documents de recherche, IMHO. Et plus tard, vous pouvez lister par exemple des discussions sur Twitter ou autre chose.
nbro


8

Je crains de ne pas avoir les citations spécifiques à portée de main, mais j'ai vu / entendu des citations d'experts comme Andrew Ng et Geoffrey Hinton, dans lesquels ils disent clairement que nous ne comprenons pas vraiment les réseaux de neurones. Autrement dit, nous comprenons quelque chose sur leur fonctionnement (par exemple, le calcul de la propagation en arrière), mais nous ne comprenons pas vraiment pourquoi ils fonctionnent. C'est une sorte de distinction subtile, mais le fait est que non, nous ne comprenons pas les détails les plus profonds de la façon dont vous passez exactement d'un poids, à reconnaître, par exemple, un chat jouant avec une balle.

Au moins en termes de reconnaissance d'image, la meilleure explication que j'ai entendue est que les couches successives d'un réseau de neurones apprennent des fonctionnalités plus sophistiquées, composées des fonctionnalités plus granulaires des niveaux précédents. C'est-à-dire que la première couche pourrait reconnaître des "arêtes" ou des "lignes droites". La couche suivante peut alors apprendre des formes géométriques telles que "boîte" ou "triangle", puis une couche supérieure peut apprendre le "nez" ou "l'oeil" en fonction de ces caractéristiques précédentes, puis une couche de niveau supérieur apprend toujours "la face" de "œil", "nez", "mâchoire", etc. Mais même cela, si je comprends bien, reste hypothétique et / ou n’est pas compris en détail.


2
Je serais intéressé de lire les citations réelles. Au niveau conceptuel le plus large, le pourquoi est "Ce sont des approximateurs de fonctions universels formés pour réduire l'erreur dans un problème de régression".
NietzscheanAI

Je verrai si je peux les retrouver. Je suis à peu près sûr que la citation de Geoffrey Hinton à laquelle je pense est dans une vidéo… soit de sa classe Coursera, soit d'une vidéo qu'il a vue sur Youtube. Si je peux le trouver, je modifierai ma réponse et la relierai.
mindcrime

Je n'ai pas oublié Je vais essayer de les trouver quand j'ai un peu de temps libre. Je pense qu'au moins une de celles à laquelle je pense était tirée d'une vidéo faisant partie d'un cours Coursera.
Mindcrime

Cette étude peut aider à mettre les mêmes références: "Cependant, on ne comprend pas clairement pourquoi ils fonctionnent si bien, ou comment ils pourraient être améliorés".
Kenorb

4

Voici une réponse de Carlos E. Perez à la question " Qu'est-ce que la théorie derrière l'apprentissage en profondeur?"

[...]

Les mathématiques sous-jacentes de Deep Learning existent depuis plusieurs décennies, mais les résultats impressionnants que nous constatons aujourd'hui sont la conséquence d'un matériel beaucoup plus rapide, de davantage de données et d'améliorations incrémentielles des méthodes.

L'apprentissage en profondeur en général peut être défini comme un problème d'optimisation dans lequel l'objectif est fonction de l'erreur de modèle. Ce problème d’optimisation est très difficile à résoudre, étant donné que l’espace paramétrique du modèle (c’est-à-dire la pondération du réseau de neurones) pose un problème de très haute dimension. Un algorithme d'optimisation peut prendre beaucoup de temps pour explorer cet espace. En outre, il existait une croyance non vérifiée selon laquelle le problème était non convexe et le calcul resterait toujours bloqué dans les minima locaux.

[...]

La théorie selon laquelle les machines convergent réellement vers un attracteur ou, en d'autres termes, apprennent à reconnaître des modèles complexes, est encore inconnue.

En résumé: nous avons des idées, mais nous ne sommes pas tout à fait sûrs.


3

Les scientifiques savent-ils ce qui se passe dans les réseaux de neurones artificiels?

OUI

Les scientifiques ou les experts de la recherche savent-ils dans la cuisine ce qui se passe dans un réseau de neurones «profonds» complexe avec au moins des millions de connexions qui se déclenchent instantanément?

Je suppose que "savoir de la cuisine" signifie "connaître en détail"?

Laissez-moi vous donner une série d'analogies:

  1. Un ingénieur en avion sait-il depuis la cuisine ce qui se passe à l'intérieur de l'avion?
  2. Le concepteur de puces sait-il en détail ce qui se passe dans les puces qu’il a conçues?
  3. Un ingénieur civil sait-il tout sur la maison qu'il a construite?

Le diable est dans les détails, mais un point crucial ici est qu’il s’agit de structures artificielles. Ils n'apparaissent pas au hasard. Vous avez besoin de beaucoup de connaissances pour obtenir quelque chose d'utile. Pour Neural Networks, je dirais que cela a pris environ 40 ans entre la publication de l’idée principale (Rosenblatt perceptron, 1957) et la première application (US Postal Service, 1989). Et à partir de là encore 13 ans de recherche active sur des systèmes vraiment impressionnants (ImageNet 2012).

Nous savons très bien comment fonctionne la formation . Parce qu'il doit être mis en œuvre. Donc, sur une très petite structure, nous le connaissons en détail.

Pensez aux ordinateurs. Les concepteurs de puces connaissent très bien le fonctionnement de leur puce. Mais ils n’auront probablement qu’une idée très approximative du fonctionnement du système d’exploitation Linux.

Un autre exemple est la physique et la chimie: la physique décrit les forces fondamentales de l'univers. Est-ce que cela signifie qu'ils savent tout sur la chimie? Sûrement pas! Un physicien "parfait" peut tout expliquer en chimie ... mais ce serait pratiquement inutile. Il aurait besoin de beaucoup plus d'informations, ne pas être capable de sauter les parties non pertinentes. Tout simplement parce qu'il a trop "zoomé" - considère des détails qui ne sont en pratique ni intéressants ni importants. S'il vous plaît noter que la connaissance du physicien n'est pas faux. Peut-être pourrait-on même en déduire le savoir du chimiste. Mais cette compréhension "de haut niveau" de l'interaction des molécules est manquante.

Les informations clés tirées de ces deux exemples sont les couches d'abstraction: vous pouvez créer de la complexité à partir de structures simples .

Quoi d'autre?

Nous savons bien ce qui est en principe réalisable avec les réseaux de neurones que nous concevons:

  • Un réseau de neurones conçu pour jouer à Go, quelle que soit sa sophistication, ne sera même jamais capable de jouer aux échecs. Vous pouvez, bien sûr, ajouter une autre couche d'abstraction et combiner des éléments. Mais cette approche a besoin d'humains.
  • Un réseau de neurones conçu pour distinguer les chiens des chats et qui n'a vu que des pudels et des chats persans donnera probablement de très mauvais résultats lorsqu'il faut se décider pour Yorkshire Terriers.

Oh, et bien sûr nous avons des approches analytiques pour les réseaux de neurones. J'ai rédigé mon mémoire de maîtrise sur l' analyse et l'optimisation des architectures de réseaux de neurones convolutionnels . Dans ce contexte, LIME (Explications de Modèle Interprétable Local - Interprétations Agnostiques Locales) est agréable:

entrez la description de l'image ici


1
La plupart d’entre eux sont influencés par des modèles biologiques. Il est donc difficile de croire que les scientifiques construisent des NN en fonction d’un problème ... Surtout quand personne n’a aucune idée pourquoi une architecture particulière ou un ensemble particulier d’hyperparamètres fonctionnent bien. un problème donné ... Je ne parle pas des hyperparamètres exacts, mais aucun ne semble avoir une idée générale de ce que les hyperparamètres approximatifs pourraient fonctionner pour un problème donné (le problème est bien défini) .. Donc, aucun scientifique ne sait ce qui se passe à l'intérieur un NN.
DuttaA

Pensez aux ingénieurs débutants d'automobile / d'avion. Diriez-vous qu'ils ne savent pas ce qui se passe à l'intérieur de leur avion ou de leur voiture, car ils ne les ont pas construits, car leur forme n'était pas aérodynamique?
Martin Thoma

1
Ofc ... Ne sachant pas quelque chose en raison du manque de technologie ... Est -ce quelque chose de différent que de ne pas savoir theoretically..I croire a la technologie dans les avions case..While ici nous ne sommes pas en mesure de traiter mathematically..So oublier la technologie
DuttaA

1

Je voulais juste ajouter quelque chose:

cela dépend de ce que vous entendez par scientifique:

Je suis étudiant au doctorat en génie électrique et j'ai vu tellement de chercheurs travailler avec ANN dans des problèmes comme la régression, le contrôle des prévisions, le contrôle adaptatif et la classification.

vous pouvez clairement remarquer que leur manque de compétences en codage est un inconvénient majeur et qu'ils ne comprennent pas vraiment ce qui se passe dans une ANN. Maintenant, je ne parle même pas de Deep , ils ont du mal à comprendre des choses simples comme ADALINEs et ANFIS! tout ce que vous entendez dire est: donnez-lui des données et il s'adaptera!


1
Bien que vous ayez probablement raison sur le plan conceptuel, vous pouvez obtenir des votes et éventuellement une aide constructive si vous reformulez votre réponse pour donner une observation sociologique plutôt qu'une tirade pédante.
FauChristian
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.