A bidirectional generative adversarial network (BiGAN) augments a GAN with an encoder E, or inverse mapper, that maps observations into the generator's latent space. The generator G produces realistic data from latent input, while the discriminator D distinguishes real from generated data, often using both observations and latent representations. section 16.2.3
Use the trained networks to estimate whether an observation resembles the learned normal-data distribution:
- Encode a real observation x as E(x), then reconstruct it as G(E(x)). section 16.2.3
- Treat large reconstruction error as evidence that the encoder cannot represent the observation normally. section 16.2.3
Practical detector
PyOD's ALAD detector provides a concise implementation: instantiate ALAD, fit it to X, inspect decision_scores_, and optionally plot learning curves.
