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.3.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.3-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: elfa-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 1ab85364c24d7974a2287432f82047def5b823cfd80ab29631b39538a15bd2d8
MD5 02d663327d12d0a45d8e9f7e3e791f08
BLAKE2b-256 f33b90a5db9d4c2fbaaf487e1e83d2d56bab32e1ce40a82cb48a24d004a7939a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for elfa-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 33176a1410047b33eba0c81b5a25da3f11e9f74f2597e699d456d708f070abaa
MD5 dc4280f3c8c2194d46ae46177ecb725a
BLAKE2b-256 66ffb48aaa2055487123b62c6c3863a6dd88b3cf968353658fed7cd4786e5b30

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