Available models
To keep the toolbox updated, we compile a compendium of available models that drews from several widely recognised, externally developed, and highly active libraries:
PyOD
For Outlier Detection, the Python Outlier Detection (PyOD) library was selected as the one best fitted to provide tested models and successfully curated products for multivariate data. PyOD includes individual, ensembles, and combinations of detection algorithms, as well as shallow and specific deep neural network methods.
To use PyOD, specify the following fields on the configuration file:
arch: user_defined: False type: Model_class_name (String) (eg. knn.KNN) args: ... input_model_dim: ... output_model_dim: ... step_samples_train: ... step_samples_evaluation: ...
SMP
The user can choose a wide range of state-of-the-art models from the Segmentation Models Pytorch (SMP) to address extreme event detection as a binary segmentation task. This library extends the powerful image labelling library of PyTorch Image Models (timm).
The SMP library adds decoder structures (based on popular encoder-decoder architectures) to the models found in timm, and others, to be applied for image segmentation.
To use SMP, specify the following fields on the configuration file:
arch: user_defined: False type: Model_architecture (String) (eg. Unet) params: encoder_name: Model_encoder (String) (eg. resnet34) ... input_model_dim: ... output_model_dim: ...
TSAI
We incorporate the deep learning library for Time Series and Sequences (TSAI) for handling 1D time series for the classification or impact assessment tasks.
To use TSAI, specify the following fields on the configuration file:
arch: user_defined: False type: tsai_models.Model_name (String) (eg. tsai_models.LSTM) params: out_len: ... ... input_model_dim: ... output_model_dim: ...
Gaussian Process Layer
The AIDE toolbox provides the opportunity to implement advanced Deep Gaussian Process-based regression algorithms by integrating GPyTorch . This is achieved by harmonizing Deep Learning (DL) models with a Gaussian Process (GP) as final layer.
To add a GP layer on top of your DL model, specify the fields below in the configuration file. Further information about the parameters and available options can be found in the GPyTorch documentation .
loss: user_defined: false type: 'VariationalELBO' package: 'gpytorch.mlls' activation: type: 'ApproximateGP' input_size: ... likelihood: GaussianLikelihood: {} settings: train: num_likelihood_samples: ... val: num_likelihood_samples: ... test: num_likelihood_samples: ... params: variational_strategy: GridInterpolationVariationalStrategy: grid_size: ... grid_bounds: ... variational_distribution: CholeskyVariationalDistribution: {num_inducing_points: ...} base: false mean: ConstantMean: {} covar: RBFKernel: params: {} nested: ScaleKernel: params: {} nested: false scale_to_bounds: ... output_distribution: MultivariateNormal: {} masked: ...