Delve Documentation

Delve is library for analyzing eigenspaces of neural networks.

Delve was developed to help researchers identify information flow through a layer. Specifically, it computes layer saturation, a measure of the covariance of features in a layer: Saturation.

It is useful for optimizing neural network topology, particularly identifying over or under-saturated layers.

If you use Delve in your publication, please cite:

@software{delve,
author       = {Justin Shenk and
                  Mats L. Richter and
                  Wolf Byttner and
                  Michał Marcinkiewicz},
title        = {delve-team/delve: v0.1.45},
month        = aug,
year         = 2021,
publisher    = {Zenodo},
version      = {v0.1.45},
doi          = {10.5281/zenodo.5233860},
url          = {https://doi.org/10.5281/zenodo.5233860}
}

Delve allows extracting features from neural network layers and computing the eigenspace of several layers.

Supported Layers

  • Dense/Linear

  • LSTM

  • Convolutional

Statistics

Layer eigenspace computation allows computing information flow between layers, including:

  • feature variance

  • feature covariance

  • layer feature instrinsic dimensionality

Several statistics are supported:

idim        : intrinsic dimensionality
lsat        : layer saturation (intrinsic dimensionality divided by feature space dimensionality)
cov         : the covariance-matrix (only saveable using the 'npy' save strategy)
det         : the determinant of the covariance matrix (also known as generalized variance)
trc         : the trace of the covariance matrix, generally a more useful metric than det for determining
            the total variance of the data than the determinant.
            However note that this does not take the correlation between
            features into account. On the other hand, in most cases the determinent will be zero, since
            there will be very strongly correlated features, so trace might be the better option.
dtrc        : the trace of the diagonalmatrix, another way of measuring the dispersion of the data.
lsat        : layer saturation (intrinsic dimensionality
            divided by feature space dimensionality)
cov         : the covariance-matrix (only saveable using
            the 'npy' save strategy)
embed       : samples embedded in the eigenspace of dimension 2

To support researchers, it allows saving plots at various intervals through the CheckLayerSat class.

Indices and tables