ALAD 算法交互式详解

## 对抗学习与异常检测

ALAD (Adversarially Learned Anomaly Detection) 是一种基于生成对抗网络 (GAN) 思想的强大异常检测算法。它不直接学习“异常”，而是通过一场精心设计的“伪造者”与“鉴定师”的对抗游戏，极致地学习“正常数据”的内在规律。

### 游戏中的玩家

点击卡片了解每个组件的职责。

#### 伪造者团队 (生成器)

目标：学习并模仿真实数据的生成过程，企图以假乱真。

##### 🎨 编码器 (Encoder)

将高维的输入样本（如图片）压缩，并映射到一个低维的潜在表示（特征）。这就像是为一件复杂的文物绘制一幅高度浓缩的“设计草图”。

##### 🎨 解码器 (Decoder)

接收一个潜在变量（无论是真实的还是伪造的），并尝试将其解码、重构为一个与原始数据维度相同的高维样本。这就像是根据“设计草-图”来复原一件文物。

#### 鉴定师团队 (判别器)

三个独立的专家级鉴定师，共同构成强大的防御体系。

##### 🔍 Dxx (数据一致性鉴定师)

负责判断两份“数据”是否都来自真实的分布。

##### 🔍 Dzz (特征一致性鉴定师)

负责判断两份“特征”（潜在向量）是否都来自真实的分布。

##### 🔍 Dxz (匹配度鉴定师)

负责判断一份“数据”和一份“特征”是否是原配。

### 训练博弈：一场精心设计的猫鼠游戏

通过点击按钮，分步观察训练流程中的数据流动和对抗过程。

### 检测模拟：亲手发现异常

拖动下方的“测试点”，观察其重构误差和异常分数的变化。

最终异常分数: 0.00

正常

### 核心公式

算法背后的数学原理。

#### 1. 判别器损失函数

LDxx = E[log Dxx(x,x)] + E[log (1 - Dxx(x,x̂))]

Dzz 和 Dxz 的损失函数形式类似，目标都是最大化对真伪样本的区分能力。

#### 2. 生成器总损失

LGentotal = LGen + λ · LRecon

生成器的目标是欺骗所有判别器（LGen），同时可选地最小化重构误差（LRecon）。

#### 3. 最终异常分数

s(x) = ||Dxx(x,x) - Dxx(x,x̂)||²

异常分数由判别器 Dxx 对“真实-真实”对和“真实-重构”对的打分差异决定。