Que peut-on apprendre des poids dans un réseau neuronal?


8

Je suis très nouveau dans les réseaux de neurones et j'ai essayé de comprendre certaines choses. Donc, disons que vous rencontrez un réseau de neurones qui a 100 entrées, une couche cachée avec 200 nœuds et 32 ​​sorties. Disons également que vous, le «découvreur» de cette instance particulière d'un réseau de neurones, êtes capable de lire les poids des neurones individuels. Que pourriez-vous comprendre à propos de sa fonction?

1) Pouvez-vous déterminer ce que l'algorithme ou la logique est contenu dans le réseau neuronal? Autre que d'introduire toutes les entrées possibles et d'étudier les sorties qu'il produit.

2) Si vous receviez des informations sur la connexion du réseau de neurones (peut-être que le réseau n'est pas entièrement connecté), la résolution de la question 1 ci-dessus serait-elle plus facile?


Vous êtes capable de comprendre "le code", mais si vous voulez le sens, vous devez au moins connaître la nature des données d'entrée. Cependant vous pouvez toujours "dire": ce NN calcule la fonctionf(x1,x2,...)=...
Anton

Réponses:


7

Ça dépend. Les poids des réseaux de neurones peuvent être représentés graphiquement ou visualisés pour un aperçu. Ceci est particulièrement utile si le réseau neuronal fonctionne avec un traitement visuel. Il est possible de "dériver" quelles entrées de bas niveau du réseau neuronal créent des neurones particuliers à des niveaux supérieurs pour "tirer" en travaillant à l'envers à travers les poids du réseau neuronal - en d'autres termes, le problème de trouver / dériver l'entrée de bas niveau des motifs qui excitent au maximum des neurones particuliers et la représentation graphique des résultats. Un bon exemple de cela est le récent résultat révolutionnaire de Google dans un réseau visuel autoformé qui s'est auto-organisé pour trouver des modèles de plus haut niveau comme les chats et les visages humains, etc. [1], [2], [3]

Ceci est également connu sous le nom de «détection de caractéristiques» et il existe des recherches récompensées par un prix Nobel (1981 Hubel / Weisel) qui démontrent que les neurones cérébraux réels fonctionnent de manière similaire, à des degrés divers. Une recherche active est en cours / continue dans ce domaine dans les systèmes biologiques et artificiels.

Une autre façon d'analyser les poids nets neuronaux consiste à conclure quels facteurs (entrées) affectent le réseau neuronal et lesquels ne le font pas. Par exemple, supposons que le réseau neuronal soit utilisé pour prédire les cours des actions et qu'il ait diverses entrées liées à différentes variables économiques telles que le PIB, les prix de l'or, DJIA (un indice) et les taux d'intérêt. Une fois que le réseau est formé (avec succès!) Pour prédire quelque chose (par exemple les prix futurs), on peut déterminer dans quelle mesure chacune des variables d'entrée a un effet sur la prédiction finale.

On peut également déterminer la corrélation négative ou positive de base entre l'entrée et la sortie. De cette façon, les réseaux de neurones peuvent être utilisés d'une manière très similaire aux techniques statistiques comme l' analyse factorielle .

La réponse est donc "oui absolument", mais seulement dans le sens où il existe différentes façons de révéler des "algorithmes" dans les réseaux de neurones via des représentations graphiques ou autres représentations "lisibles par l'homme" autrement qu'avec la représentation typique des algorithmes, c'est-à-dire le code. Mais représenter les poids des réseaux de neurones d'une manière lisible par l'homme et trouver de nouvelles représentations utiles est un domaine de recherche actif.

[1] Google met son cerveau virtuel de la technologie au travail Technology Review

[2] Le cerveau artificiel de Google apprend à trouver des vidéos de chats câblées

[3] Combien d'ordinateurs pour identifier un chat? 16 000 NYT


6

Êtes-vous en mesure de déterminer ce que l'algorithme ou la logique est contenu dans le réseau neuronal? Autre que d'introduire toutes les entrées possibles et d'étudier les sorties qu'il produit.

Non, je ne pense pas, pas de manière significative. Cela reviendrait à étudier les bits de chaque octet individuel d'un programme informatique dans le but d'évaluer son objectif. Vous avez besoin de sens pour le déterminer, et vous ne pouvez l'obtenir qu'en étudiant les entrées et les sorties, ou en évaluant les opcodes réels.

Il n'y a aucune signification dans les poids des neurones individuels; ce n'est que lorsque ces poids sont combinés en une réponse qu'ils deviennent significatifs.

Vous pourriez probablement déterminer la méthode d'entraînement du réseau neuronal en observant sa structure globale et le modèle des poids relatifs dans la structure neuronale.


On peut en apprendre plus sur un réseau de neurones en analysant ses poids que cette réponse implique; en particulier, il y a beaucoup de choses que vous pouvez faire avec la rétropropagation en plus de la formation initiale du réseau.
Jeremy List
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.