Skip to main content

Sparse Autoencoders for Mitotic Figure Representation via LISTA

Bachelor's thesis exploring whether sparse codes learned unsupervised by a LISTA-based autoencoder capture discriminative signal between mitotic and non-mitotic cells in H&E histology — six configurations combining MSE, MAE and SSIM reconstruction losses with two dictionary sizes on the MIDOG dataset.

Visit website
  • Bachelor Thesis
  • Sparse Coding
  • LISTA
  • Unsupervised Learning
  • PyTorch
Sparse coding decomposition of a mitotic cell patch: original patch, sparse code, reconstruction, and top dictionary atoms

Research Context

Automatic detection of mitotic figures in H&E histopathology images has high clinical relevance for tumour grading, but expert annotation is slow, costly, and subject to considerable inter-observer variability. This thesis asks whether sparse representations learned in a fully unsupervised manner — without ever using class labels during training — can capture information that separates mitotic from non-mitotic cells, evaluated on patches from the MIDOG dataset (26,286 patches across 7 tumour types and 5 scanners).

Model — LISTA Sparse Autoencoder

  • Encoder: Learned ISTA (LISTA) — the classic ISTA sparse coding algorithm unrolled into 3 trainable iterations, replacing the fixed iterative solver with a small learned feedback matrix and per-atom thresholds.
  • Decoder: tied weights — the reconstruction reuses the transposed encoder projection as the synthesis dictionary, halving the parameter count and keeping every code dimension tied to a visualisable dictionary atom.
  • Loss: reconstruction term (MSE, MAE or SSIM) weighted by a centred Gaussian mask, plus an ℓ1 sparsity penalty whose weight is adjusted automatically by a two-phase controller targeting ~50% active code entries.

Experimental Design

Six configurations were trained for 30,000 epochs each, combining three reconstruction losses (MSE, MAE, SSIM) with two dictionary sizes (m = 128 and m = 1024), on a shared 80/20 train/test split. Beyond the final checkpoint, the full training trajectory was reconstructed from automatically logged "jump" checkpoints to catch collapse episodes invisible to a single-checkpoint comparison.

Reconstruction Quality — Final Checkpoint

LossDictionary size (m)SSIM (test)Outcome
MSE1280.566Stable
MAE1280.579Stable
SSIM1280.578Stable
MSE10240.007Collapsed (trivial code)
MAE10240.007Collapsed (trivial code)
SSIM ★10240.718Stable, best overall

Key Findings

  • Scaling the dictionary 8× (m = 128 → m = 1024) is not a gradual trade-off but a qualitative bifurcation that depends entirely on the loss function: MSE and MAE collapse the sparse code to a trivial all-zero output for nearly the whole training trajectory, while SSIM stays stable and even improves reconstruction quality.
  • The collapse traces back to the automatic sparsity controller: its λL1 weight never escapes its seed value once the code degenerates, suggesting the failure may reflect controller calibration rather than an intrinsic property of MSE/MAE.
  • Individual dictionary atoms show statistically detectable, consistent differences in activation between mitotic and non-mitotic classes (Fisher index, ANOVA-F, mutual information) — but this signal is weak against intra-class variance and does not translate into a visible separation in PCA/t-SNE projections of the code space.
  • Stack: Python · PyTorch · NumPy · scikit-learn · Matplotlib