--- license: bsd-3-clause library_name: keras tags: - seti - radio-astronomy - anomaly-detection - beta-vae - random-forest --- # Aetherscan [Breakthrough Listen](https://breakthroughinitiatives.org/initiative/1)'s deep-learning SETI pipeline: a two-stage architecture where a **Beta-VAE encoder** compresses each observation of a 6-observation cadence (3 ON / 3 OFF, ABACAD) into an 8-dimensional latent, and a **Random Forest** classifies the cadence's concatenated latents as a technosignature candidate or not. This repository carries the released model weights at stable filenames, versioned via git tags: training tags match the pipeline run's save tag (e.g. `train_20260101_120000`), and release tags (`vX.Y.Z`) mark blessed weights. **Training tag**: `train_20260729_152426` ## Files | File | Description | |---|---| | `vae_encoder.keras` | Beta-VAE encoder (Keras) — the inference feature extractor | | `vae_decoder.keras` | Beta-VAE decoder (Keras) — for reconstruction/traversal analysis | | `random_forest.joblib` | Random Forest cadence classifier (joblib) | | `config.json` | Full resolved training configuration for this run | ## Training configuration | Parameter | Value | |---|---| | Training rounds | `10` | | Epochs per round | `100` | | Beta-VAE samples per round | `499200` | | Random Forest samples | `99840` | | Curriculum schedule | `exponential` | | SNR base | `10` | | Initial SNR range | `40` | | Final SNR range | `10` | | Latent dimensions | `8` | | Beta (KL weight) | `1.5` | | Alpha (clustering weight) | `10.0` | | RF estimators | `1000` | The complete configuration is in `config.json`. ## Evaluation (validation split) | Metric | Value | |---|---| | ROC AUC | 1.0000 | | Average precision | 1.0000 | | Classification threshold | 0.99 | | Validation samples | 19968 | ## Library versions | Library | Version | |---|---| | python | `3.12.3` | | tensorflow | `2.17.0` | | numpy | `1.26.4` | | scikit-learn | `1.5.2` | | huggingface_hub | `1.21.0` | ## Usage Pin this training tag with `--hf-revision` to download exactly these weights (a bare no-artifact inference download resolves to the latest `vX.Y.Z` release tag instead, never a training tag): ```bash python -m aetherscan.main inference --hf-revision train_20260729_152426 --inference-files ``` ## Links & citation Source code, documentation, and issue tracker: [https://github.com/zachtheyek/Aetherscan](https://github.com/zachtheyek/Aetherscan). If you use Aetherscan in your research, please cite it via the repository's `CITATION.cff`.