Skip to main content

Explanatory Factor Analysis for CNNs

Project description

Explainable Layer Factor Analysis for CNNs (ELFA-CNNs)

Convolutional Neural Networks (CNNs) interpretability through the analysis of the encoded features.


ELFA (Explainable Layer Factor Analysis) is an explanatory method which identifies the essential features underlying convolutional layers. Given a convolution and relying on factor analysis, ELFA provides:

  • A mathematically well-founded identification of the essential underlying features.
  • A quantification of their impact on the original channels.
  • Insights into how channels are related, their importance, and redundancy.
  • A visualization of the essential features through the Essential Attribution Maps (EFAM) and the intrinsic features inversion.

As a result, ELFA obtains an accurate and well-founded summary of the features encoded in the convolutional layer. Moreover, it analyzes the layer as a whole, avoiding the choice of channels, and guarantees that the relevant features are being evaluated.


Layer Factor Analysis

Layer Factor Analysis is a statistical method that describes convolutional layers by a factor analysis model. As part of the ELFA strategy, this proposal applies the mathematical concepts of factor analysis on convolutional layers to explain the encoded knowledge.

The adequacy of the data and the quality of the estimated models can be verified, for which novel validity metrics are defined.

The parameters of the factorial model are used to provide explanations.


Citation

For a detailed description of technical details and experimental results, please refer to:

Clara I. López-González, María J. Gómez-Silva, Eva Besada-Portas, Gonzalo Pajares: Layer factor analysis in convolutional neural networks for explainability

If you use this, please cite:

@article{
LopezGonzalez2024ELFA,
title = {Layer factor analysis in convolutional neural networks for explainability},
author = {Clara I. López-González and María J. Gómez-Silva and Eva Besada-Portas and Gonzalo Pajares},
journal = {Applied Soft Computing},
volume = {150},
pages = {111094},
year = {2024},
issn = {1568-4946},
doi = {https://doi.org/10.1016/j.asoc.2023.111094},
}

Project status

Project is under development but should be stable. Please expect interfaces to change in future releases.

Installation

Using pip

pip install elfa

Documentation

Still under development.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elfa-0.0.5.tar.gz (89.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elfa-0.0.5-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file elfa-0.0.5.tar.gz.

File metadata

  • Download URL: elfa-0.0.5.tar.gz
  • Upload date:
  • Size: 89.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.10

File hashes

Hashes for elfa-0.0.5.tar.gz
Algorithm Hash digest
SHA256 bd61c210f6f46a6d070c33d9a4174a1be81bd3edec6d0d46bc7630c8f35e07c0
MD5 9e7ca46dd9240bbf7acbe59b2bf75ac2
BLAKE2b-256 6582a7b03412718f2b1d68ca1ebc895863cb8508128ae0cbbda6d34d982cf2d5

See more details on using hashes here.

File details

Details for the file elfa-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: elfa-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.10

File hashes

Hashes for elfa-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 db5ec01c5fdaae8ad67304340536951ab2e9365f2405e4d57d904c7ad0dcbfd1
MD5 03a82837834042c68b507bc08a7a1f51
BLAKE2b-256 90faec527965f879867ef183fdadfac921ff0d2ee64ff54253276fc0f7c71c59

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page