v0.5.0
This release marks the end of my MSc. and splitting the research out into its own repository!
- The repo was previously setup such that development took place on an
xdev
branch. An automated script was then used to clean this branch of research code and commit the changes to thedev
branch, which was then published. - This has now been disabled in favour of standard dev practice. I no longer need to maintain the old research code and can incorporate this functionality directly into disent.
MSc. Additions
-
disent.dataset.data
- Various new datasets!XYObjectData
andXYObjectShadedData
equivalent datasets with different representations of their ground-truth factors. Disentanglement performance is affected by the choice of ground-truth factors even if the data is exactly the same!XYSquaresData
is an adversarial dataset for VAEs that use pixel-wise reconstruction losses. VAEs usually perform terribly on this dataset in terms of disentanglement performance. This dataset contains three squares that can move across a non-overlapping grid.XYSingleSquareData
is likeXYSquaresData
but only has a single square that can move across the image.XColumnsData
is a simplistic version ofXYSquaresData
that is still adversarial, but only moves columns left and right instead of an object across a grid.
-
disent.frameworks.vae
AdaNegTripletVae
aka. "ada_tvae": Supervised disentanglement framework that uses our proposed Adaptive Triplet Loss to disentangle representations and introduce axis-alignment. Triplets are constructed using the L1 distance between ground-truth factors.DataOverlapTripletVae
aka. "ada_tvae_d": Unsupervised version of theAdaNegTripletVae
that order triplets using the distances between datapoints in terms of the reconstruction loss. Distances within disentanglement datasets often correspond to the distances between ground-truth factors, suggesting disentanglement is accidental!
-
disent.frameworks.ae
AdaNegTripletAe
aka. "ada_tae" - The AE version ofAdaNegTripletVae
DataOverlapTripletAe
aka. "ada_tae_d" - The AE version ofDataOverlapTripletVae
AdaAe
- The AE version of theAdaVae
-
disent.metrics
flatness_components
consists of three separate metricsdistances
: measure the rank correlation between ground-truth distances and latent distanceslinearity
: measure how well factor traversal embeddings lie on an arbitrarily rotated n-dimensional lineaxis-alignment
: measure how well factor traversal embeddings correspond to a single latent variable (ie. an n-dimensional line that is axis-aligned).
flatness
an older metric that measures the path length of factor traversal embeddings over the max distance between points.
-
experiment/configs
updated to included configs for all the added classes, frameworks, datasets, metrics and features!- new schedules
schedule/adanegtvae_*.yaml
that should be used with the Adaptive Triplet frameworks. Otherwise these frameworks do not learn.
- new schedules
MSc. Removals
- All the remaining research code contained in
research/*
has been deleted
Add Examples
- Added an example
docs/examples/extend_experiment
of how to override or extend the disent experiment conifigs! This is useful for creating your own research! - Added an example of plotting various aspects of disent
docs/examples/plotting_examples
.
Fixes
- Fixed tests for new locations
- Added appropriate entries to the registry