Extended Learnable Iterated Sums Signature Architecture
Elissabeth is a deep learning sequence-to-sequence model consisting of LISS layers.
A single LISS layer computes weighted iterated sums with learnable parameters.
The package sainomore implements Elissabeth and a pipeline for deep learning around it. We use
pytorch for implementing all algorithms and train our models with the help of
pytorch-lightning. Additionally, we use wandbfor logging our data online. Our package
implements specific callbacks for managing the logging. We developed a complex hooking mechanism
for accessing parameters in our models.
We recommend to use Poetry for installing and testing sainomore.
$ git clone https://github.com/irkri/elissabeth
$ cd elissabeth
$ poetry install (or: $ python -m pip install -e .)
Without cloning the repository, use instead:
$ pip install git+https://github.com/irkri/elissabeth
The projects folder contains some experiments we tested Elissabeth thoroughly on.
sainomore.elissabethimplements everthing needed to make a flexible general Elissabeth model worksainomore.elissabeth.elissabethcontains code for the outer model, consisting of embedding, multiple LISS layers and unembeddingsainomore.elissabeth.lissimplements the LISS layer and a LISS level, which computes iterated sums of one specific depth (word length)sainomore.elissabeth.lissaimplements the arctic LISS layersainomore.elissabeth.lissbimplements the bayesian LISS layersainomore.elissabeth.qkvimplements the query, key and value projectionssainomore.elissabeth.weightingimplements all kernels available for LISS layers
sainomore.modelsis a convenience module containing code for a simple MLP and Transformer implementationsainomore.xaiimplements methods vor analyzing a trained Elissabeth modelsainomore.xai.toolscontains methods for extracting data from the modelsainomore.xai.plottingcontains methods for plotting the extracted datasainomore.xai.watcherimplements theElissabethWatcher, which is a convenience class for analyzing a specific model
sainomore.baseimplements the base classes for our modelssainomore.callbackimplements callbacks used for watching a training runsainomore.dataimplementspytorch-lightningdata modulessainomore.hookscontains code for sainomore hookssainomore.lightningimplementspytorch-lightningmodulessainomore.positionalimplements positional encoding techniques
Some tests are available for LISS layers and kernels.


