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.2.tar.gz (89.4 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.2-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for elfa-0.0.2.tar.gz
Algorithm Hash digest
SHA256 70b6257f8bad1da5a8a4a1f163308804264c95f244d64a87f5092e83cbbbdc73
MD5 8cc83513b28bb10d4278c6544932e090
BLAKE2b-256 08403475a97a802b554bb4fe1a60f00feabb7188a392ea784d0b81f05ce2addc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: elfa-0.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 61b07543324360af657d86b7f8162cde7e6722e90cea38e222c2a8c7ccafa9fb
MD5 943a599a2b865b7977e037544f818fdb
BLAKE2b-256 9956325fe558204f0350dcba45245f6bdecfe477c087c4c0bd3e44e60da3d158

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