更改

添加150字节 、 2026年7月13日 (星期一)
小
添加了动图 realnvp 流过程
第2行: 第2行:     
'''RealNVP'''('''Real-valued Non-Volume Preserving''',实值非体积保持变换)是一类基于标准化流(normalizing flows)的深度生成模型,由 Laurent Dinh、Jascha Sohl-Dickstein 与 Samy Bengio 于 2017 年提出<ref name="Dinh2017">{{cite journal|author1=Dinh L.|author2=Sohl-Dickstein J.|author3=Bengio S.|title=Density Estimation Using Real NVP|journal=International Conference on Learning Representations (ICLR)|year=2017|url=https://arxiv.org/abs/1605.08803}}</ref>。它的核心思想可以直觉地概括为:'''用一个完全可逆的神经网络,把复杂的数据分布一步步"揉"回简单的高斯分布;由于变换可逆,我们既能正向精确计算数据的概率密度,也能反向直接从高斯分布采样生成新数据。'''
 
'''RealNVP'''('''Real-valued Non-Volume Preserving''',实值非体积保持变换)是一类基于标准化流(normalizing flows)的深度生成模型,由 Laurent Dinh、Jascha Sohl-Dickstein 与 Samy Bengio 于 2017 年提出<ref name="Dinh2017">{{cite journal|author1=Dinh L.|author2=Sohl-Dickstein J.|author3=Bengio S.|title=Density Estimation Using Real NVP|journal=International Conference on Learning Representations (ICLR)|year=2017|url=https://arxiv.org/abs/1605.08803}}</ref>。它的核心思想可以直觉地概括为:'''用一个完全可逆的神经网络,把复杂的数据分布一步步"揉"回简单的高斯分布;由于变换可逆,我们既能正向精确计算数据的概率密度,也能反向直接从高斯分布采样生成新数据。'''
−
 
+
[[文件:Realnvp flow anim.gif|缩略图|332x332像素|RealNVP流过程演示]]
 
更形式化地说,RealNVP 将一系列可逆映射 <math>f_1, \dots, f_n</math> 复合为整体变换 <math>f = f_n \circ \cdots \circ f_1</math>,把服从复杂分布的 <math>\mathbf{x}</math> 映射到标准正态分布 <math>\mathbf{z} = f(\mathbf{x}) \sim \mathcal{N}(0, \mathbf{I})</math>。得益于可逆性,生成样本时只需从正态分布采样 <math>\mathbf{z}</math>,再通过逆映射 <math>\mathbf{x} = f^{-1}(\mathbf{z})</math> 还原为数据。而 RealNVP 的关键设计在于:'''每一层变换的雅可比行列式都能高效解析计算''',因此整体对数似然 <math>\log p_X(\mathbf{x})</math> 可直接求出,无需借助变分下界或对抗训练。
 
更形式化地说,RealNVP 将一系列可逆映射 <math>f_1, \dots, f_n</math> 复合为整体变换 <math>f = f_n \circ \cdots \circ f_1</math>,把服从复杂分布的 <math>\mathbf{x}</math> 映射到标准正态分布 <math>\mathbf{z} = f(\mathbf{x}) \sim \mathcal{N}(0, \mathbf{I})</math>。得益于可逆性,生成样本时只需从正态分布采样 <math>\mathbf{z}</math>,再通过逆映射 <math>\mathbf{x} = f^{-1}(\mathbf{z})</math> 还原为数据。而 RealNVP 的关键设计在于:'''每一层变换的雅可比行列式都能高效解析计算''',因此整体对数似然 <math>\log p_X(\mathbf{x})</math> 可直接求出,无需借助变分下界或对抗训练。
   第45行: 第45行:  
</math>
 
</math>
 
|{{EquationRef|1}}}}
 
|{{EquationRef|1}}}}
−
 
+
[[文件:Coupling anim.gif|缩略图|332x332像素|仿射耦合演示]]
 
这里 <math>\mathbf{s}</math>(scale,缩放)和 <math>\mathbf{t}</math>(translation,平移)是两个普通的深度神经网络(通常是 CNN)。<math>\odot</math> 为逐元素乘积。关键直觉在于:'''因为 <math>\mathbf{s}</math> 和 <math>\mathbf{t}</math> 的输入只来自不变的那一半,输出只作用在可变的那一半,整个变换的雅可比矩阵是下三角块结构,行列式就是对角线元素的乘积'''——计算复杂度从 <math>O(D^3)</math> 骤降到 <math>O(D)</math>。更妙的是,逆变换也极其简单:
 
这里 <math>\mathbf{s}</math>(scale,缩放)和 <math>\mathbf{t}</math>(translation,平移)是两个普通的深度神经网络(通常是 CNN)。<math>\odot</math> 为逐元素乘积。关键直觉在于:'''因为 <math>\mathbf{s}</math> 和 <math>\mathbf{t}</math> 的输入只来自不变的那一半,输出只作用在可变的那一半,整个变换的雅可比矩阵是下三角块结构,行列式就是对角线元素的乘积'''——计算复杂度从 <math>O(D^3)</math> 骤降到 <math>O(D)</math>。更妙的是,逆变换也极其简单:
  
50

个编辑