diff --git a/knowledges/Intro-Modbus-Diffusion-Tech-Route.md b/knowledges/Intro-Modbus-Diffusion-Tech-Route.md index 62ad67d..6158f3f 100644 --- a/knowledges/Intro-Modbus-Diffusion-Tech-Route.md +++ b/knowledges/Intro-Modbus-Diffusion-Tech-Route.md @@ -73,15 +73,15 @@ #### 2. 技术原理拆解 ##### A. 前向过程 (Forward Process / Diffusion Process) -假设我们有一个真实数据分布 $x_0$(在本论文中是真实的流量矩阵)。我们定义一个马尔可夫链(Markov Chain),在每一步 $t$ 添加少量的高斯噪声。 -* 公式逻辑:$q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t}x_{t-1}, \beta_t I)$ -* 随着步数 $T$ 增加(例如 $T=1000$),原始数据 $x_0$ 最终变成标准的正态分布噪声 $x_T$。 +假设我们有一个真实数据分布 $x_0$ (在本论文中是真实的流量矩阵)。我们定义一个马尔可夫链(Markov Chain),在每一步 $t$ 添加少量的高斯噪声。 +* 公式逻辑: $q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t}x_{t-1}, \beta_t I)$ +* 随着步数 $T$ 增加(例如 $T=1000$ ),原始数据 $x_0$ 最终变成标准的正态分布噪声 $x_T$ 。 * **工程师视角**:这个过程是不含可学习参数的,是固定的数学变换。 ##### B. 反向过程 (Reverse Process / Denoising Process) 这是模型训练的核心。既然我们知道前向过程是加噪声,如果我们能训练一个神经网络 $p_\theta$,让它预测每一步加入了什么噪声,我们就能把它减掉。 -* **目标**:从 $x_T$(纯噪声)开始,通过神经网络预测并减去噪声,逐步得到 $x_{T-1}, \dots, x_0$。 -* **神经网络的作用**:论文中的 **STUnet** 就是这个网络。它的输入是当前时刻的噪声数据 $x_t$ 和时空条件,输出是预测的噪声 $\epsilon_\theta$。 +* **目标**:从 $x_T$ (纯噪声)开始,通过神经网络预测并减去噪声,逐步得到 $x_{T-1}, \dots, x_0$ 。 +* **神经网络的作用**:论文中的 **STUnet** 就是这个网络。它的输入是当前时刻的噪声数据 $x_t$ 和时空条件,输出是预测的噪声 $\epsilon_\theta$ 。 * **损失函数**:通常使用均方误差(MSE)或 L1 损失,计算“预测的噪声”与“实际加入的噪声”之间的差异。 #### 3. 为什么扩散模型优于 GAN? @@ -92,7 +92,7 @@ #### 4. 在本论文中的具体应用 这篇论文巧妙地将扩散模型从“图像生成”迁移到了“时空序列生成”: -* **图像像素 $\rightarrow$ 流量数值**:将基站的流量数据看作一张二维“图像”(时间 $\times$ 空间)。 +* **图像像素 $\rightarrow$ 流量数值**:将基站的流量数据看作一张二维“图像”(时间 $\times$ 空间)。 * **条件引导 (Guidance)**:普通的扩散模型是无条件生成的。STOUTER 使用 **STFFM** 将时空图的 Embedding 作为条件(Condition),告诉扩散模型:“请不要生成任意的噪声,而是生成符合‘周一早上9点商业区’特征的流量数据”。 --- @@ -168,7 +168,7 @@ Modbus 数据不仅包含“流量大小”,更包含了**指令逻辑(Funct **解决方案:嵌入式扩散 (Embedding-based Diffusion)** * **输入向量设计**:对于每个时间步 $t$ 和节点 $i$,输入向量 $x_{t,i}$ 不再是一个标量,而是一个**拼接向量**: - $$x_{t,i} = [\text{Embed}(\text{FunctionCode}) \oplus \text{Embed}(\text{Address}) \oplus \text{Normalize}(\text{Value}) \oplus \text{InterArrivalTime}]$$ + $$x_{t,i} = [\text{Embed}(\text{FunctionCode}) \oplus \text{Embed}(\text{Address}) \oplus \text{Normalize}(\text{Value}) \oplus \text{InterArrivalTime}]$$ * **混合噪声添加**: * 对于连续部分(Value, Time):使用标准高斯噪声。 * 对于离散部分(Func Code, Address):建议将其映射到连续的 Latent Space 后再加噪声,或者使用 **Discrete Diffusion (如 Multinomial Diffusion)** 技术。