Dans les arbres de décision, nous pouvons comprendre la sortie de l'arborescence et nous pouvons également visualiser la façon dont l'arbre de décision prend des décisions. Les arbres de décision sont donc explicables (leur sortie peut être expliquée facilement.)
Avons-nous une explicabilité dans les réseaux neuronaux comme avec les arbres de décision?
neural-network
navya
la source
la source
Réponses:
Je ne suis pas d'accord avec la réponse précédente et avec votre suggestion pour deux raisons:
1) Les arbres de décision sont basés sur des décisions logiques simples qui, combinées ensemble, peuvent prendre des décisions plus complexes. MAIS si votre entrée a 1000 dimensions et que les fonctionnalités apprises sont très non linéaires, vous obtenez un arbre de décision vraiment gros et lourd que vous ne pourrez pas lire / comprendre simplement en regardant les nœuds.
2) Les réseaux de neurones sont similaires à ceux dans le sens où la fonction qu'ils apprennent n'est compréhensible que s'ils sont très petits. Lorsque vous devenez gros, vous avez besoin d'autres astuces pour les comprendre. Comme l'a suggéré @SmallChess, vous pouvez lire cet article intitulé Visualiser et comprendre les réseaux convolutionnels qui explique dans le cas particulier des réseaux de neurones convolutionnels, comment vous pouvez lire les poids pour comprendre des choses comme "il a détecté une voiture sur cette image, principalement en raison de la roues, pas le reste des composants ".
Ces visualisations ont aidé de nombreux chercheurs à réellement comprendre les faiblesses de leurs architectures neuronales et à améliorer les algorithmes de formation.
la source
Non. Le réseau neuronal est généralement difficile à comprendre. Vous échangez un pouvoir prédictif contre la complexité du modèle. Bien qu'il soit possible de visualiser graphiquement les poids NN, ils ne vous disent pas exactement comment une décision est prise. Bonne chance pour essayer de comprendre un réseau profond.
Il existe un package Python populaire (et il a un papier) qui peut modéliser un NN localement avec un modèle plus simple. Vous voudrez peut-être y jeter un œil.
la source
https://arxiv.org/abs/1704.02685 fournit un outil d'explication local spécifique à NN: deep lift. Il fonctionne en propageant la différence d'activation entre l'instance que vous souhaitez expliquer et une instance de référence. Obtenir une référence est un peu délicat, mais l'outil semble globalement interprétable et évolutif. Nous l'utilisons sur des données tabulaires.
la source