Idempotent Generative Network
公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)
目录
0. 摘要
2. 方法
2.1 优化目标
2.2 训练
2.3 架构和优化
4. 实验
5. 相关工作
6. 局限性
0. 摘要
我们提出了一种基于训练神经网络成为幂等的生成式建模新方法。一个幂等运算符是可以按顺序应用而不改变结果超过初始应用的运算符,即 f(f(z)) = f(z)。所提出的模型f被训练成将一个源分布(例如,高斯噪声)映射到一个目标分布(例如,真实图像),使用以下目标:(1)目标分布的实例应映射到它们自身,即 f(x) = x。我们将目标流形定义为通过 f 映射到自身的所有实例的集合。 (2)构成源分布的实例应映射到定义的目标流形。这通过优化幂等性项 f(f(z)) = f(z) 来实现,它鼓励 f(z) 的范围在目标流形上。在理想假设下,这样的过程可以证明收敛到目标分布。这种策略产生了一个能够在一步中生成输出、保持一致的潜在空间,并允许进行逐步优化的模型。此外,我们发现通过处理来自目标和源分布的输入,该模型能够熟练地将损坏或修改的数据投影回目标流形。这项工作是朝着实现一个 “全局投影仪” 的第一步,该投影仪能够将任何输入投影到目标数据分布中。
项目页面:https://assafshocher.github.io/IGN/
(注:ICLR 的一位评审员说 “这个模型并不是一种新的生成模型,而是基于能量的 GAN (EBGAN)的一种特殊形式” )
ICLR OpenReview:https://openreview.net/forum?id=XIaS66XkNA¬eId=Q61U9IJgqP
2. 方法
我们首先介绍我们的生成模型 IGN。它经过训练,可以从源分布 P_z 的输入样本生成目标分布 P_x 的样本。形式上,给定一个由 {x_i} i∈{1,...,n} 组成的示例数据集,其中每个示例都来自 P_x,我们训练一个模型 f,将 P_z 映射到 P_x。我们假设分布 P_z 和 P_x 都在相同的空间中,即它们的实例具有相同的维度。这允许将 f 应用于来自 P_z 和 P_x 的两种类型的实例 z ∼ P_z 和 x ∼ P_x。
接下来,我们描述了优化目标、模型的训练过程、架构以及训练中的实际考虑。
2.1 优化目标
模型的优化目标基于三个主要原则。
- 首先,目标分布的每个数据样本都应该由模型映射到其自身。
- 其次,模型应该是幂等的——连续应用两次应该与一次应用产生相同的结果。
- 第三,映射到自身的实例子集应该尽可能小。
接下来,我们解释这些原则如何被转化为优化目标。
重建目标。我们的第一个目标是重建目标,正如在介绍中所提到的,当每个样本 x ∼ P_x 被映射到其自身时,这个目标就完美实现了:
给定距离度量 D(例如,L2),我们定义某个实例 y 的漂移度量为:
其中 θ 是模型 fθ 的参数。然后,我们试图最小化漂移度量:
真实实例被映射到它们自身的事实激发了我们定义理想估计的目标流形,即由我们的模型映射到自身的所有可能输入的子集:
幂等目标。我们希望 f 将从源分布中抽样的任何实例映射到估计的流形上:
利用方程 4 中的定义,并结合我们在方程 5 中的目标,我们可以定义我们的第二个目标,当完美实现时,我们得到:
这意味着 f 在所有可能的 z ∼ P_z 的域上是幂等的。因此,幂等性目标可以表述如下:
然而,接下来我们将看到,直接优化这种幂等性的公式存在一个需要我们将其拆分为两个独立项的注意事项。
紧致性目标。到目前为止,在目标的公式中,存在一个缺失的联系。如果完美优化重建目标(方程1),则确定所有给定的示例都在估计的流形上。然而,这并不意味着其他实例不在该流形上。一个极端的例子是,如果 f 是恒等映射 f(z) = z ∀z,它完美地满足了两个目标。此外,迄今为止所制定的幂等性目标鼓励流形扩展。
图 2 说明了这个问题。当最小化方程 7 中的幂等性目标时,存在两条不同的梯度流路径,这两条路径在优化时都会起作用。第一条路径,也是期望的路径,是通过修改 f,使 f(z)(图 2 中的红色)更好地映射到当前定义的流形。第二条路径是对于给定的 f(z),使 f(f(z)) 更接近已给定的 f(z)(图 2 中的绿色)。这第二种优化方式实际上是在扩展估计的目标流形,如方程 4 中所定义。
为了减少扩展流形的动机,我们只优化相对于 f 的第一(内部)实例化,同时将第二(外部)实例化视为 f 当前状态的冻结副本。我们用 θ′ 表示f的冻结副本的参数。它们在值上等于 θ,但它们是不同的实体,即相对于 θ 取梯度不会影响 θ′。
我们表示损失期望为
虽然方程 8 防止了对扩展估计流形的鼓励,但这还不够。我们希望尽可能地缩小流形。因此,假设给定 f(z),我们最大化 f(f(z)) 和 f(z) 之间的距离(结合最终的优化目标,最大距离最小化,从而限制流形的大小)。这是仅优化f的第二(外部)实例化,将第一实例化视为冻结副本。我们要最小化的项是
注意,
这引发了一种对抗性的训练方式,将这两个损失一起进行训练。然而,不存在交替优化。所有梯度都在单个步骤中累积在 θ 上。
最终的优化目标。结合上面描述的三个优化项,得到最终的损失:
其中 L_rec(θ) = E_x[D(f_θ(x), x)] 是重建项,λ_i 和 λ_t 分别是幂等和紧致损失项的权重。请注意,虽然将损失分配给 θ′ = θ,但由偏导数构成的梯度仅相对于损失 L_idem(z; θ, θ′) 的原始参数θ。因此,一般的更新规则是:
2.2 训练
对于在计算中出现多次的单个模型 f,我们希望通过对不同实例化的 f 取不同损失的梯度来进行优化。图 2、方程 13 和图 3 共享相同的颜色编码。红色表示通过其第一(内部)实例化来更新 f,通过最小化 δ 来实现。绿色表示通过其第二(外部)实例化来更新 f,通过最大化 δ 来实现;我们研究 δ_θ(f(z)) 的梯度。
梯度的两项例示了对于不同 f 的不同优化目标。通过在第一项上进行梯度上升来优化 L_tight,而通过在第二项上进行梯度下降来优化 L_idem。
对于 L_tight,阻止优化 f 的第一(内部)实例化是简单的。如图 3 所示,可以通过在 f 的两个实例化之间的反向过程中停止梯度来实现,将 f(z) 视为静态输入。然而,这种方法无法应用于 L_idem。方程 13 显示,相对于所需的 f 的第一实例化的梯度,∂δ(f(z)) / ∂f(z) 是使用链式法则通过第二个 ∂δ(f(z)) / ∂f(f(z)) 计算的。为了解决这个问题,图 3 显示我们使用模型的副本,f_copy。它在每次迭代中更新为与 f 相同,但作为一个不同的实体,我们可以通过它进行反向传播而不累积关于其参数的梯度。
图 3 和源码 1 展示了实际进行训练的方式。为了提高效率,我们首先计算 f(z),可以在幂等损失和收紧损失之间共享。在源代码 1 中,我们提供了 IGN 的基本训练 PyTorch 代码。一旦提供了一个模型、一个优化器和一个数据加载器,这是在 MNIST 实验中使用的实际代码。
2.3 架构和优化
网络架构。用于 IGN 的典型模型构建为自编码器。一种可能性是使用现有的 GAN 架构,通过 “翻转” 顺序,使编码器成为鉴别器,其中去掉了二元分类头,而译码器则成为生成器。
收紧损失度量。L_tight 引起的一个不良效果是,即使对于一个相对良好的生成实例,它也受益于大修改。此外,为了增加输入和输出之间的距离而进行优化会鼓励出现高梯度和不稳定性。为了改善这些问题,我们修改了 L_tight 的距离度量并限制其值。我们使用一个平滑的双曲正切夹具(clamp),其值取决于每次迭代的当前重构损失。
使用 ˜Ltight,即前面定义的损失,a ≥ 1 是一个常数比率。其基本原理是,如果在任何给定的时间,一个潜在被映射到了估计的流形之外,我们没有理由继续推动它。
噪声分布。我们发现,当我们采用具有与真实数据相同频率统计信息的噪声而不是标准的高斯噪声时,会出现轻微的改善。我们对一批数据进行快速傅里叶变换(FFT),并对每个频率的实部和虚部取均值和方差。然后,我们使用这些统计信息进行采样,并应用逆 FFT 以获得噪声。图 4 展示了这种噪声的样子。
4. 实验
5. 相关工作
基于能量的模型(Energy Based Models,EBMs)。在基于能量的模型(EBMs;Ackley等人(1985))中,一个函数 f 被明确训练成作为一个能量度量,分配较高的值给非期望示例,为较好拟合模型的示例分配较小的值。IGN 引入了一种类似但不同的范式:与 f 充当能量函数不同,这个角色由 δ(y) = D(f(y), y) 扮演。模型训练 f 成为幂等,目标是最小化 δ(f(z))。一个成功的训练过程会使 f 的范围与由 δ 测量的低能区域对齐(y 与 D(y) 拟合,D 小,对应低能 δ)。这减少了寻找能量最小值的单独优化过程的需求。从另一个角度来看,f 可以被视为一个过渡算子,将高能量输入映射到低能量域。
6. 局限性
模式崩塌。与 GAN 类似,我们的模型可能会经历模式崩塌,并且不保证能够生成整个目标分布。一些方法尝试克服 GAN 中的这种失败模式(Mao等,2019;Durall等,2020)。我们计划研究这些方法是否也适用于我们的生成模型。
模糊性。与 VAE 和其他自编码器类似,我们的模型在生成的样本中存在模糊性。尽管重复应用可以修复图像中的瑕疵,使其看起来更自然,但它们也可能将它们平滑成平均的图像。解决此问题的一种可能方法是将朴素的重建损失替换为感知损失(Johnson等,2016)。另一种解决方案是采用两步法,将我们的模型应用于潜在空间而不是像素(类似于Rombach等,2021)。我们计划在将来的工作中进行研究。